193
Compulsory

When a course instance has been created from a template, the course instance will be in this state

  • Data is usually still incomplete and everything can still be edited.
  • Lecturers or secretaries can move the state forward to Edited.

In dieser Veranstaltung lernen die Teilnehmenden objektorientierte Konzepte anhand der Programmiersprachen Python und Java. Vorkenntnisse sind nicht erforderlich. Zum Abschluss wird ein Programmierprojekt durchgeführt. 

Es werden folgende Themen behandelt:

  • Einführung in die imperative Programmierung mit Python (Datentyp, Operator, Ausdruck, Variable, Zuweisung, Verzweigung, Schleifen, Prozeduren, Rekursion, Ein- und Ausgabe, Fehlerbehandlung)
  • Grundlegende Algorithmen (Sortieralgorithmen, Geometrie) und Algorithmen-Typen (Teile und Herrsche, Backtracking)
  • Laufzeitanalyse von kleinen Programmen und Korrektheitsbeweise mit dem Hoare-Kalkül
  • Maschinelle Modellierung des Berechenbarkeitsbegriffs (Registermaschinen)
  • Objektorientierte Programmierkonzepte (Klassen, Objekte, Referenzen, Methoden, Vererbung, polymorphe Typsysteme, Abstrakte Klassen, Schnittstellen, generische Klassendefinitionen, Kapselung)
  • Einfache Datenstrukturen (einfach und doppelt verkettete Listen, Heap) und deren Implementierung sowie abstrakte Datentypen (Stapel, Schlange)
  • Objektorientierte Modellierungstechniken und grundlegende Entwurfsmuster (Iteratoren, Beobachtermuster, Model-View-Controller usw.)
  • Anwendung der Programmierkenntnisse in einem Projekt

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.

Topics:

  • 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
  • Object-oriented programming concepts (classes, objects, references, methods, inheritance, polymorph type systems, abstract classes, interfaces, template classes, encapsulation)
  • Simple data structures (simple and double linked lists, heap) and their implementation, abstract data types (stack, queue)
  • Object-oriented modelling techniques and basic design patterns (iterator, observer pattern, model-view-controller etc.)
  • Application of programming skills in a project

Cross-language

193 077
Compulsory

Expectant Mother

Not dangerous
Partly dangerous
Alternative Course
Dangerous

Nursing Mother

Not dangerous
Partly dangerous
Alternative Course
Dangerous

AncillaryCourses

Übung zu ProInformatik III: Objektorientierte Programmierung

Expectant Mother

Not dangerous
Partly dangerous
Alternative Course
Dangerous

Nursing Mother

Not dangerous
Partly dangerous
Alternative Course
Dangerous