INF.00685.10 - Konzepte der Programmierung (Complete module description)

INF.00685.10 - Konzepte der Programmierung (Complete module description)

Original version English
INF.00685.10 5 CP
Module label Konzepte der Programmierung
Module code INF.00685.10
Semester of first implementation
Faculty/Institute Institut für Informatik
Module used in courses of study / semesters
  • Bioinformatik (180 LP) (Bachelor) > Bioinformatik Bioinformatik180, Version of accreditation valid from SS 2021 > Informatik (mindestens 10 LP)
  • Bioinformatik (180 LP) (Bachelor) > Bioinformatik Bioinformatik180, Version of accreditation (WS 2007/08 - SS 2012) > Informatik
  • Bioinformatik (180 LP) (Bachelor) > Bioinformatik Bioinformatik180, Version of accreditation (WS 2012/13 - SS 2016) > Informatik
  • Bioinformatik (180 LP) (Bachelor) > Bioinformatik Bioinformatik180, Version of accreditation (WS 2016/17 - SS 2018) > Informatik
  • Bioinformatik (180 LP) (Bachelor) > Bioinformatik Bioinformatik180, Version of accreditation (WS 2018/19 - WS 2022/23) > Informatik
  • Informatik (180 LP) (Bachelor) > Informatik Informatik180, Version of accreditation valid from SS 2021 > Pflichtmodule
  • Informatik (180 LP) (Bachelor) > Informatik Informatik180, Version of accreditation (WS 2006/07 - SS 2012) > Pflichtmodule
  • Informatik (180 LP) (Bachelor) > Informatik Informatik180, Version of accreditation (WS 2012/13 - SS 2016) > Pflichtmodule
  • Informatik (180 LP) (Bachelor) > Informatik Informatik180, Version of accreditation (WS 2016/17 - SS 2018) > Pflichtmodule
  • Informatik (180 LP) (Bachelor) > Informatik Informatik180, Version of accreditation (WS 2018/19 - WS 2022/23) > Pflichtmodule
  • Informatik (Gymnasium) (ELF) (Lehramt) > Informatik Inform (Gymnasium) (ELF), Version of accreditation valid from WS 2012/13 > Pflichtmodule
  • Informatik (Gymnasium) (ELF) (Lehramt) > Informatik Inform (Gymnasium) (ELF), Version of accreditation (WS 2007/08 - SS 2012) > Pflichtmodule
  • Informatik (Gymnasium) (ELF, WLF) (Lehramt) > Informatik Inform (Gymnasium) (ELF, WLF), Version of accreditation (WS 2007/08 - SS 2012) > Pflichtmodule
  • Informatik (Gymnasium) () (Lehramt) > Informatik Inform (Gymnasium), Version of accreditation valid from WS 2012/13 > Pflichtmodule
  • Informatik (Gymnasium) () (Lehramt) > Informatik Inform (Gymnasium), Version of accreditation (WS 2007/08 - SS 2012) > Pflichtmodule
  • Informatik (Gymnasium) (WLF) (Lehramt) > Informatik Inform (Gymnasium) (WLF), Version of accreditation valid from WS 2012/13 > Pflichtmodule
  • Informatik (Gymnasium) (WLF) (Lehramt) > Informatik Inform (Gymnasium) (WLF), Version of accreditation (WS 2007/08 - SS 2012) > Pflichtmodule
  • Informatik (Sekundarschule) (ELF) (Lehramt) > Informatik Informatik (Sekundar) (ELF), Version of accreditation valid from WS 2019/20 > Pflichtmodule
  • Informatik (Sekundarschule) (ELF) (Lehramt) > Informatik Informatik (Sekundar) (ELF), Version of accreditation (WS 2007/08 - SS 2012) > Pflichtmodule
  • Informatik (Sekundarschule) (ELF) (Lehramt) > Informatik Informatik (Sekundar) (ELF), Version of accreditation (WS 2007/08 - WS 2015/16) > Pflichtmodule
  • Informatik (Sekundarschule) (ELF, WLF) (Lehramt) > Informatik Informatik (Sekundar) (ELF, WLF), Version of accreditation (WS 2007/08 - SS 2012) > Pflichtmodule
  • Informatik (Sekundarschule) (ELF, WLF) (Lehramt) > Informatik Informatik (Sekundar) (ELF, WLF), Version of accreditation (WS 2007/08 - WS 2015/16) > Pflichtmodule
  • Informatik (Sekundarschule) () (Lehramt) > Informatik Informatik (Sekundar), Version of accreditation valid from WS 2019/20 > Pflichtmodule
  • Informatik (Sekundarschule) () (Lehramt) > Informatik Informatik (Sekundar), Version of accreditation (WS 2007/08 - SS 2012) > Pflichtmodule
  • Informatik (Sekundarschule) () (Lehramt) > Informatik Informatik (Sekundar), Version of accreditation (WS 2007/08 - WS 2015/16) > Pflichtmodule
  • Informatik (Sekundarschule) (WLF) (Lehramt) > Informatik Informatik (Sekundar) (WLF), Version of accreditation valid from WS 2019/20 > Pflichtmodule
  • Informatik (Sekundarschule) (WLF) (Lehramt) > Informatik Informatik (Sekundar) (WLF), Version of accreditation (WS 2007/08 - SS 2012) > Pflichtmodule
  • Informatik (Sekundarschule) (WLF) (Lehramt) > Informatik Informatik (Sekundar) (WLF), Version of accreditation (WS 2007/08 - WS 2015/16) > Pflichtmodule
  • Mathematik (180 LP) (Bachelor) > Mathematik Mathematik180, Version of accreditation valid from WS 2019/20 > Anwendungsfach Informatik
  • Mathematik (180 LP) (Bachelor) > Mathematik Mathematik180, Version of accreditation (WS 2013/14 - SS 2022) > Anwendungsfach Informatik
  • Mathematik mit Anwendungsfach (180 LP) (Bachelor) > Mathematik Mathematik m. Anw.fach180, Version of accreditation (WS 2006/07 - SS 2013) > Anwendungsfach Informatik
  • Physik und Digitale Technologien (180 LP) (Bachelor) > Physik Physik u. Dig. Tech. 180, Version of accreditation valid from WS 2019/20 > Wahlobligatorische Ergänzungsfächer
  • Wirtschaftsinformatik (Business Information Systems) (180 LP) (Bachelor) > Wirtschaftsinformatik Wirtschaftsinformatik180, Version of accreditation (WS 2006/07 - SS 2008) > II. Wahlbereich
  • Wirtschaftsinformatik (Business Information Systems) (180 LP) (Bachelor) > Wirtschaftsinformatik Wirtschaftsinformatik180, Version of accreditation (WS 2006/07 - SS 2008) > Wahlpflichtmodule II
  • Wirtschaftsinformatik (Business Information Systems) (180 LP) (Bachelor) > Wirtschaftsinformatik Wirtschaftsinformatik180, Version of accreditation (WS 2008/09 - WS 2015/16) > II. Wahlbereich
  • Wirtschaftsinformatik (Business Information Systems) (180 LP) (Bachelor) > Wirtschaftsinformatik Wirtschaftsinformatik180, Version of accreditation (WS 2008/09 - WS 2015/16) > Wahlbereich Informatik II (5. Semester)
