193
Teilnahmepflicht

Wenn eine Veranstaltungsinstanz aus einer Schablone erstellt wird, befindet sie sich in diesem Zustand.

  • Die Daten sind in der Regel noch nicht vollständig und es kann noch alles bearbeitet werden.
  • Dozenten und Sekretariate können den Zuständ auf Bearbeitet setzen.

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

Sprachübergreifend

193 077
Teilnahmepflicht

Werdende Mütter

Keine Gefährdungen vorliegend
Teilweise Gefährdungen vorliegend
Alternative Lehrveranstaltung
Gefährdungen vorliegend

Stillende Mütter

Keine Gefährdungen vorliegend
Teilweise Gefährdungen vorliegend
Alternative Lehrveranstaltung
Gefährdungen vorliegend

Begleitveranstaltungen

Übung zu ProInformatik III: Objektorientierte Programmierung

Werdende Mütter

Keine Gefährdungen vorliegend
Teilweise Gefährdungen vorliegend
Alternative Lehrveranstaltung
Gefährdungen vorliegend

Stillende Mütter

Keine Gefährdungen vorliegend
Teilweise Gefährdungen vorliegend
Alternative Lehrveranstaltung
Gefährdungen vorliegend