VU: Programmieren(4h)


Inhalt: Einführung in das strukturierte und objektorientierte Programmieren mit C++

Vorlesender
(+Übungen KFU): Prof. Gundolf Haase, Heinrichstr. 36, Zi 506, Klappe 5178,
Übungsleiter an TUG:  Rostislav Stanek

Tutorium: Johanna Mayr; im GERAMB

Durchführung:

Modus und Fristen (Empfehlungen zu VU):

Termine des Vorlesungsteils (Fr., 13:00-14:30 im HS 11.02): 

Freitag, 10. März
Einführung in Programmiersprachen und IDEs: Hauptprogramm, Functions Quick & Dirty, Strukturierte Programmierung Q&D,
Freitag, 17. März
loops(0,1,2,3), GenauigkeitGeheimzahl (mit Dokumentation), string, vector (array),
IT-Pionierinnen: Als die Informatik weiblich war.
Freitag, 24. März
Nutzung von vector; verbesserte secret_number-Funktion (doku), dynamische Vektoren in C++, Vektor als Funktionsparameter
Freitag, 31. März
Signatur einer Funktion,  Aufteilung in Header/Source-file; pitfalls in Lösungen (pointer etc., return/break); switch (1,2), File-I/O: intro, copy_file, modul file_io für Vektor-IO;
Freitag, 7. April
Kommandozeilenparameter, vom Pointer zum Iterator, rekursive Bisektion mit Funktionspointer und komfortabler; Variants of to_string; fun with ASCII
Freitag, 28. April
Erste Schritte mit der eigenen Klasse Komplex (+Operatorüberladung)
Freitag, 5. Mai
Klasse Komplex, Klasse Student u.a. Nutzung erster STL-Algorithmen mit Vergleichsoperatoren
Freitag, 12. Mai
Templatefunktionen und -klassen
STL: Vorlesungscode; zum lesen: Container, Algorithmen, Iteratoren, [Quick Ref.];
Freitag, 19. Mai
Klassenhierarchie(code, docu, pdf); zum lesen: Vererbung, virtuelle Methoden, abstrakte Klassen
Freitag, 26. Mai
Herleitung einer Klassenhierarchie mit: virtuellen Methoden, rein virtuellen Methoden, abstrakten Klassen (code)
Freitag, 2. Juni
Abgeleitete Klassen und Polymorphismus (mein script §12.2):
Bemerkungen zum Casting (code); STL mit Employee-Hierarchie (code);
Weiteres Bsp: ohne virtuelle Methoden (bringt nichts), mit virtuellen Methoden (doc), zusätzlich Anwendung der STL (auch mit Liste).
Freitag, 9. Juni
xx
Freitag, 23. Juni
Beispiele:  Form, Sinn von mutable, shallow vs. deep Copy, myvector, Fun),
Test von 2016,
Frag den Vorlesenden: Offene Diskussionsrunde zu C++
Code Quality (fun); ... summer is over,
Freitag, 30. Juni
Test

Termin des Tests:

Fr 30.06.2017, 13:00 - 14:30  an der  KFU: HS 11.02 (KFU-Gruppen)
                                                            KFU: HS 10.11 (TU-Gruppen)
(3 handgeschriebene Blatt Din A4 sind zugelassen, keine elektronischen Geräte, d.h., Handies bleiben in der Tasche!)
Test aus dem SS13


Übungsblätter (jeweils Anwesenheitspflicht bei erster Übung nach dem Abgabetermin):

  1. Demovideo (15.8 MB) zum ersten C++-Programm mit der IDE Code::Blocks (Manual).
    Aufgaben: PDF (Termin: 27.März 2017), Hinweise zu Codeblocks.
  2. Aufgaben: PDF (Termin: 27.März 2017)
  3. Aufgaben: PDF (Termin: 24.April 2017), Regeln für Ihren Code, Hinweise zu doxygen (1, 2, )
  4. Aufgaben: PDF (Termin: 24.April 2017)
  5. Aufgaben: PDF (Termin: 15.Mai 2017)
  6. Aufgaben: PDF (Termin: 15.Mai 2017), input_1_x.txt, input_2_x.txt, modul file_io
  7. Aufgaben: PDF (Termin:  7. Juni 2017), templ_21.cpp, templ_22.cpp
  8. Aufgaben: PDF (Termin:  7. Juni 2017), input_24.txt, Tip zu aktuellem Datum.
  9. Aufgaben: PDF (Termin: 26. Juni 2017)
  10. Eine der folgenden Aufgaben bearbeiten (Termin: 26. Juni 2017) und als bsp_30x mit x aus {a,b,c,d,e} abgeben. 6 Punkte entsprechen 100%, d.h. es gibt aufgabenbezogen Mehr- und Zusatzpunkte.
    1. bsp_30a: Problem des Handlungsreisenden (PDF, Graphen)
    2. bsp_30b: Polynomfaktorisierung (PDF); SystemOfLinearEquations (zip, doc)
    3. bsp_30c: Lineare Algebra (PDF, Matrix und rhs)
    4. bsp_30d: Problem stabiler Beziehungen (PDF, preferences.txt)
    5. bsp_30e: Familienstammbaum (PDF, ex_stamm.txt)
    6. bsp_30f:  Schach (PDF)
    7. bsp_30g: Roller Derby (team1.txt, team2.txt)

Übungsabgabe über Moodle:

Sie müssen Ihre Lösungen über Moodle ("Selbsteinschreibung") abgeben. Hierzu sind entsprechende Themen (Lösungsabgaben) eingerichtet.
Sie müssen die Lösungen für das jeweilige Thema als ein einziges zip-File abgeben welches Ihren Ordner Familienname_Vorname mit den Verzeichnissen bsp_x der abzugebenden Lösungen als zugehörige Unterordner enthält (also die identische Verzeichnisstruktur wie im globalen Abgabeordner), siehe auch die Screenshots (a,b). Wählen Sie als Namen für das zip-File  Familienname_Vorname.zip  .


Skriptum : als PDF   (gedruckte Skripten können für 4 EUR bei Fr. Moser, Heinrichstraße 36/IV, Raum 516 abgeholt werden)

Literaturliste


Mitbeleger anderer Unis: Anleitung

Download des Compilers und Editors für Windows

Für Programmieranfänger:  Blocky Games, im weiteren Scratch mit Examples.

Hilfe: CPlusPlus.com (auf Zahnrad klicken: Code-Editierung/Kompilierung) oder
die deutschsprachige C++-page mit online Code-Editierung/Kompilierung/ausführung, z.B., array.
Siehe auch die Khan Academy und die guten Tuorials unter SoloLearn.

Mein Linux unter Windows: What to Do?   05/17: c't special.
Überleben unter UNIX (Uni-Graz E-Book, html, PDF ) und mehr und noch mehr

Stand: 23.06.2017