Module Leader

Dr Thrishantha Nanayakkara
t.nanayakkara@imperial.ac.uk
+44 (0)20 7594 9235

Learning Outcomes

On successful completion of the module, students should be able to:
  • Understand fundamental algorithms and data structures for programming
  • Recognize and describe common programming constructs in Python
  • Explain and demonstrate how to edit and debug programs
  • Access mathematical functions from a Python module.
  • Form a condition using a boolean expression. This is used to either terminate loops or control if a specific block of code is executed via the if-statement.
  • Learn methods for storing many data elements within a single Python type.
  • Introduction to developing Python functions which allow to execute the same block of code, with different inputs and outputs, from anywhere in the code.
  • Learn the basics of a class (object oriented programming).
  • Learn what instances of a class mean.
  • Learn how to use member functions and variables of a class.
  • Analyse a problem and design a programmatic solution.
  • Critically evaluate programming solutions.
  • Test programs

 

Description of Content

This module aims to introduce students to computer programming. They will learn the Python programming language using the Jupyter Notebook environment.

The module will focus on the fundamental algorithms and data structures that are the foundations of computer programming in any language. By the end of the module students should be able to write moderately complex programs based on the Python language and be able to transition easily to other high-level languages, such as Java, C# .NET, C++, etc.

The idea of this introductory course is to lay a foundation such that the students can undertake independent learning for application-specific programming in their subsequent work. The module teaching style is very hands-on, using a blended/hybrid teaching approach which intertwines short lectures with practical programming exercises.