Responsible person for this module
Further responsible persons
Prof. Dr. Wolf Zimmermann, Dr. Mandy Weißbach
Prerequisites
Skills to be acquired in this module
  • Die Studierenden verstehen die Grundkonzepte von Programmiersprachen, deren zu Grunde liegenden Paradigmen und sind in der Lage die Grundkonzepte praktisch umzusetzen. Insbesondere sollen die Studierenden in der Lage sein, sich schnell in eine neue Programmiersprache einzuarbeiten und dort schnell programmieren zu können.
  • Die Studierenden sind in der Lage Modelle systematisch in Programme umzusetzen.
  • Die Studierenden sind in der Lage, die Korrektheit von Programmen zu beweisen.
  • Die Studierenden können aus Spezifikationen systematisch korrekte Programme konstruieren.
Module contents
Programmiersprachen haben viele Konzepte gemeinsam, die man für eine schnelle Einarbeitung in eine neue Programmiersprache kennen muss. Deshalb werden hier unterschiedliche Programmierparadigmen behandelt. Jedes dieser Paradigmen ist eng verwandt mit einer Modellierungstechnik, so dass Modelle, die nach einer Modellierungstechnik entstanden sind, systematisch in Programme umgesetzt werden können. Insbesondere können dann solche Programme leicht verifiziert werden, d.h. nachgewiesen werden, dass die Modelle korrekt implementiert wurden.

