ÐÂÏã¸ÛÁùºÏ²Ê¿ª½±½á¹û

XClose

ÐÂÏã¸ÛÁùºÏ²Ê¿ª½±½á¹ûModule Catalogue

Home
Menu

Object-Oriented Programming for Robotics and Artificial Intelligence (COMP0213)

Key information

Faculty
Faculty of Engineering Sciences
Teaching department
Computer Science
Credit value
15
Restrictions
Module delivery for UG (FHEQ Level 5) available on MEng Robotics and Artificial Intelligence.
Timetable

Alternative credit options

There are no alternative credit options available for this module.

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:

  1. Provide students with the enabling knowledge to use fundamental concepts in object-oriented programming to create programs for machine learning applications.
  2. Provide students with an understanding of how to employ standard Python-oriented machine learning toolkits to solve simple ML problems.
  3. 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:

  1. Use basic elements of the Object-Oriented programming paradigm.
  2. Demonstrate the ability to compose these to produce programs that function as intended and deliver machine learning results.
  3. Construct learning systems that enable the creation of optimised models from noisy real-world data as the basis for recognition and automated decision making.
  4. 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

Intended teaching term: Term 1 ÌýÌýÌý Undergraduate (FHEQ Level 5)

Teaching and assessment

Mode of study
In person
Intended teaching location
ÐÂÏã¸ÛÁùºÏ²Ê¿ª½±½á¹ûEast
Methods of assessment
60% Labs, practicals, clinicals
40% Coursework
Mark scheme
Numeric Marks

Other information

Number of students on module in previous year
0
Who to contact for more information
cs.undergraduate-students@ucl.ac.uk

Last updated

This module description was last updated on 8th April 2024.

Ìý