Y2D35 ECTS

Advanced Programming Concepts II

Course description

This course equips students with advanced programming practices essential for deploying and maintaining machine learning applications. Emphasis is placed on writing modular, testable, and well-documented code in collaborative development environments.

Students transition from exploratory notebooks to production-ready Python packages and APIs, applying best practices in software engineering.

Course content

  • Writing Modular and Maintainable Python Code
  • Logging and Error Handling
  • Developing and Publishing Python Packages (Wheels & Source Distributions)
  • CLI Tools and Interfaces
  • API Development with FastAPI
  • Code Documentation and Docstring Standards
  • Code Quality: Linting, Formatting, and Pre-Commit Hooks
  • Unit Testing and Continuous Integration
  • Version Control and Branching Strategies in Git
Prerequisites
  • This course builds on earlier work in which students developed machine learning models for natural language processing (Y2A1) or computer vision (Y2B1). These models will now be prepared for production deployment.
  • Completion of all Year 1 courses in the Applied Data Science & AI programme.
Course coordinator
Dean van Aswegen