1 Programmieren 2 (C++)¶
In Sommersemester vertrete ich Prof. Stark in der Vorlesung „Programmieren 2“, in der C++ für Technische Informatiker vermittelt wird. Im wesentlichen wird sich die Veranstaltung an das Konzept von Prof. Stark halten, Übungsaufgaben, jedoch mit ein paar Änderungen bei den globalen Vorgaben:
Wir werden ausschliesslich unter Linux mit dem GNU Compiler arbeiten. Wir brauchen keine integrierte Entwicklungsumgebung, sondern arbeiten mit einem gewöhnlichen Texteditor und verwenden ein Makefile zur Steuerung der Kompilierung. Sie können sich aussuchen, welche der beiden Varianten Sie bevorzugen, um Linux auf Ihrem Rechner laufen zu lassen:
Linux auf der Festplatte in einer eigenen Partition installieren.
Linux in einer virtuellen Maschine auf Windows starten (z.B. mit VirtualBox).
Wir werden statt der grafischen Oberflächenprogrammierung unter Windows das portable Qt GUI Framework verwenden.
Die Vorlesung findet am Mittwoch von 14:00 bis 15:30 und am Donnerstag zur gleichen Zeit im W3.21 statt.
Das Praktikum ist am Donnerstag von 15:40 bis 18:40 im M3.02. Es werden vier Gruppen eingeteilt. Im 14-tägigen Turnus sind die Gruppen 1/2 und 3/4 dran.
Wir haben auch einen Tutor, Herrn Bernhardt,
<Sebastian.Bernhardt@HS-Augsburg.de>
. Das Tutorium findet am Mittwoch nach
der Vorlesung statt.
1.1 Wocheneinteilung¶
20./21. März 2013 (Mittwoch, Donnerstag)
(entfallen wegen Krankheit)
März (nur Mittwoch, Ostern)
3./4. April
10./11. April
April (nur Donnerstag)
24./25. April
(Feiertag) / 2. Mai (entfallen wegen Krankheit)
Mai (Pyramid) / 9. Mai (Feiertag - Christi Himmelfahrt)
15./16. Mai (Do: Studentische Vollversammlung ab 15:40)
22./23. Mai
29./ 30. Mai (Feiertag - Fronleichnam)
5./6. Juni
12./13. Juni
19./20. Juni
26./27. Juni
1.2 Übungsaufgaben¶
Aufgabe 1: 11. April / 18. April
Aufgabe 2: 25. April / 2. Mai
Aufgabe 3: 23. Mai / 13. Juni
Verschoben wegen Feiertag (9. Mai) und Vollversammlung (16. Mai)
Aufgabe : 20. Juni / 27. Juni
1.3 Beispielprogramme, Übungsaufgaben¶
Git (nur-lese Zugriff)
git clone git://elk.informatik.hs-augsburg.de/srv/git/repositories/cpp-fuer-ti
Git Browser
1.4 Freie Tutorials¶
Juan Soulie, C++ Tutorial und Referenz (die Referenz enthält auch viele Beispielprogramme).
http://www.cplusplus.com/doc/tutorial
http://www.cplusplus.com/files/tutorial.pdf
Learn C++
C++ Referenz
C++ Quick Reference von Matt Mahoney
http://www.sourcepole.com/sources/programming/cpp/cppqref.html
Heinz Tschabitscher, Einführung in C++ (Übersetzung des Tutorials von Gordon Dodrill)
Frank B. Brokken, C++ Annotations Version 9.6.0
Tutorials zu bestimmten Themen
Carlos Moreno, Strings and String Manipulation in C++,
Gabriel Fleseriu, C++ Tutorial: A Beginner’s Guide to std::vector, Part 1
Qt4
Der Anfang http://qt-project.org/resources/getting_started
Referenz http://qt-project.org/doc
Foren http://www.qtcentre.org
Tutorial http://www.zetcode.com/gui/qt4
Tutorial http://www.trinitydesktop.org/docs/qt4/examples.html
1.5 Freie Bücher¶
Bruce Eckel, Thinking in C++, 2nd Edition (2 Bände).
Allen B. Downey, How to Think Like a Computer Scientist (C++ Version), 2012.
1.6 Bücher auf Safari¶
Brian Overland, C++ Without Fear: A Beginner’s Guide That Makes You Feel Smart, 2nd edition, Prentice Hall 2011.
http://proquest.tech.safaribooksonline.de/book/programming/cplusplus/9780132762748
Jasmin Blanchette; Mark Summerfield, C++ GUI Programming with Qt 4, 2nd edition, 2008.
http://proquest.tech.safaribooksonline.de/book/programming/cplusplus/9780137143979
Im Anhang D ist eine 25-seitige Einführung in C++ („Introduction to C++ for Java and C# Programmers“).
Paul Deitel, Harvey Deitel, C++ How to Program, 8th edition, Prentice Hall 2011.
http://proquest.tech.safaribooksonline.de/book/programming/cplusplus/9780133378795
Stanley B. Lippman; Josée Lajoie; Barbara E. Moo, C++ Primer, Fifth Edition, Addison-Wesley, 2011.
http://proquest.tech.safaribooksonline.de/book/programming/cplusplus/9780133053043
Marc Gregoire; Nicholas A. Solter; Scott J. Kleper, Professional C++, Second Edition, Wrox Press, 2011.
http://proquest.tech.safaribooksonline.de/book/programming/cplusplus/9781118169933
Stephen Prata, C++ Primer Plus, Sixth Edition, Addison-Wesley 2011.
http://proquest.tech.safaribooksonline.de/book/programming/cplusplus/9780132781145
Scott Meyers, Effective C++: 55 Specific Ways to Improve Your Programs and Designs, Third Edition, Addison-Wesley 2005.
http://proquest.tech.safaribooksonline.de/book/programming/cplusplus/0321334876
Scott Meyers, Effective STL, Addison-Wesley 2001.
http://my.safaribooksonline.com/book/programming/cplusplus/9780321545183
Herb Sutter, Exceptional C++, Addison-Wesley 2004.
http://proquest.tech.safaribooksonline.de/book/programming/cplusplus/0201760428
Herb Sutter, More Exceptional C++, Addison-Wesley 2001.
http://proquest.tech.safaribooksonline.de/book/programming/cplusplus/020170434x
Herb Sutter, Andrei Alexandrescu, C++ Coding Standards: 101 Rules, Guidelines, and Best Practices, Addison-Wesley 2004.
http://proquest.tech.safaribooksonline.de/book/programming/cplusplus/0321113586
Steve Oualline, How Not to Program in C++, No Starch Press, 2003.
http://proquest.tech.safaribooksonline.de/book/-/9781457172403
Steve Oualline, Practical C++ Programming, Second Edition, O’Reilly 2002.
http://proquest.tech.safaribooksonline.de/book/programming/cplusplus/0596004192
Stanley B. Lippman, Essential C++, Addison-Wesley 1999.
http://my.safaribooksonline.com/0201485184 http://proquest.tech.safaribooksonline.de/book/programming/cplusplus/0201485184
Dov Bulka; David Mayhew, Efficient C++, Addison Wesley 1999.
http://my.safaribooksonline.com/book/programming/cplusplus/0201379503