Folgendes ist eine Gliederung, wie ein C++-Tutorial aufgebaut werden könnte:
Block 1: Der Anfang
Dieser Block sollte einen einfachen Einstieg für Programmieranfänger darstellen und ihnen ermöglichen simple Programme zu schreiben.
Theorieblock 1
Vorbereitung
Wieso programmieren Lernen?
Was ist ein Computer? (jetziges c:what)
Was bedeutet Programmieren? (jetziges c:what)
Wie programmieren Lernen? (ähnlich wie c:how)
Wie gehe ich mit Fehlern um?
Wieso C++? (teile von cpp:introduction, ähnlich wie c:why)
Fragen und Antworten zu C++ (teile von cpp:introduction)
Einstieg
Praxis 1
Installation und Einrichtung der Software (c:software, c:compiler:start)
Hello World Programm
Das Hello World programm sollte weniger als Tatsächliches lernen der Sprache gelten, sondern eher dem Testen der Software und Einführung eines „Programmgerüstes“ dienen.
Ausdrücke
Operatoren
Klammern
Literale (light Version)
Anweisungen
Ausgabe (light Version)
Eingabe (very very light Version)
Datentypen (light)
Variablen, Literale (heavy version)
Schleifen und Verzweigungen
Arrays, evtl. C- Strings
Block 2: Vertiefung
Theorieblock 2a
Hardware
Stack (funktionsaufrufe)
Funktionsweise der CPU
Theorieblock 2b
Formattieren von Programmcode
Kommentieren von Programmcode
„good practice“, Konventionen
const correctness
Wiederverwendbarkeit (light Version) (redundanzen vermeiden)
Praxis 2a
Theorieblock 2c
Praxis 2b
Theorieblock 2d
Block 3: Fortgeschrittene Themen
Theorieblock 3
Praxis 3
so, ab hier wirds ein bisschen Schwammig. Liegt ja auch in Ferner zukunft. Aber ich werde es trotzdem versuchen, das weiter zu formulieren.
Block 4: Angewandtes C++
Theorieblock 4
Designmuster
z.B.:
Singleton Klassen
Curriously Recurring Template Pattern
Type Traits
Expression Templates
Eventbasiertes Programmieren
Vorstellung der Boost Bibliothek
Vorstellung eines
GUI Toolkits
Multithreading
Block 5: Das neue C++
Einführung in die Features von C++0x
Praxis 5a: Features
Compilerunterstützung
„Bugfixes“ der Sprache
auto und decltype
variadic templates
initializer lists
Das neue NULL
Const Expressions
Praxis 5b: Die neue Standardbibliothek