====== Einführung in die Programmierung (Wintersemester 2021/22) ====== === Einführung in die Programmierung (Exportvorlesung für ET/IT, IKT, Physik, WiMa) === * Vorlesung (4 SWS) + Übung (2 SWS) + Praktikum (4 SWS) * Veranstalter: [[:staff:zey|Dr. Bernd Zey]] * Die Vorlesung findet statt im Hörsaal 3 des Hörsaalgebäudes 2 (Gebäude 13 im [[https://www.tu-dortmund.de/storages/tu_website/Referat_1/News/2019/2019_10_Oktober/191010_TU_Lageplan_A4_WEB_2019.pdf|Lageplan]]) * Vorlesungszeiten: * Dienstag 12:15 Uhr - 13:45 Uhr * Donnerstag 14:15 Uhr - 15:45 Uhr * Beginn 12.10. * Bitte informieren Sie sich über die aktuellen Corona-Schutzmaßnahmen und die "3G"-Regeln auf der [[https://corona.tu-dortmund.de/|Corona-Seite der TU]] === Materialen: Moodle === Alle Materialen und Informationen sind im Moodle-Raum der Vorlesung zu finden. Zur Anmeldung benötigen Sie Ihren TU-Account (wie bei Ihrer tu-eMail-Adreesse). * [[https://moodle.tu-dortmund.de/course/view.php?id=30987|Moodle-Raum]] * Bitte melden Sie sich alle im Moodle an. Dies gibt uns die Möglichkeit, alle Studierenden per email kontaktieren zu können === Zielgruppen === * BSc Elektro- und Informationstechnik (ET/IT): [[https://www.e-technik.tu-dortmund.de/cms1/Medienpool/Lehre_Studium/Module_Bachelor_ETIT/IF-001.pdf|Pflichtfach (Modul IF-001)]] * BSc Informations- und Kommunikationstechnik (IKT): [[https://www.e-technik.tu-dortmund.de/cms1/Medienpool/Lehre_Studium/Module_Bachelor_IKT/IF-001.pdf|Pflichtfach (Modul IF-001)]] * BSc Physik: [[https://physik.tu-dortmund.de/studium/studiengaenge-und-qualifikation/bachelor-physik/studienverlaufsplan/|Wahlpflichtfach]] * BSc Wirtschaftsmathematik: [[http://www.mathematik.tu-dortmund.de/modulhandbuch/index.php/MAT-107b|Wahlpflicht (Modul MAT 107 b)]] === Inhalt === Die Veranstaltung führt in die Programmierung in C++ sowie in wesentliche Datenstrukturen und Algorithmen ein. * Begriffsklärungen: Informatik allgemein, Teilgebiete der Informatik, Algorithmus; Abgrenzung zu anderen Wissenschaften * Überblick: Rechnerarchitektur und Programmiersprachen; Darstellung von Information * Programmierung in C++: grundlegende Datentypen und -strukturen, Kontrollstrukturen, Zeiger, Funktionen, Klassenkonzept, Vererbung, Polymorphie, Ausnahmebehandlung, Schablonen, Überblick STL * Abstrakte Datentypen: Keller, Schlange, Listen, Binärbaum, Graphen, Komplexe Zahlen * Algorithmen: Suchen, Sortieren, Hashing, Rekursionsprinzip, einfache Graphalgorithmen * Formale Konzepte: Endliche Automaten, Grammatiken * Einführung in die GUI-Programmierung (mit Qt) Zudem werden einige Konzepte der neueren C++-Standards (C++11 et al.) eingeführt. Nach erfolgreichem Abschluss des Moduls sind die Studierenden in der Lage, Algorithmen aus unterschiedlichen Bereichen strukturiert zu entwerfen und in der objektorientierten Programmiersprache C++ umzusetzen. Dabei wählen sie jeweils geeignete Datentypen aus. Sie kennen die Sprachkonstrukte von C++ und beherrschen die Grundkonzepte von objektorientierten Programmiersprachen. Sie können verschiedene Softwarewerkzeuge zur Unterstützung der Programmierung und der Fehlersuche einsetzen. === Literatur === * Folgend eine Auswahl an guten C++-Büchern. In viele Fällen gibt es neue Auflagen * U. Breymann: C++ - Einführung und professionelle Programmierung, 9. Auflage, Hanser Fachbuchverlag 2007. * U. Kaiser und C. Kecher: C++ - Von den Grundlagen zur professionellen Programmierung, 4. Auflage, Galileo Press 2008. * U. Kirch-Prinz, Peter Prinz: C++ lernen und professionell anwenden, 4. Auflage, Vmi Buch 2007. * D. May: Grundkurs Software-Entwicklung mit C++, Vieweg, Wiesbaden, 2003. * A. Willemer: Einstieg in C++, 4. Auflage, Galileo Press 2009. * J. Wolf: C++ von A bis Z - Das umfassende Handbuch, 2. Auflage, Galileo Press 2009. * S.B. Lippmann, J. Lajoie und B.E. Moo: C++ Primer, 4. Auflage (dt. Ausgabe), Addison-Wesley, München, 2006. **Anmerkung: Für den ambitionierten Leser.** * B. Stroustrup: Die C++ Programmiersprache, 4. Auflage, Addison-Wesley, München, 2000. **Anmerkung: Die Referenz. Für Anfänger nicht leicht zu lesen.** * R. Grimm: C++11 > Der Leitfaden für Programmierer zum neuen Standard, Addison-Wesley, München, 2012.