Advanced Programming Concepts II

Course Code: Y2D3
ECTS Credits: 5.0


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
  • Developing and Publishing Python Packages
  • CLI Tools and Interfaces
  • API Development with FastAPI
  • Code Documentation and Docstring Standards
  • 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(s)