Image for

Programming in Python

  • Class 15
  • Practice 30
  • Independent work 105
Total 150

Course title

Programming in Python

Lecture type


Course code






Lecturers and associates

Course overview

This module introduces students to Python programming language, a powerful, multi-paradigm, expressive, and multi-domain programming language, with a strong relationship to the industry.

This module is core to several Applied Computer Engineering study programmes and provides the foundation for a number of programming modules that students will take in the following semesters. It gives students the possibility to apply the theory taught in the rest of the programme in practical situations like machine learning, data mining, console application development or data wrangling. Skills learnt in this module will contribute significantly to students’ development as professionals in respecting fields.

Students will learn:
• How to apply procedural programming concepts in a scripting language.
• About object-oriented programming in a scripting language.
• How to apply testing and quality assurance techniques for scripting language.
• How to use custom modules and packages for data visualization.
• How to use networking libraries to access remote resources.

The module is taught in Python programming language. The module assessment is based on solving a series of smaller practical tasks in the defined programming language and software development tool.


Essential reading:
1. Philips, D. (2010) Python 3 Object Oriented Programming. Birmingham: Packt Publishing.

Recommended reading:
1. Lubanovic, B. (2019) Introducing Python: Modern Computing in Simple Packages. 2nd edn. Sebastopol: O’Reilly Media.

Download student guide

Minimal learning outcomes

  • Analyse the concepts of vocabulary, syntax and semantics of a scripting language and distinguish the properties of different types of scripting language data.
  • Define and apply procedural programming concepts in a scripting language.
  • Analyse the logical and physical organization of script programming language code and use existing script programming language libraries.
  • Define and apply the concepts of object-oriented programming in a scripting language and describe the above concepts with a UML class diagram.
  • Analyse differences in data formats and distinguish appropriate data formats with regard to the way they are used using a scripting language.
  • Describe and apply testing and quality assurance techniques for scripting language software.
  • Describe and apply library capabilities for data visualization.
  • Analyse the possibility of using a scripting language in a network domain and define a conceptual OSI model of communication.

Preferred learning outcomes

  • Analyse and define memory model of each data type and computational and memory complexity of functions and methods dealing with certain data types.
  • Apply certain algorithms with procedural programming concepts.
  • Apply the logical and physical organization of script programming language to complex concepts (e.g. packets).
  • Apply certain object-oriented concepts in a scripting language (e.g. iterator, generator).
  • Apply serialization and deserialization to different data types (e.g. binary and text data).
  • Apply and describe data setup before and after testing.
  • Apply libraries for data visualization using object-oriented architecture.
  • Apply networking libraries to fetch remote data and map the data to certain data types of scripting programming language.