5809 Principles of Programming
Anton Yeshchenko, M.Sc.Ph.D.
Contact details
Weekly hours
Language of instruction
02/01/19 to 02/28/19
Registration via LPIS
Notes to the course
Day Date Time Room
Monday 05/06/19 09:00 AM - 11:30 AM D2.0.025 Workstation-Raum
Thursday 05/09/19 02:00 PM - 04:30 PM D2.0.025 Workstation-Raum
Tuesday 05/14/19 09:00 AM - 11:30 AM D2.0.025 Workstation-Raum
Thursday 05/16/19 02:00 PM - 04:30 PM D2.0.025 Workstation-Raum
Monday 05/20/19 09:00 AM - 12:30 PM D2.0.025 Workstation-Raum
Thursday 05/23/19 02:00 PM - 04:30 PM D2.0.025 Workstation-Raum
Tuesday 05/28/19 09:00 AM - 12:30 PM D2.0.025 Workstation-Raum
Monday 06/03/19 09:00 AM - 11:30 AM D2.0.025 Workstation-Raum
Thursday 06/06/19 02:00 PM - 04:30 PM D2.0.025 Workstation-Raum

The content of the Introduction to programming course

software development
programming languages

Structured programming with Python
Variables and primitive data types
control flow

Object-oriented programming and Python
model Abstraction
classes with Behavior / Methods
data encapsulation
data Type access modifiers
implementing relationships between classes
inheritance and polymorphism
abstract classes


Dynamic​ ​data​ ​structures:​ Stacks, Queues, Maps (Dictionaries), Trees

Learning outcomes

After finishing this course the students understand:

-How to design algorithms to solve a particular problem with natural language, the pseudocode or the Python programming language.

-The most important structures and components of the Python programming language.

-They understand the basic concepts of the object-oriented programming paradigm and the differences from the procedural and functional programming paradigms.

In addition, students are able to:

- To use a development environment (IDE).

- Analyze simple programming problems, formulate them into algorithms and pseudocode and implement them with Python source code.

- Get Python source code up and running.

- Represent simple problems in object-oriented design and implement them object-oriented in Python. This includes concepts such as inheritance, interfaces, and the relationships between classes.

- Implement simple data structures such as arrays, maps or linked lists in Python.

- Analyze and understand Python programs.

- Evaluate and critically compare different implementations of an algorithm / problem in terms of their efficiency.

This course promotes the following skills of the students:

- Analyze and interpret problems analytically.

- To be able to work on tasks individually 

Attendance requirements

Attendance is not mandatory, but recommended

Teaching/learning method(s)

The assessment of the students takes place in a separate examination. The main focus of the exam is on the practical ability to solve simple problems.

The students develop some of the theoretical foundations from additional materials during self-study. These basics are deepened during the course and practiced in the computer lab environment.


Registration for the examination is carried out separately and is independent from the enrolment in the lecture. The examination application is obligatory to be able to participate in the examination. 

You will also find a summary of the exam material, exercises and sample exams on the Learn platform.

Duration: 60/75 minutes (4 ECTS / 5 ECTS)

If any questions are still open, please consult the forum on the Learn platform or contact the course management by e-mail. 

The registration for the examination takes place separately. Registration for the exam is independent of the registration for the lecture. 

Examiners: All summer semester dates (beginning, middle and end semester) Institut Neue Medien (Adelsberger). All winter semester dates Institut Informationswirtschaft (Neumaier, Yeshchenko).

      Recommended previous knowledge and skills
      No previous knowledge required
      Last edited: 2018-11-26