Inhaltsverzeichnis

Alle Kapitel aufklappen
Alle Kapitel zuklappen
Wie Sie mit diesem Buch lernen
15
1 Einführung
19
1.1 Programmieren macht Spaß!
19
1.2 Was ist überhaupt Programmieren?
24
1.3 Welche Bereiche der Softwareentwicklung gibt es?
28
1.4 Zusammenfassung
32
1.5 Aufgabe
33
1.6 Kontrollfragen
34
2 Algorithmisches Denken
35
2.1 Computer sind dumm!
35
2.2 Algorithmische Formulierung
35
2.3 Beschreibung des Sachverhalts
39
2.4 Einführung in Sprachelemente
40
2.4.1 Eine erste Algorithmus-Formulierung
41
2.4.2 Elemente eines Algorithmus
47
2.5 Zusammenfassung
93
2.6 Aufgabe
94
2.7 Kontrollfragen
95
3 Die Wahl der Programmiersprache
97
3.1 Kriterien zur Auswahl einer Programmiersprache
97
3.2 Syntaxvergleich
107
3.3 Einführung in Microsoft Visual Studio Express für Windows Desktop
110
3.4 Arbeiten mit Visual Studio
111
3.4.1 Debuggen
116
3.4.2 IntelliSense
118
3.5 Zusammenfassung
119
3.6 Aufgabe
120
3.7 Kontrollfragen
120
4 Vom Text zum Algorithmus
123
4.1 Vom Text zum Algorithmus
123
4.2 Schrittweise verfeinern
127
4.2.1 Die Idee
128
4.2.2 Ein Beispiel
129
4.2.3 Vorteile des Vorgehens
136
4.2.4 Nachteile des Vorgehens
137
4.2.5 Conclusio beim schrittweisen Vorgehen
137
4.3 Zusammenfassung
138
4.4 Aufgabe
139
4.5 Kontrollfragen
140
5 Implementierung
141
5.1 Wörter Umdrehen
141
5.2 Wortquadrat
143
5.3 Balkendiagramm
146
5.4 Zusammenfassung
157
5.5 Aufgaben
158
6 Erweiterte Konzepte
161
6.1 Enumerationen
162
6.2 Strukturen
164
6.3 Exceptions
166
6.4 Klassen
173
6.4.1 Namespaces
177
6.4.2 Klassenmethoden vs. Objektmethoden
181
6.4.3 Das Geheimnisprinzip
183
6.4.4 Eigenschaften
188
6.4.5 Das Schlüsselwort »this«
192
6.4.6 Der Konstruktor
193
6.5 Zusammenfassung
195
6.6 Aufgaben
196
6.6.1 Aufgabe 1: Exception-Handling
196
6.6.2 Aufgabe 2: Exception-Handling
196
6.6.3 Aufgabe 3: Klasse implementieren
197
6.6.4 Aufgabe 4: Klasse implementieren
197
6.7 Kontrollfragen
197
7 Fortgeschrittene und ereignisbasierte Konzepte
199
7.1 Objektorientierte Programmierung
199
7.1.1 Vererbung
200
7.1.2 Polymorphismus
205
7.1.3 Abstraktion
207
7.1.4 Interfaces
216
7.2 Ereignisse
221
7.2.1 Auf Ereignisse reagieren
221
7.2.2 Erstellen von Ereignissen
223
7.2.3 Eigene Ereignisse im Einsatz
225
7.3 Zusammenfassung
225
7.4 Aufgaben
227
7.5 Kontrollfragen
228
8 Notepad selbst gemacht
229
8.1 Einschub: Partielle Klassen
232
8.2 Die Gestaltung der Benutzeroberfläche
233
8.2.1 Starten des Programms
234
8.2.2 Darstellung von Steuerelementen
235
8.2.3 Verwenden von Ereignissen
237
8.3 Programmieren der Funktionalität
238
8.3.1 Ereignisse bei Windows Forms-Anwendungen
239
8.3.2 Dateizugriff und Systemdialoge
239
8.4 Zusammenfassung
241
8.5 Aufgabe
242
8.6 Kontrollfragen
242
9 Gekonnt grafische Anwendungen erstellen
243
9.1 Das Storyboard
244
9.1.1 Gestaltung der MainForm
246
9.2 Der Prototyp
253
9.3 Programmieren der Funktionalität
254
9.3.1 Menü-Event-Handler implementieren
258
9.3.2 Datenhaltung
259
9.3.3 Aufgaben anlegen und bearbeiten
262
9.3.4 Darstellung der Aufgaben in der ListView
268
9.4 Zusammenfassung
274
9.5 Aufgabe
274
9.6 Kontrollfragen
275
10 So gestalten Sie Benutzeroberflächen
277
10.1 Gruppen von Benutzern – oder die Frage nach dem idealen Wetter
277
10.2 Steuerelemente und ihr Einsatz
279
10.2.1 Checkbox
279
10.2.2 CheckedListBox
280
10.2.3 Button
281
10.2.4 Textbox & Label
282
10.2.5 Treeview
283
10.2.6 Listview
284
10.2.7 Menü & Kontextmenü
286
10.2.8 Track Bar (auch Slider genannt)
287
10.2.9 Listbox & Combobox
288
10.3 Standarddialoge
289
10.3.1 Laden & Speichern
289
10.3.2 Drucken
292
10.3.3 Farbwähler
293
10.3.4 Ordner auswählen
294
10.3.5 Schriftart auswählen
295
10.4 Gutes Design
296
10.4.1 Automatisches Anpassen der Größe
297
10.5 Wie hilft die Entwicklungsumgebung?
298
10.6 Zusammenfassung
299
10.7 Aufgabe
300
10.8 Kontrollfragen
300
11 Tipps zum Finden von Fehlern
301
11.1 Fehler sind »Rudeltiere«!
301
11.2 Effizientes Auffinden von Fehlern
302
11.2.1 Tipp 1: In sehr kurzen Zyklen programmieren und testen
302
11.2.2 Tipp 2: Fehler reproduzieren
302
11.2.3 Tipp 3: Der Debugger
303
11.2.4 Tipp 4: Möglichst große Blöcke ausschließen
303
11.2.5 Tipp 5: Kritisch hinterfragen
303
11.2.6 Tipp 6: Die richtigen Werte genau prüfen
304
11.3 Fehler möglichst gut vermeiden
304
11.4 Warum es die fehlerfreie Software nicht gibt
305
11.5 Zusammenfassung
305
11.6 Aufgabe
306
11.7 Kontrollfragen
306
12 Was ist noch hilfreich?
307
12.1 Ein Blatt Papier und ein Bleistift
307
12.2 Repository
307
12.3 Unit-Tests
309
12.4 Freunde zum Testen
314
12.5 Open Source und die Community
315
12.6 Verwenden Sie Bestehendes
316
12.7 Planung
317
12.8 Zusammenfassung
318
12.9 Aufgabe
319
12.10 Kontrollfragen
320
13 War das schon alles?
321
13.1 Nullable-Typen
321
13.2 Das Schlüsselwort var
322
13.3 LINQ
323
13.4 Extension Methods
324
13.5 Lambda-Expressions
326
13.6 Anonyme Typen
328
13.7 Alternativen zu Arrays
330
13.7.1 Liste
330
13.7.2 HashSet
331
13.7.3 SortedList
332
13.7.4 Dictionary
332
13.7.5 SortedDictionary
333
13.7.6 Async/Await
334
13.8 Zusammenfassung
335
13.9 Aufgaben
336
13.10 Kontrollfragen
336
14 Ein Wort zum Schluss
339
A Lösungen der Kontrollfragen und Aufgaben
341
B Literaturverzeichnis
385
Index
387