CS995 – Introduction to Programming Principles

Credits 20
Level 5
Semester 1
Prerequisites N/A
Availability Possible elective
Contact Lectures: 11 | Tutorials: 0 | Labs: 19
Assignment 70 | Self Study: 70
Assessment Exam (50%) and Individual coursework assignment (50%)
Resit The resit assessment will be a lab-based exam (100%)
Lecturer William Bell 

General Aims

The aim of this module is to provide students that have no Computer Science background with coding and IT skills. Students will gain their first programming experience, predominantly in the language of Python. At the end of the module students will understand basic principles and will have developed basic competence in programming in a modern industry standard programming language.

Learning Outcomes

On completion of this class students will understand and be able to use:

  • main control and flow structures of an imperative programming language;
  • simple data elements and basic data structures of an imperative programming language;
  • the main code structure constructs of an imperative programming language.


  • Simple data types (numbers, strings, simple list data structures and booleans)
  • Simple operators (assignment, arithmetic and string manipulation)
  • Control flow (conditional and iteration)
  • Manipulating simple data structures (lists, sets, and dictionaries)
  • Structuring code (functions)
  • Error handing (exceptions)
  • Library classes and Documentation
  • Testing and Debugging
  • Input/Output
  • Pair programming

Recommended Text/Reading*

* This list is indicative only – the class lecturer may recommend alternative reading material. Please do not purchase any of the reading material listed below until you have confirmed with the class lecturer that it will be used for this class.

Python Programming: An Introduction to Computer Science, Third Edition, John Helle, Franklin, Beedle and Associates, 2017. [Library link]

Head first Python: a brain-friendly guide, Second Edition, Paul Barry, O’Reilly, 2017. [Online Access]

Python Documentation: https://docs.python.org/3/