Zu Hauptinhalt springen

Programmieren in C und C++ (4SWSt, 6 LPs)


C ist nach wie vor eine der am meisten verwendeten Programmiersprachen. In C werden Simulationsprogramme für Höchstleistungsrechner geschrieben, aber auch Mikrocontroller-Steuerungen für Waschmaschinen.

Auch für maschinennahe Programmierung, die z.B. für Gerätetreiber genutzt wird, ist C unverzichtbar. Hält man sich an die Vereinbarungen der ANSI-Norm, sind C Programme portabel und laufen unter einem beliebigen Betriebssystem (Windows, Unix/Linux, Mac, ...). Daneben leiten sich von C dutzende andere Sprachen ab, die auf die jeweiligen Anforderungen ihrer Nischen zugeschnitten sind. Wer C beherrscht, wird sich ohne großen Aufwand in die weit meisten Programmiersprachen einarbeiten können.

C++ ist eine C sehr ähnliche, aber sehr viel mächtigere Sprache. Der Kurs gibt einen kurzen Einblick in C++, kann aber leider nur ein Sprungbrett zum Studium der Sprache C++ bieten.

Wir behandeln im Wesentlichen die klassische, prozedurale Programmierung in C (nach dem Standard C11), die für die meisten Programmieraufgaben den schnellsten Weg zum gewünschten Ziel darstellt. Das im Kurs erworbene Wissen bildet einen idealen Ausgangspunkt für viele Tätigkeiten in Studium und Beruf. Programmierkenntnisse sind in der Wissenschaft zunehmend nicht nur wünschenswert, sondern erforderlich, und die hier gezeigten Techniken sind so gewählt, dass sie auch in anderen Umfeldern von Nutzen sind.


Behandelte Themen

  • Grundbegriffe
    • Vom Bit zur Information
    • Kompilieren und Assemblieren
    • Darstellung von Daten im Arbeitsspeicher, Datentypen
    • Umgang mit der Konsole
    • Variablen, Adressen, Arrays und Strings, Konstanten, Operatoren
    • Abgeleitete Datentypen
  • * Kontrollstrukturen
    • Fallunterscheidungen
    • Schleifen
    • Subroutinen (Funktionen)
  • Dynamische Speicherverwaltung
  • Der C-Präprozessor
  • Dateibearbeitung
  • Fortgeschrittene Programmiertechniken (z.B. verkettete Listen, generische Funktionen)
  • Erste Schritte der objektorientierten Programmierung mit C++

Vorwissen, Voraussetzungen

Vorwissen

Für den Kurs werden keinerlei Kenntnisse in C oder anderen Programmiersprachen vorausgesetzt. Eine gewisse Vertrautheit mit Kommandozeilenprogrammen ist wünschenswert; am ersten Kurstag wird hierzu jedoch auch eine Einführung angeboten.

Voraussetzungen

Es kann sowohl mit dem eigenen Laptop als auch mit den Rechnern im Linux CIP-Pool gearbeitet werden. Eine Anleitung zur Installation der nötigen Programme wird zur Verfügung gestellt. Probleme bei der Installation werden in der ersten Übung gemeinsam behoben.


Kursleistung und Anrechnung

  • Aktive Teilnahme an der Vorlesung und den Übungen
  • Abgabe eines selbstgewählten und selbst umgesetzten Abschlussprojekts nach Absprache mit dem Dozenten. Eine Auswahl an Themenvorschlägen wird gestellt.
  • Die Abgabe des Abschlussprojekts ist bis zu 2 Wochen nach Ende des Blockkurses möglich. Die Abgabefrist im Semesterkurs wird im jeweiligen Gripskurs rechtzeitig bekannt gegeben.
  • Abgabe Ihrer Codes erfolgt über GRIPS.

Materialien zum Kurs

Skript

Über GRIPS wird ein ausführliches Skript zu den behandelten Themen zum Download angeboten. Das dem Kurs zugrundeliegende Skript ist bereits im Voraus über die Mitschriften-Sammlung der Fachschaft Mathe/Physik aufrufbar.

Weiterführende Literatur (Auszug)

  • Brian W. Kernighan and Dennis M. Ritchie, The C Programming Language, Prentice Hall
  • Bjarne Stroustrup: The C++ Programming Language, Addison Wesley.
  • Helmut Erlenkötter: C Programmieren von Anfang an (ISBN: 3499600749)
  • Helmut Erlenkötter, Ludwig Moos: C++. Objektorientiertes Programmieren von Anfang an (ISBN: 3499600773)
  • Andre Willms: C-Programmierung lernen - Anfangen, anwenden, verstehen (ISBN: 3827314054)
  • Andre Willms: C++-Programmierung lernen - Anfangen, anwenden, vestehen (ISBN: 3827313422)

Termine und Anmeldung

Blockkurs

Es wird ein Blockkurs vom 26.09-07.10.2022 angeboten. Dazu frühzeitig in EXA anmelden. Vorlesung jeweils von 9:00 (s.t !)  - 12Uhr, Nachmittags Übung.

Semesterkurs

Die Veranstaltung findet im Wintersemester 2022/23 semesterbegleitend während der Vorlesungszeit in einem wöchentlichen Rhythmus statt. Anmeldung und nähere Informationen finden sich im Vorlesungsverzeichnis (EXA).


Kontakt


Fakultät Physik - Studium

Universitätsstrasse 31
93053 Regensburg


Tel. +49 941 943 2023