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