Skip to main content

Unit information: Software Development: Programming and Algorithms in 2021/22

Unit name Software Development: Programming and Algorithms
Unit code EMATM0048
Credit points 20
Level of study M/7
Teaching block(s) Teaching Block 1 (weeks 1 - 12)
Unit director Dr. Abdallah
Open unit status Not open




School/department Department of Engineering Mathematics
Faculty Faculty of Engineering

Description including Unit Aims

The aim of this unit is to provide students with a broad introduction to algorithm design and analysis, essential programming skills (taught in the Python programming language), and contemporary software development and engineering practices.

These core skills are required in order to be able to understand, implement and apply data science techniques across all other units of the programme.

Intended Learning Outcomes

On successful completion of the unit, students will be able to:

  1. Program competently in Python, using procedural, object-oriented, and/or functional techniques as appropriate.
  2. Appreciate the importance of space and time complexity of algorithms and be able to design algorithms, and analyze algorithm complexity at an elementary level using big-O notation.
  3. Effectively identify, deploy, and usefully integrate pre-existing packages of library code
  4. Analyze and interpret data science lifecycle, and understand how to implement each step by appraising, selecting, and applying appropriate tools and techniques.

Teaching Information

Teaching will be delivered through a combination of synchronous and asynchronous sessions, including lectures, practical activities and self-directed exercises.

Assessment Information

Coursework (100%) - 1 Summative Assessment that will assess all ILOs on a selection of different programming tasks.


If this unit has a Resource List, you will normally find a link to it in the Blackboard area for the unit. Sometimes there will be a separate link for each weekly topic.

If you are unable to access a list through Blackboard, you can also find it via the Resource Lists homepage. Search for the list by the unit name or code (e.g. EMATM0048).

How much time the unit requires
Each credit equates to 10 hours of total student input. For example a 20 credit unit will take you 200 hours of study to complete. Your total learning time is made up of contact time, directed learning tasks, independent learning and assessment activity.

See the Faculty workload statement relating to this unit for more information.

The Board of Examiners will consider all cases where students have failed or not completed the assessments required for credit. The Board considers each student's outcomes across all the units which contribute to each year's programme of study. If you have self-certificated your absence from an assessment, you will normally be required to complete it the next time it runs (this is usually in the next assessment period).
The Board of Examiners will take into account any extenuating circumstances and operates within the Regulations and Code of Practice for Taught Programmes.