Differences

This shows you the differences between two versions of the page.

Link to this comparison view

teaching:ep1920vorlesung [2020-06-23 15:50] (current)
Horst Schirmeier Teilnehmer wurden per E-Mail informiert
Line 1: Line 1:
 +====== Einführung in die Programmierung (Wintersemester 2019/20) ======
 +=== Exportvorlesung Einführung in die Programmierung (für ET/IT, IKT, Physik, WiMa) ===
 +  * Veranstalter:​ [[https://​ess.cs.tu-dortmund.de/​~hsc|Dr.-Ing. Horst Schirmeier]]
 +  * Vorlesung (4 SWS) + [[:​teaching:​ep1920uebung|Übung (2 SWS)]] + [[:​teaching:​ep1920sopra|Praktikum (4 SWS)]]
 +  * Klausurtermine:​ 05.02.2020 (13-16 Uhr), 19.03.2020 (8-11 Uhr)
 +    * **[[ep1920klausur|Informationen zu den Klausuren]]** (Anmeldung, Ergebnisse, Einsichtnahmetermine)
 +    * **Update 27.02.:** Die Ergebnisse zur Klausur vom 05.02.2020 sind [[https://​www.boss.tu-dortmund.de/​|via BOSS einsehbar]],​ die [[ep1920klausur#​klausur_am_05022020_13-16_uhr_haupttermin|Einsichtnahme findet am 10.03.2020 10-12 Uhr]] statt.
 +    * **Update 15.03.: Wegen der aktuellen Entwicklungen rund um das Coronavirus [[https://​www.tu-dortmund.de/​universitaet/​aktuelles/​detail/​coronavirus-massnahmen-an-der-tu-dortmund/​|sagt die TU Dortmund alle Klausuren bis 19.04.2020 ab]], und damit auch den EidP-Klausur-Nebentermin am 19.03.** ​ -> [[ep1920klausur|weitere Informationen]]
 +    * **Update 15.05.: Die EidP-Klausur vom 19.03. wird am 25.06. 14-17 Uhr nachgeschrieben. Die Anmeldelisten vom März bleiben bestehen. Ob darüber hinaus Nachmeldungen möglich sind, steht noch nicht fest; bei Interesse schreiben Sie bitte bis zum 29.05.2020 [[https://​ess.cs.tu-dortmund.de/​~hsc|dem Dozenten eine E-Mail]].**
 +    * <color #​ed1c24>​**Alle angemeldeten Teilnehmer wurden per E-Mail über die Details zur Klausur informiert. Falls Sie angemeldet sind und keine Informationen bekommen haben, prüfen Sie bitte Ihren Spam-Ordner und/oder [[https://​ess.cs.tu-dortmund.de/​~hsc|melden Sie sich unbedingt beim Dozenten]]!**</​color>​
 +  * **[[:​teaching:​ep1920uebung|Webseite zur Übung]]**, **[[:​teaching:​ep1920sopra|Webseite zum Praktikum]]**
 +  * [[https://​ess.cs.tu-dortmund.de/​KK/​|Kummerkasten]]
 +
 +/* Erster Vorlesungstermin:​ 08.10.2019 */
 +
 +Am **28.01.2020 findet in der Vorlesung eine Wiederholung** besonders gewünschter Themen statt (u.a. DEAs, kontextfreie Grammatiken,​ Polymorphie,​ Zeigerarithmetik).
 +
 +/*
 +<color #​ed1c24>​**Am Donnerstag, den 21.11.2019 (14:​10-15:​40),​ findet statt der Vorlesung eine Probeklausur statt.**</​color>​
 +Damit wir nicht mehr Klausuren drucken als nötig, ist eine [[https://​ess.cs.tu-dortmund.de/​ASSESS/​index.php?​do=exerciselist&​lectureid=372|Anmeldung über ASSESS zwingend erforderlich]].
 +Weitere Details finden sich auf der [[:​teaching:​ep1920uebung|Webseite zur Übung]].
 +*/
 +
 +=== Termine ===
 +
 +^  Tag  ^  Uhrzeit ​ ^  Hörsaal ​ ^
 +|  Dienstag| 12:15 - 13:45 | HG II/HS 3 |
 +|  Donnerstag| <​del>​14:​15 - 15:​45</​del>​ <color #​ed1c24>​**14:​10 - 15:​40**</​color>​ | ::: |
 +
 +=== Zielgruppen ===
 +  * BSc Elektro- und Informationstechnik (ET/IT): [[http://​www.e-technik.tu-dortmund.de/​cms1/​de/​Lehre_Studium/​Studienangebot/​Bachelor_ETIT/​Studienplan_Bachelor_ETIT_neu/​index.html|Pflichtfach (Modul IF-001)]]
 +  * BSc Informations- und Kommunikationstechnik (IKT): [[http://​www.e-technik.tu-dortmund.de/​cms1/​de/​Lehre_Studium/​Studienangebot/​Bachelor_IKT/​Studienplan_Bachelor_IKT_neu/​index.html|Pflichtfach (Modul IF-001)]]
 +  * BSc Physik: [[http://​physik.tu-dortmund.de/​cms/​Medienpool/​Studiengaenge/​Bachelor-of-Science-and-Master-of-Science-Physik/​modulhandbuch_physik.pdf#​page=17|Wahlpflichtfach]]
 +  * BSc Wirtschaftsmathematik <color #​ed1c24>​BPO 2015</​color>:​ [[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.
 +
 +=== Vorlesungsfolien ===
 +Die Folien werden regelmäßig **vor der Vorlesung** hier zum Download bereitgestellt,​ damit sie ausgedruckt und während der Vorlesung mit Notizen versehen werden können.
 +
 +^  Nr.  ^  Thema  ^  Download ​ ^  Aktualisierungen ​ ^
 +|   ​0. ​ | Organisatorisches ​     |  {{:​teaching:​eidp:​vorlesung:​kap00.pdf|PDF}},​ {{:​teaching:​eidp:​vorlesung:​kap00-2x2.pdf|PDF 2x2}}  |  <color #​ed1c24>​10.10.2019:​ Termine Praktikum ET/​IT/​IKT</​color> ​ |
 +|   ​1. ​ | Einleitung ​            ​| ​ {{:​teaching:​eidp:​vorlesung:​kap01.pdf|PDF}},​ {{:​teaching:​eidp:​vorlesung:​kap01-2x2.pdf|PDF 2x2}}  | |
 +|   ​2. ​ | Darstellung von Information ​   |  {{:​teaching:​eidp:​vorlesung:​kap02.pdf|PDF}},​ {{:​teaching:​eidp:​vorlesung:​kap02-2x2.pdf|PDF 2x2}}  | |
 +|       | Codierung von floats ​  ​| ​ {{:​teaching:​eidp:​vorlesung:​kap02-floats.pdf|PDF}} ​ | |
 +|   ​3. ​ | Kontrollstrukturen ​    ​| ​ {{:​teaching:​eidp:​vorlesung:​kap03.pdf|PDF}},​ {{:​teaching:​eidp:​vorlesung:​kap03-2x2.pdf|PDF 2x2}}  | |
 +|   ​4. ​ | Zeiger ​                ​| ​ {{:​teaching:​eidp:​vorlesung:​kap04.pdf|PDF}},​ {{:​teaching:​eidp:​vorlesung:​kap04-2x2.pdf|PDF 2x2}}  | |
 +|   ​5. ​ | Funktionen ​            ​| ​ {{:​teaching:​eidp:​vorlesung:​kap05.pdf|PDF}},​ {{:​teaching:​eidp:​vorlesung:​kap05-2x2.pdf|PDF 2x2}}  | |
 +|   ​6. ​ | Gültigkeitsbereiche ​   |  {{:​teaching:​eidp:​vorlesung:​kap06.pdf|PDF}},​ {{:​teaching:​eidp:​vorlesung:​kap06-2x2.pdf|PDF 2x2}}  | |
 +|   ​7. ​ | Rekursion ​             |  {{:​teaching:​eidp:​vorlesung:​kap07.pdf|PDF}},​ {{:​teaching:​eidp:​vorlesung:​kap07-2x2.pdf|PDF 2x2}}  | |
 +|   ​8. ​ | Klassen ​               |  {{:​teaching:​eidp:​vorlesung:​kap08.pdf|PDF}},​ {{:​teaching:​eidp:​vorlesung:​kap08-2x2.pdf|PDF 2x2}}  | |
 +|   ​9. ​ | Elementare Datenstrukturen ​ |  {{:​teaching:​eidp:​vorlesung:​kap09.pdf|PDF}},​ {{:​teaching:​eidp:​vorlesung:​kap09-2x2.pdf|PDF 2x2}}  | |
 +|  10.  | Vererbung ​             |  {{:​teaching:​eidp:​vorlesung:​kap10.pdf|PDF}},​ {{:​teaching:​eidp:​vorlesung:​kap10-2x2.pdf|PDF 2x2}}  | |
 +|  11.  | Virtuelle Methoden ​    ​| ​ {{:​teaching:​eidp:​vorlesung:​kap11.pdf|PDF}},​ {{:​teaching:​eidp:​vorlesung:​kap11-2x2.pdf|PDF 2x2}}  | |
 +|       | [[https://​stackoverflow.com/​questions/​4842424/​list-of-ansi-color-escape-sequences|ANSI color escape sequences (stack overflow)]],​ [[https://​github.com/​apolukhin/​christmas-tree|Weihnachtsbaum-C++-Quellcode]] |||
 +|  12.  | Ausnahmebehandlung ​    ​| ​ {{:​teaching:​eidp:​vorlesung:​kap12.pdf|PDF}},​ {{:​teaching:​eidp:​vorlesung:​kap12-2x2.pdf|PDF 2x2}}  | |
 +|  13.  | Datenstrukturen & Algorithmen ​     |  {{:​teaching:​eidp:​vorlesung:​kap13.pdf|PDF}},​ {{:​teaching:​eidp:​vorlesung:​kap13-2x2.pdf|PDF 2x2}}  | |
 +|  14.  | Standard Template Library (STL)    |  {{:​teaching:​eidp:​vorlesung:​kap14.pdf|PDF}},​ {{:​teaching:​eidp:​vorlesung:​kap14-2x2.pdf|PDF 2x2}}  | |
 +|  15.  | GUI-Programmierung mit Qt          |  {{:​teaching:​eidp:​vorlesung:​kap15.pdf|PDF}},​ {{:​teaching:​eidp:​vorlesung:​kap15-2x2.pdf|PDF 2x2}}  | |
 +|  16.  | Wiederholung ausgewählter Themen ​  ​| ​ {{:​teaching:​eidp:​vorlesung:​wiederholung.pdf|PDF}},​ {{:​teaching:​eidp:​vorlesung:​wiederholung-2x2.pdf|PDF 2x2}}  | <color #​ed1c24>​28.01.2020:​ 2x Tippfehler Zeiger-Aufgabe</​color> ​ |
 +|       | {{:​teaching:​eidp:​vorlesung:​zeiger.cc|Lösung zur Zeiger-Aufgabe}} |||
 +|  17.  | Besprechung Evaluation, Zusammenfassung,​ Ausblick ​  ​| ​ {{:​teaching:​eidp:​vorlesung:​kap17.pdf|PDF}},​ {{:​teaching:​eidp:​vorlesung:​kap17-2x2.pdf|PDF 2x2}}  | |
 +|       | {{:​teaching:​eidp:​vorlesung:​ws1920-eidp.pdf|Evaluationsergebnisse}} |||
 +
 +
 +=== Literatur ===
 +  * 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. **Anmerkung:​ Enthält alle Neuerungen des neuen Standards. Wir verwenden nur einen winzigen Bruchteil aus diesem Buch.**
 +
  
 
Last modified: 2020-06-23 15:50 by Horst Schirmeier
DokuWikiRSS-Feed