Course Code



2nd Semester

ECTS Credits


Type of Course



Ν. Σγούρος

The Python Programming Language


The aim of the course is to deepen students in methodologies for the development of complex systems using the Python programming language. The course covers methodologies used in a large number of autonomous and interconnected systems. The components and techniques of integrated application development are presented (user interaction, function automation, web and distributed applications, interoperability and security) as well as examples of applications from the areas of business intelligence and notification chain. A brief introduction to the philosophy of quantum computing is given through simple examples in the Python language.

Course Contents

Language Structural Elements

Supported data structures and Python algorithmic structures. Program structure and functions. Vector and object-oriented programming elements. Proper programming techniques in Python. Basic libraries and application development frameworks.

Application development

Development of applications with integration of graphical interfaces. Event driven programming in Python. Creating and using APIs as well as web application development frameworks. Interfacing and handling relational and non-relational databases. Function automation. Use of COM architecture. Use of web services. REST architectures. Highly demanding applications. Application development with support for relational and non-relational databases. Decision support applications for business environments. Examples of application development and web data retrieval, distributed computing environments (Edge computing). 

Development of Complex Systems

Device management and network interaction (IoT). Development of computer network management and surveillance systems, communication protocols. Recommender systems. Development of systems monitoring and evaluation applications. System performance optimization tools and libraries.


Recommended Readings

  • P. Deitel, H. Deitel (2019), Python for Programmers, Pearson Education
  • L. Cassell, A. Gauld (2015), Python Projects, Wiley
  • B. Rhodes, J. Goerzen (2014), Foundations of network programming 3rd edition, Apress
  • J. Papathanasiou, N. Ploskas (2018), Multiple Criteria Decision Aid, Springer