Programmieren 1

Übersicht

Semester Winter 2024
ECTS 5
Level Bachelor
Zeit Vorlesung Fr 8:30-10:00
Raum Vorlesung tbd
Zeiten Übung Hörsaalübung Fr 10:15-11:00, Kleingruppen, Tutorien
Raum Hörsaalübung tbd

Beschreibung

Diese Vorlesung führt in das strukturierte Programmieren ein. Programmieren bedeutet, ein Problem so präzise zu beschreiben, dass ein Computer es lösen kann. Im ersten Teil werden wir eine Vorgehensweise kennen lernen, die aus den Schritten Problembeschreibung, Datendefinition, Zweckbeschreibung und Funktionskopf, Beispiele, Implementierung, Test und Überarbeitung besteht. Ausgehend von der Problembeschreibung überlegen wir, wie sich die für das Problem relevanten Informationen aus der realen Welt als Daten im Programm repräsentieren lassen. Die Zweckbeschreibung (z.B. "wandelt Grad Celsius in Grad Fahrenheit um") sagt aus, was das Programm leistet. Der Funktionskopf beschreibt die erforderlichen Eingabewerte und die Art des Ergebnisses. Vorbedingungen beschreiben mögliche Einschränkungen und Nachbedingungen definieren, was das Programm sicherstellt. Beispiele helfen, das Verhalten des Programms zu verstehen (z.B. "gegeben die Eingabe 10, wird die Ausgabe 50 erwartet"). Die Beispiele dienen auch als Testfälle, um die Implementierung zu überprüfen.

Neben dieser Vorgehensweise werden fundamentale Konzepte der Programmierung behandelt (z.B. Iteration, Rekursion, Abstraktion, einfache Datenstrukturen) sowie Methoden, um über die Korrektheit eines Programms systematisch nachzudenken (z.B. Vor- und Nachbedingung, Zusicherungen). Als einführende Programmiersprache werden wir PostFix und im Hauptteil C verwenden. Das Lösen von Programmierproblemen erfordert das Verständnis von Konzepten, aber auch Kreativität und Erfahrung. In den Übungen werden praktische Programmierfertigkeiten erarbeitet und algorithmisches Denken geschult. Dazu gehört z.B., wie man für eine gegebene Aufgabe einen Algorithmus formuliert und geeignete Datenstrukturen auswählt. Aufbauend auf dieser Vorlesung werden in der Anschlussvorlesung Programmieren 2 die Grundzüge der Objektorientierung behandelt.

Lernziele

  • grundlegende Programmierkonzepte und Methoden kennen und verstanden haben
  • algorithmisches Denken einüben
  • Programmierkompetenz und Programmierfertigkeiten erlangen
  • Fähigkeit des systematischen Entwurfs von einfachen Programmen
  • Fähigkeit des Strukturierens von einfachen Programmierproblemen

Materialien

Kursanmeldung und Materialien

Weitere Informationen zu dieser Veranstaltung finden Sie im Vorlesungsverzeichnis. Folien, Übungsblätter und andere Materialien finden Sie auf Stud.IP. Bitte melden Sie Ihre Teilnahme an dieser Veranstaltung auf Stud.IP an.


Ihr Dozent

Prof. Dr. Michael Rohs
Professorinnen und Professoren
Prof. Dr. Michael Rohs
Professorinnen und Professoren
Jan Feuchter
Wissenschaftliche Mitarbeiterinnen und Mitarbeiter
Adresse
Appelstraße 9a
30167 Hannover
Gebäude
Raum
909
Jan Feuchter
Wissenschaftliche Mitarbeiterinnen und Mitarbeiter
Adresse
Appelstraße 9a
30167 Hannover
Gebäude
Raum
909