Grundsätzlich müssen beim Übergang von Modellen zum Programm die Korrektheit der Programme gegenüber den Modellen verifiziert werden. In diesem Modul wird gezeigt, wie für die Modellierungstechniken des Moduls "Mathematische Grundlagen der Informatik und Konzepte der Modellierung" dies erfolgen kann. Dabei werden zunächst Programmierkonzepte, die konzeptuell nahe an den Modellierungstechniken sind, diskutiert sowie gezeigt, wie Programme verifiziert und systematisch konstruiert werden können. Im Einzelnen beinhaltet das Modul die folgenden Themen:
  • Funktionales Programmieren: Funktionale Programmierkonzepte, Verifikation und Validierung funktionaler Programme (Qualitätssicherung), Typkonzept, Transformation von Abstrakten Datentypen in funktionale Programme, Grenzen der Berechenbarkeit
  • ImperativesProgrammieren: Grundlegende Elemente und Konzepte imperativer Sprachen, Verifikation imperativer Programme (Qualitätssicherung), Typkonzept, Schrittweise Verfeinerung zur Konstruktion korrekter Programme, Implementierung abstrakter Datentypen.
  • Objektorientiertes Programmieren: Objekt-orientierte Programmierkonzepte, Typkonzept, Systematische Transformation aus UML-Klassendiagrammen, Verifikation objekt-orientierter Programme (Qualitätssicherung)
  • Logisches Programmieren: Logische Programmierkonzepte, Grundlagen der Logikprogrammierung, SLD-Resolution.
Forms of instruction Lecture (2 SWS)
Exercises (2 SWS)
Course
Languages of instruction German, English
Duration (semesters) 1 Semester Semester
Module frequency jedes Wintersemester
Module capacity unlimited
Time of examination
Credit points 5 CP
Share on module final degree Course 1: %; Course 2: %; Course 3: %.
Share of module grade on the course of study's final grade 1
Reference text
zu den Studienleisungen: (nicht die eigene Lösung erklären können bzw. die Vorstellung ablehnen bedeutet, dass alle Aufgaben der Übungsserie als nicht bearbeitet gelten)
Module course label Course type Course title SWS Workload of compulsory attendance Workload of preparation / homework etc Workload of independent learning Workload (examination and preparation) Sum workload
Course 1 Lecture Vorlesung 2 0
Course 2 Exercises Übung 2 0
Course 3 Course Bearbeitung der Übungsaufgaben/Selbststudium 0
Workload by module 150 150
Total module workload 150
Examination Exam prerequisites Type of examination
Course 1
Course 2
Course 3
Final exam of module
Bearbeitung von mindestens 80% der Übungsaufgaben und auf Anfrage erfolgreiche Vorstellung der Lösung einer bearbeiteten Aufgabe (siehe Hinweise)
mündl. Prüfung oder Klausur
Exam repetition information
Prerequisites and conditions Prerequisites Frequency Compulsory attendance Share on module grade in percent
Course 1 Winter semester No %
Course 2 Winter semester No %
Course 3 Winter semester No %