Description
This is a practical module that builds on the Introduction to Programming module but that introduces object-oriented and further, more advanced, programming concepts using Python 3 as the programming language. Python is, at present, a widely used programming language that is of value for general programming and is widely used within both the robotics and AI communities; this module will use machine learning problems as practical exercises.
Aims:
The aims of this module are to:
- Provide students with the enabling knowledge to use fundamental concepts in object-oriented programming to create programs for machine learning applications.
- Provide students with an understanding of how to employ standard Python-oriented machine learning toolkits to solve simple ML problems.
- Support students in the development of critical analysis to justify the choices made in the selection of techniques applied in creating practical solutions to engineering problems based on a critical assessment of their effectiveness, efficiency, and the limits of their applicability.
Intended learning outcomes:
On successful completion of the module, a student will be able to:
- Use basic elements of the Object-Oriented programming paradigm.
- Demonstrate the ability to compose these to produce programs that function as intended and deliver machine learning results.
- Construct learning systems that enable the creation of optimised models from noisy real-world data as the basis for recognition and automated decision making.
- Explain the rationale behind the choices made in both constructing programs and using machine learning frameworks and reflect on the results.
Indicative content:
The following are indicative of the topics the module will typically cover:
- Object oriented design.
- Abstraction and encapsulation.
- Inheritance.
- Case study.
- Basic Python 3 constructs.
- Lambda functions in Python.
- Objects in Python.
- Classes.
- Modules and packages.
- Exceptions.
- Iteration, map, other built-ins.
- Default arguments, variable numbers of arguments, function arguments.
- Inheritance.
- Polymorphism.
- Abstract classes.
- Design patterns in Python.
- Python for ML/ AI e.g.:
- Scikit-learn.
- Jupyter.
- SciPy, NumPy.
- Matplotlib.
- Pandas.
- Practical ML programming exercise.
Requisite conditions:
To be eligible to select this module as optional or elective, a student must be registered on a programme and year of study for which it is formally available.
Module deliveries for 2024/25 academic year
Last updated
This module description was last updated on 19th August 2024.
Ìý