In this lecture the students learn object-oriented concepts via the programming languges Python and Java. You are welcome without any background knowledge in programming. In the last week a programming project will be conducted.
Introduction in imperative programming with Python (data type, operator, expression, variable, assignment, branching, loops, procedures, recursion, input and output, error handling)
Basic algorithms (sorting, geometry) and types of algorithms (divide and conquer, backtracking)
Runtime analysis of small programs and proofs of correctness with the Hoare-Calculus
Modelling the concept of computability as a register machine