Inhalt
Kurzkommentar |
Link zum Learnweb-Kurs:
https://www.uni-muenster.de/LearnWeb/learnweb2/course/view.php?id=51930 |
Kommentar |
Die Programmiersprachen C und C++ finden weite Verbreitung in Industrie und Forschung. Beispiele für Software, die in C oder C++ geschrieben ist, finden sich viele: Betriebssysteme, Computerspiele oder auch die Steuersoftware für den Marsroboter "Curiosity". Hauptgründe für die Verwendung von C und C++ gegenüber anderen Programmiersprachen sind die hohe Performance und die explizite Kontrolle über viele Aspekte der Programmierung. Während die Programmiersprache C in den 1970er Jahren von Dennis Ritchie als imperative Programmiersprache entwickelt wurde, ist die Programmiersprache C++ erst in den 1980er Jahren entstanden und unterstützt mehrere Programmierparadigmen, unter anderem die objektorientierte Programmierung. Ziel von Bjarne Stroustrup, dem Entwickler von C++, war es eine Programmiersprache zu entwerfen, welche das Programmieren durch Abstraktionen erleichtert ohne die hohe Performance von C zu verlieren. Dieser Kurs wird in die Programmiersprachen C und C++ einführen und richtet sich sowohl an Anfänger als auch an Studierende, die schon einige Erfahrung mit C oder C++ gesammelt haben. Neben grundlegenden werden auch fortgeschrittene Themen behandelt. Da C++ eine Erweiterung von C darstellt, werden wir uns sowohl mit gemeinsamen Konzepten beider Sprachen auseinandersetzen als auch mit Themen, die ausschließlich in C++ eine Rolle spielen.
|
Bemerkung |
Diese Veranstaltung wird allen Informatik-Studierenden welche nicht mit C / C++ vertraut sind empfohlen. In einigen Pflichtveranstaltungen (z.B. Betriebssysteme) und Wahlveranstaltungen (z.B. Computergrafik) sowie in Projektseminaren und in Abschlussarbeiten (Bachelor- sowie Masterarbeiten) werden gute Kenntnisse in C oder C++ vorausgesetzt oder verkürzen die Einarbeitungszeit erheblich. Darüber hinaus werden fundierte Kenntnisse und Erfahrung in C / C++ in der Industrie oft gefordert und immer gern gesehen.
|
Voraussetzungen |
Informatik I und II, Kenntnisse in einer anderen Programmiersprache wie z.B. Java |
Leistungsnachweis |
Dieser Kurs ist Bestandteil des BSc Informatik (nach PO 2014).
Im Studiengang Bachelor Geoinformatik kann dieser Kurs als C/C++ Programmierkurs im Modul Informatik 2 angerechnet werden, allerdings besteht hierfür eine Anwesenheitspflicht (weitere Hinweise beim ersten Kurstermin).
Für alle weiteren Studiengänge wird die Anrechenbarkeit nach Kursbeginn geklärt, kommen Sie diesbezüglich bitte beim ersten Kurstermin auf mich zu. |
Lerninhalte |
- Datentypen, Zeiger, Referenzen, const
- Funktionen, Template Funktionen
- Strukturen (C), Klassen (C++), Vererbung, Mehrfachvererbung
- Speicherverwaltung, malloc/free (C), new/delete new[]/delete[] (C++), Ressourcenbelegung ist Initialisierung (RAII), Intelligente Zeiger (Smart Pointer)
- Template Klassen
- Operator-Überladung, Funktionsobjekte
- Fehlerbehandlung, Ausnahmen (Exceptions)
- C++ Standard Bibliothek
- Zeichenketten (string), lesen/schreiben in Dateien (istream/ostream)
- Container (vector, map, ...), Iteratoren
- Algorithmen (find, sort, transform, ...)
|