Dieses Handbuch vermittelt alle Grundlagen der Informationstechnik, die angehende Fachinformatiker in ihrer Ausbildung benötigen: Computerhardware, Betriebssysteme, Netzwerktechnik, -protokolle und -anwendungen sowie Grundlagen der Programmierung, Datenbanken und Multimedia. Mit vielen Prüfungsfragen und Praxisübungen.
Aus dem Inhalt:
Sascha Kersken arbeitet seit vielen Jahren als Trainer für EDV-Schulungen in den Themengebieten Netzwerke und Internet, interaktive Medien und Programmierung. Er hat zahlreiche Bücher für O'Reilly übersetzt.
Materialien zum Buch ... 17
Vorwort ... 19
1. Einführung ... 27
1.1 ... Informationstechnik, Informatik und EDV ... 27
1.2 ... Die Geschichte der Rechenmaschinen und Computer ... 37
1.3 ... Digitale Speicherung und Verarbeitung von Informationen ... 57
1.4 ... Übungsaufgaben ... 61
2. Mathematische Grundlagen ... 65
2.1 ... Einführung in die Logik ... 65
2.2 ... Mengenlehre und diskrete Mathematik ... 78
2.3 ... Mathematische Verfahren im Alltag ... 93
2.4 ... Grundlagen der Stochastik ... 97
2.5 ... Grundlagen der linearen Algebra ... 104
2.6 ... Grundlagen der Analysis ... 118
2.7 ... Informationsspeicherung im Computer ... 123
2.8 ... Übungsaufgaben ... 134
3. Elektronische und technische Grundlagen ... 141
3.1 ... Elektronische Grundlagen ... 141
3.2 ... Automatentheorien und -simulationen ... 149
3.3 ... Übungsaufgaben ... 168
4. Hardware ... 171
4.1 ... Grundlagen ... 171
4.2 ... Die Zentraleinheit ... 175
4.3 ... Die Peripherie ... 203
4.4 ... Übungsaufgaben ... 228
5. Netzwerkgrundlagen ... 235
5.1 ... Einführung ... 235
5.2 ... Funktionsebenen von Netzwerken ... 243
5.3 ... Klassifizierung von Netzwerken ... 252
5.4 ... Netzwerkkarten, Netzwerkkabel und Netzzugangsverfahren ... 261
5.5 ... Datenfernübertragung ... 271
5.6 ... Die TCP/IP-Protokollfamilie ... 275
5.7 ... Übungsaufgaben ... 327
6. Betriebssysteme ... 341
6.1 ... Entwicklung der Betriebssysteme ... 342
6.2 ... Aufgaben und Konzepte ... 350
6.3 ... Windows ... 371
6.4 ... Linux und Unix ... 394
6.5 ... Übungsaufgaben ... 424
7. Grundlagen der Programmierung ... 433
7.1 ... Python ... 435
7.2 ... Java ... 524
7.3 ... Übungsaufgaben ... 569
8. Algorithmen und Datenstrukturen ... 573
8.1 ... Algorithmen erarbeiten und implementieren ... 574
8.2 ... Datensammlungen sortieren ... 581
8.3 ... Nach Daten suchen ... 588
8.4 ... Bäume und Graphen ... 610
8.5 ... Bedingungserfüllungsprobleme ... 632
8.6 ... Übungsaufgaben ... 643
9. Weitere Konzepte der Programmierung ... 645
9.1 ... Reguläre Ausdrücke ... 645
9.2 ... Systemnahe Programmierung ... 663
9.3 ... Einführung in die Netzwerkprogrammierung ... 671
9.4 ... Externe Module und Abhängigkeiten ... 680
9.5 ... Übungsaufgaben ... 690
10. Datenanalyse, Machine Learning, künstliche Intelligenz ... 693
10.1 ... Einführung ... 694
10.2 ... Daten auswählen und aufbereiten ... 699
10.3 ... Konkrete Machine-Learning-Verfahren ... 716
10.4 ... Übungsaufgaben ... 730
11. Software-Engineering ... 733
11.1 ... Überblick ... 734
11.2 ... Werkzeuge ... 750
11.3 ... Übungsaufgaben ... 784
12. Geschäftsprozessanalyse ... 787
12.1 ... Überblick ... 787
12.2 ... Prozesse modellieren mit BPMN ... 793
12.3 ... Übungsaufgaben ... 803
13. Datenbanken ... 805
13.1 ... Die verschiedenen Datenbanktypen ... 806
13.2 ... MySQL - ein konkretes RDBMS ... 820
13.3 ... SQL-Abfragen ... 825
13.4 ... MySQL-Administration ... 838
13.5 ... Grundlagen der Datenbankprogrammierung ... 851
13.6 ... CouchDB im Überblick ... 856
13.7 ... Übungsaufgaben ... 860
14. Server für Webanwendungen ... 865
14.1 ... HTTP im Überblick ... 865
14.2 ... Der Webserver Apache ... 879
14.3 ... PHP installieren und einrichten ... 899
14.4 ... Virtualisierung und Container ... 906
14.5 ... Übungsaufgaben ... 917
15. Weitere Internet-Serverdienste ... 921
15.1 ... Namens- und Verzeichnisdienste ... 921
15.2 ... Die »Meta-Server« inetd und xinetd ... 938
15.3 ... Übungsaufgaben ... 941
16. XML ... 945
16.1 ... Der Aufbau von XML-Dokumenten ... 947
16.2 ... DTDs und XML Schema ... 958
16.3 ... XSLT ... 974
16.4 ... Grundlagen der XML-Programmierung ... 981
16.5 ... Übungsaufgaben ... 987
17. Weitere Datei- und Datenformate ... 993
17.1 ... Textdateien und Zeichensätze ... 993
17.2 ... Binäre Dateiformate ... 1015
17.3 ... Übungsaufgaben ... 1027
18. Webseitenerstellung mit HTML und CSS ... 1031
18.1 ... HTML und XHTML ... 1032
18.2 ... Cascading Style Sheets (CSS) ... 1074
18.3 ... Übungsaufgaben ... 1094
19. Webserveranwendungen ... 1103
19.1 ... PHP ... 1103
19.2 ... Eine REST-API implementieren ... 1171
19.3 ... Übungsaufgaben ... 1200
20. JavaScript und Ajax ... 1203
20.1 ... Grundlagen ... 1204
20.2 ... Das Document Object Model (DOM) ... 1244
20.3 ... Ajax ... 1257
20.4 ... Die JavaScript-Bibliothek React.js ... 1265
20.5 ... Übungsaufgaben ... 1290
21. Computer- und Netzwerksicherheit ... 1293
21.1 ... PC-Gefahren ... 1294
21.2 ... Netzwerk- und Serversicherheit ... 1307
21.3 ... Übungsaufgaben ... 1318
Anhang ... 1321
A. Glossar ... 1321
B. Zweisprachige Wortliste ... 1333
B.1 ... Englisch - Deutsch ... 1333
B.2 ... Deutsch - Englisch ... 1338
C. Kommentiertes Literatur- und Linkverzeichnis ... 1345
C.1 ... Allgemeine Einführungen und Überblicke ... 1345
C.2 ... Mathematische Grundlagen ... 1346
C.3 ... Elektronische und technische Grundlagen ... 1347
C.4 ... Hardware ... 1348
C.5 ... Netzwerkgrundlagen ... 1348
C.6 ... Betriebssysteme ... 1348
C.7 ... Grundlagen der Programmierung ... 1350
C.8 ... Algorithmen und Datenstrukturen ... 1350
C.9 ... Weitere Konzepte der Programmierung ... 1351
C.10 ... Datenanalyse, Machine Learning, künstliche Intelligenz ... 1351
C.11 ... Software-Engineering ... 1353
C.12 ... Geschäftsprozessanalyse ... 1354
C.13 ... Datenbanken ... 1354
C.14 ... Server für Webanwendungen ... 1355
C.15 ... XML ... 1355
C.16 ... Webseitenerstellung mit HTML und CSS ... 1355
C.17 ... Webserveranwendungen ... 1356
C.18 ... JavaScript und Ajax ... 1356
C.19 ... Computer- und Netzwerksicherheit ... 1357
Index ... 1359