Principles of Computer Programming (B-KUL-X0A06A)

This is a translated version. Original version in Dutch.
6 ECTSDutch48 First term
POC WIF KULAK

This course offers methods to solve small and medium sized problems an to implement them in a higher programming language. The emphasis is on the aspect of problem solving, not the programming language itself.

Targets:

  • Students should be able to analyse a problem and to propose appropriate data stuctures to represent the problem data.
  • Students should be able to develop solutions for algorithmic problems using the principles of stepwise refinement and the divide-and-conquer principle.
  • Students should be able to implement both iterative and recursive algorithms, and should be able to organise their methods using procedural abstraction.
  • Students should be able to reason about the correctness and finiteness of simple algoritms.
  • Students should have insight in different sorting strategies.
  • Students should be able to grasp the time and space complexity of algorithms.
  • Students should be able to design a class diagram for medium sized problems, and to implement this in an object-oriented programming language.

No prior knowledge is required.


This course unit is a prerequisite for taking the following course units:
H01O9A : Data Base Systems
H01P5B : Computer Architecture and Software Systems

This course is identical to the following courses:
G0N28A : Principles of Computer Programming

Activities

2 ects. Principles of Computer Programming: Exercises 1 (B-KUL-X0A07a)

2 ECTSDutchFormat: Practical22 First term
POC WIF KULAK

Exercises related to lecture 1.

Exercises on Toledo

Students make exercises and solve problem statements related to the topics from the lectures.

0.5 ects. Principles of Computer Programming: Exercises 2 (B-KUL-X0A08a)

0.5 ECTSDutchFormat: Practical4 First term
POC WIF KULAK

Exercises related to lecture 2.

 

Exercises on Toledo

3 ects. Principles of Computer Programming: Lecture 1 (B-KUL-X0C15a)

3 ECTSDutchFormat: Lecture18 First term
POC WIF KULAK

The lectures discuss:

  • Introduction: computer architecture, executing programs, variables, strings, operators, if-then-else
  • Iterations: loops and collections
  • Collections: list, set, dictionary
  • Functions: parameters, local variables, decomposition
  • Problem solving: integrated exercises
  • Recursion: divide-and-conquer, parameter binding
  • Object orientation: basic principles, modelling, inheritance
  • Complexity: time and space complexity: intuitive approach
  • Applications: searching and sorting, rounding errors, simulation and optimisation

All programs are written in Python (v3).

Book: Python for everyone. (Wiley)

0.5 ects. Principles of Computer Programming: Lecture 2 (B-KUL-X0C16a)

0.5 ECTSDutchFormat: Lecture4 First term
POC WIF KULAK

The lectures discuss:

  • Complexity: time and space complexity: formal approach

All programs are written in Python (v3).

Slides on Toledo.

Evaluation

Evaluation: Principles of Computer Programming (B-KUL-X2A06a)

Type : Exam during the examination period
Description of evaluation : Written
Type of questions : Open questions
Learning material : Course material