¹û¶³Ó°Ôº

XClose

¹û¶³Ó°Ôº Module Catalogue

Home
Menu

Introduction to Programming for Robotics and Artificial Intelligence (COMP0204)

Key information

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

Alternative credit options

There are no alternative credit options available for this module.

Description

Aims:

The aims of this module are to:

  • Provide students with the enabling knowledge of fundamental concepts in imperative programming particularly as applied to embedded microcontrollers.
  • Support students in developing problem solving, analysis and decomposing computational problems at a range of scales, selecting appropriate techniques for use in implementing solutions to the problems.
  • Provide students with the tools for the critical analysis of the effectiveness and efficiency of programs produced through appropriate static analysis, testing and run-time performance analysis.
  • Support students to develop a holistic understanding of the practical application of theory and foundational knowledge of AI–based robotic systems (project).
  • Build students’ confidence when liaising with and presenting in future industrial contexts, working with peers and participating in AI–based robotics projects.

Intended learning outcomes:

On successful completion of this module, a student will be able to:

  1. Demonstrate the ability to build programs based on a systematic decomposition of a problem, to debug those programs and to assess their performance.
  2. Design and develop programs to control simple LTI systems both in simulation and reality.
  3. Select and explain the rationale behind the choices made for appropriate techniques for use in implementing solutions to the problems, composing code elements appropriately and debugging the result as necessary.
  4. Demonstrate increasingly developing inventive and creative problem-solving skills through participation in a real-world based project (in relation to relevant and current robotics and AI themes and synthesis of existing knowledge from the programme).
  5. Identify and demonstrate a critical understanding of the role that mathematical and programming knowledge plays in the development and build of AI-based robotic systems.
  6. Demonstrate engagement with reflective and learning as key academic and professional skills.

Indicative content:

This is a practical low-level programming module using C as the programming language. The module will not assume any prior programming experience and will, in any case, focus on running code on microcontrollers and robots. The module will therefore start with the basics of programming and will extend into simple concurrent programming and interactions with real time operating systems of the type found in embedded and robotic systems.

The following are indicative of the topics the module will typically cover:

  • What is programming and how do programming languages work.
  • An introduction to C.
  • Types.
  • Sequence, selection, iteration, recursion.
  • Assignment and variables.
  • Functions and their parameters.
  • Files.
  • Pointers and memory management.
  • Simple RTOS.
  • Concurrent threads, prioritisation.
  • Controlling concurrency; locks and semaphores.
  • Simple concurrent programming: sensing and control.

Requisites:

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 4)

Teaching and assessment

Mode of study
In person
Intended teaching location
¹û¶³Ó°Ôº East
Methods of assessment
80% Clinical, laboratory or practical activity
20% Coursework
Mark scheme
Numeric Marks

Other information

Number of students on module in previous year
52
Module leader
Dr Sophia Bano
Who to contact for more information
cs.undergraduate-students@ucl.ac.uk

Last updated

This module description was last updated on 19th August 2024.

Ìý