Topics
Students will solve object-oriented programming tasks in the Python programming language illustrate program structures with the help of a subset of the Unified Modelling Language
compare the efforts of different algorithms in terms of runtime and memory requirements implement basic combinatorial algorithms, especially search and sort algorithms, binary trees and basic graph algorithms understand and use recursion as a link between mathematical problem descriptions and programming implementation translate recursive problem descriptions into iterative ones
plan and process programming tasks in such a way that they are completed on time.
Syllabus:
L01 Motivation and Logistics L02 Introduction: What does a Computer do
L03 Data Representation and Boolean Algebra
L04 Floating Point numbers
L05 Memory Organisation
L06 Branching and Iterations
L07 Decomposition, Abstraction, and Functions, Tuples, Lists, etc.
L08 Recursion and Dictionaries
L09 Testing, Debugging, Exceptions, and Assertions
L10 Object Oriented Programming
L11 Classes and Inheritance
L12 Program efficency I
L13 Program efficency II
L14 Searching and Sorting
L15 version management and git
L16 API and Libraries
L18 Graphs and graph algorithms
L19 Bellman-Ford
L20 Dijkstra
L21 Dynamic Programming
L21 Hashtables
R01 Revision Q&A
(automatisch geplant, erwartete Hörerzahl original: 300, fixe Veranstaltung: nein)