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 subspecializations of the Applied Computer Engineering study program and provides the foundation for a number of programming modules that students will take in the following semesters. Students learn to apply the theory taught in the rest of the program in practical situations like machine learning, data mining, console application development, or data wrangling. Skills learned in this module will contribute significantly to students’ development as professionals in respected 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 the 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 the 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.


1. Preface
2. Introduction to Python
3. Built-in basic data types
4. Conditional statements
5. Loops
6. Data collections
7. Functions
8. Modularity
9. Files
10. Object-Oriented Programming
11. Testing
12. Data visualization
13. Network domain Programming


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.

Minimal learning outcomes

  • Analyse the concepts of vocabulary (lexical), 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.
Preuzmi vodič za studente