On completion of the course the student shall be able to:
explain the fundamental concepts module, function, class, object and related sub concepts;
analyse and solve problems using programming constructions;
explain what a Python program does;
use existing modules and write programs in Python containing several concurrent components;
write program with several coupled classes;
use a programming environment;
test and debug a program.
Introduction to programming: the purpose of programming, programming in a context e.g. through applications, programmer's perspective on a computer system, programming environments.
Algorithms: the program as an algorithm, the difference between algorithms in real-life vs. in a computer program.
Structure of code: the concept module, function, class, object, scope (including to distinguish between the scopes local, global, class, instance).
Algorithm components: assignment, sequence, selection, iteration. Arithmetic and logical expressions, terminal I/O. Typical idioms in Python.
Programming: write programs, functions, classes and to use existing modules. The program flow.
Programming techniques: implementation, testing, debugging and documentation.
Lectures, problem classes and computer lab, assignments.
Written examination (2 credits) and approved assignments (3 credits).
If there are special reasons for doing so, an examiner may make an exception from the method of assessment indicated and allow a student to be assessed by another method. An example of special reasons might be a certificate regarding special pedagogical support from the disability coordinator of the university.