E-Book, Deutsch, 439 Seiten
Reihe: Rheinwerk Computing
Boockmeyer / Fischbeck / Neubert Fit fürs Studium – Informatik
2. Auflage 2021
ISBN: 978-3-8362-8603-9
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection
E-Book, Deutsch, 439 Seiten
Reihe: Rheinwerk Computing
ISBN: 978-3-8362-8603-9
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection
So gelingt der Einstieg ins Informatikstudium! Schließen Sie Wissenslücken, die Ihnen im Studium das Leben schwer machen könnten. Dieser Vorkurs präsentiert Ihnen alles Wesentliche Schritt für Schritt, anschaulich und zum Mitmachen. Jedes Kapitel beginnt mit einer Knobelei, die Sie ohne Vorkenntnisse lösen können und die zu einem der Grundkonzepte der Informatik führt. Der Computer kann dabei meist ausgeschaltet bleiben - um einen Algorithmus zu entwerfen, in formale Sprachen einzusteigen oder die Grundlagen der Verschlüsselung zu verstehen, reichen Papier, Bleistift und dieses Buch.
Die Autoren kennen typische Verständnishürden und gehen auch die schwierigen Themen mit Schwung und didaktischem Feingefühl an. Diagramme, Beispiele und Aufgaben mit Lösungen helfen, alles zu verstehen. Mit Grundkenntnissen zu Rechnerarchitekturen, Algorithmen und ihrer Komplexität, formalen Sprachen, objektorientierter Programmierung u. v. m. gehen Sie gut vorbereitet an die Hochschule.
Aus dem Inhalt:
- Algorithmen und ihre Komplexität
- Formale Sprachen
- Rechnerarchitektur
- Datenstrukturen und Codierung
- Wichtiges aus der Mathematik
- Reguläre Ausdrücke
- Verschlüsselung
- Softwareentwicklung im Team
- Künstliche Intelligenz
- Betriebssysteme und Compiler
- Praxiseinstieg in Programmierung mit Java
- Wie werde ich Informatiker?
Die Fachpresse zur Vorauflage:
LINUX MAGAZIN: »Ein umfassender Rundumblick auf das breite und fesselnde Gebiet der Informatik. [Das Buch] macht mit den wichtigsten Themen bekannt und eignet sich besonders dazu, vor Beginn eines einschlägigen Studiums die Grundlagen noch einmal zu wiederholen und eventuell noch vorhandenen Lücken zu schließen.«
Controller Magazin: »Das vorliegende Buch ermöglicht, verlässliche Informatikkenntnisse im Selbststudium zu erarbeiten«
iX - Magazin für professionelle Informationstechnik: »In 21 Kapiteln erklären [die Autoren] anschaulich einige grundsätzliche Bereiches ihres Fachs.«
Arne Boockmeyer ist Doktorand an der Professur für Betriebssysteme und Middleware am Hasso-Plattner-Institut in Potsdam. Er befasst sich mit der Didaktik des Faches Informatik, unterrichtet und betreut Studierende in allen Ebenen des Studiums und forscht im Bereich der Bahn-Digitalisierung und (Co-)Simulation. Er begeistert regelmäßig Schüler für die Informatik und freut sich immer, wenn er seine Faszination weitergeben kann.
Autoren/Hrsg.
Weitere Infos & Material
Geleitwort ... 17 Intro ... 19 1. Algorithmen ... 28 1.1 ... Wo ist der Ausgang des Labyrinths? ... 29 1.2 ... Was ist ein Algorithmus? ... 30 1.3 ... Wie wird ein Algorithmus notiert? ... 32 1.4 ... Schleifen ... 35 1.5 ... Verzweigungen ... 37 1.6 ... Logische Aussagen ... 39 1.7 ... Funktionen ... 43 1.8 ... Zusammenfassung und Einordnung ... 44 2. Zahlen und Kodierungen ... 50 2.1 ... Gib mir 31! ... 51 2.2 ... Zahlensysteme und Einheiten ... 52 2.3 ... Kodierungen ... 56 2.4 ... Zusammenfassung und Einordnung ... 62 3. Datenstrukturen ... 68 3.1 ... Speicherung gleicher Daten ... 69 3.2 ... Geordnete Daten ... 69 3.3 ... Ungeordnete Daten ... 75 3.4 ... Datenzuordnungen ... 77 3.5 ... Zusammenfassung und Einordnung ... 78 4. Einfache Sortieralgorithmen ... 84 4.1 ... Bücher sortieren ... 85 4.2 ... Selection Sort ... 86 4.3 ... Insertion Sort ... 91 4.4 ... Bubble Sort ... 93 4.5 ... Ordnungen ... 96 4.6 ... Zusammenfassung und Einordnung ... 97 5. Komplexität ... 104 5.1 ... Schokolade aufteilen ... 105 5.2 ... Verschiedene Wege führen zum Ziel ... 106 5.3 ... Eingabegröße ... 107 5.4 ... Messen der Laufzeit ... 108 5.5 ... Berechnen der Laufzeit ... 108 5.6 ... Die Landau-Notation ... 111 5.7 ... Typische Laufzeiten ... 114 5.8 ... Zusammenfassung und Einordnung ... 116 6. Effizientere Sortieralgorithmen ... 122 6.1 ... Sortieren im Team ... 123 6.2 ... Merge Sort ... 123 6.3 ... Quick Sort ... 128 6.4 ... Rekursion und Divide and Conquer ... 131 6.5 ... Noch schneller sortieren ... 133 6.6 ... Zusammenfassung und Einordnung ... 136 7. Suchen ... 144 7.1 ... Finden und Sortieren ... 145 7.2 ... Lineare Suche ... 145 7.3 ... Binäre Suche ... 148 7.4 ... Suchbäume ... 151 7.5 ... Zusammenfassung und Einordnung ... 158 8. Backtracking und Dynamische Programmierung ... 164 8.1 ... Das Kistenproblem ... 165 8.2 ... Die perfekte Kiste ... 165 8.3 ... Branch and Bound ... 167 8.4 ... Dynamische Programmierung ... 168 8.5 ... Zusammenfassung und Einordnung ... 170 9. Graphen ... 176 9.1 ... Morgendliches Anziehen ... 177 9.2 ... Verknüpfte Daten ... 178 9.3 ... Varianten von Graphen ... 179 9.4 ... Suchen und Bewegen in Graphen ... 182 9.5 ... Eigenschaften von Graphen ... 187 9.6 ... Zusammenfassung und Einordnung ... 190
10. Formale Sprachen ... 196 10.1 ... Sätze erzeugen ... 197 10.2 ... Grammatiken ... 198 10.3 ... Automaten ... 202 10.4 ... Sprachen und Mengenoperationen ... 206 10.5 ... Reguläre Ausdrücke ... 208 10.6 ... Zusammenfassung und Einordnung ... 210
11. Modellierung ... 216 11.1 ... Das Vereinsfest ... 217 11.2 ... Modellierung und Modelle ... 217 11.3 ... Problemmodellierung ... 219 11.4 ... Prozessmodellierung ... 220 11.5 ... Strukturmodellierung ... 223 11.6 ... Zusammenfassung und Einordnung ... 226
12. Datenbanken ... 232 12.1 ... Max' Lieblingsfilme ... 233 12.2 ... Strukturierte Datenspeicherung ... 235 12.3 ... Operationen auf Datenbanken ... 239 12.4 ... Empfohlene Strukturierung von Daten ... 247 12.5 ... Zusammenfassung und Einordnung ... 251
13. Künstliche Intelligenz ... 260 13.1 ... Mensch gegen Maschine ... 261 13.2 ... Was ist Intelligenz? ... 262 13.3 ... Nachgeahmte Intelligenz ... 265 13.4 ... Maschinelles Lernen ... 272 13.5 ... Anwendungsfelder ... 278 13.6 ... Zusammenfassung und Einordnung ... 282
14. Computer ... 288 14.1 ... Addieren auf Hardware-Ebene ... 289 14.2 ... Logische Schaltungen ... 290 14.3 ... Hardware-Komponenten und ihr Zusammenspiel ... 293 14.4 ... Betriebssysteme ... 296 14.5 ... Betriebssystemunabhängigkeit ... 301 14.6 ... Virtuelle Computer ... 302 14.7 ... Zusammenfassung und Einordnung ... 303
15. Netzwerke ... 308 15.1 ... Die Post des Kanzleramts ... 309 15.2 ... Eine mögliche Lösung für die Poststelle ... 309 15.3 ... Netzwerke ... 311 15.4 ... Internetstruktur ... 314 15.5 ... Einheitliche Kommunikation ... 318 15.6 ... Zusammenfassung und Einordnung ... 321
16. Verschlüsselung ... 326 16.1 ... Fdhvdu ... 327 16.2 ... Warum verschlüsseln? ... 328 16.3 ... Symmetrische Verschlüsselung ... 328 16.4 ... Asymmetrische Verschlüsselung ... 329 16.5 ... Hybridverfahren ... 332 16.6 ... Verschlüsselungen knacken ... 332 16.7 ... Zusammenfassung und Einordnung ... 334
17. Softwareentwicklung ... 338 17.1 ... Algorithmus vs. Software ... 339 17.2 ... Die Werkzeuge eines Softwareentwicklers ... 341 17.3 ... Große Probleme lösen ... 343 17.4 ... Zusammenfassung und Einordnung ... 345
18. Teamarbeit ... 348 18.1 ... Konflikte ... 349 18.2 ... Warum Teams? ... 350 18.3 ... Softwareentwicklung im Team ... 350 18.4 ... Kommunikation in Teams ... 351 18.5 ... Aufgabenverwaltung und Kommunikationswerkzeuge ... 352 18.6 ... Versionsverwaltung ... 353 18.7 ... Zusammenfassung und Einordnung ... 358
19. Fehler ... 362 19.1 ... Auf Fehlersuche ... 363 19.2 ... Warum ist Software fehlerhaft? ... 364 19.3 ... Bugs ... 365 19.4 ... Verschiedene Fehlerarten ... 365 19.5 ... Techniken zur Fehlervermeidung ... 371 19.6 ... Zusammenfassung und Einordnung ... 374
20. Hands-on: Programmieren mit Python ... 378 20.1 ... Die Programmiersprache Python ... 379 20.2 ... Hallo Leser ... 380 20.3 ... Variablen ... 381 20.4 ... Klassen, Objekte und Methoden ... 382 20.5 ... Datentypen ... 386 20.6 ... Kontrollstrukturen ... 393 20.7 ... Fehlersuche ... 396 20.8 ... Eine kleine Werkzeugkiste ... 398
21. Ethik in der Informatik ... 404 21.1 ... Recht und Ordnung ... 405 21.2 ... Informatik in der Wirtschaft ... 407 21.3 ... Der Wert persönlicher Daten ... 409 21.4 ... Gemeingüter und Open Source ... 412 21.5 ... Vertrauen in Informationen ... 415 21.6 ... Verantwortung für Technologie ... 416 21.7 ... IT-Gerechtigkeit ... 419 21.8 ... Der technisierte Mensch ... 420 21.9 ... Zusammenfassung und Einordnung ... 422
22. Extro ... 424 22.1 ... Wie wird man Informatiker*in? ... 425 22.2 ... Ressourcen ... 430 22.3 ... Wie geht es weiter? ... 430 Index ... 433
Intro
Haben Sie sich schon einmal gefragt, warum Sie jetzt ein gedrucktes Buch in den Händen halten können? Wie die Website zum Buch und alle anderen Websites auch programmiert und auf Ihrem Computer angezeigt werden können? Oder vielleicht, wieso eine Office-Anwendung oder ein Computerspiel auf Ihrem Computer ausgeführt werden kann? Die Informatik hat inzwischen einen großen Einfluss auf alle Bereiche unseres Lebens genommen.
Versuchen Sie doch einmal, das Gegenteil zu beweisen: Gehen Sie im Kopf Ihre letzte Woche durch, und schätzen Sie, mit wie vielen Dingen Sie in Kontakt gekommen sind, die keinen Bezug zu Informatik haben. Haben Sie etwas gefunden? Dann lassen Sie uns über ein paar Vorschläge genauer nachdenken:
Dachten Sie an Essen oder Lebensmittel? Die Landwirtschaft ist eine der digitalisiertesten Branchen überhaupt, mit Dutzenden computergesteuerten Systemen zur Qualitätssicherung, automatischen Bewässerung, Schädlingsbekämpfung, Ernteplanung und so weiter. Handelt es sich um ein maschinell hergestelltes Produkt oder überhaupt um ein Produkt, das in irgendeiner Form ausgeliefert wird, so steuert vermutlich ein Computer die Produktion, und mit Sicherheit hat bei der Auslieferung ein Algorithmus dem Paketboten den schnellsten Weg ans Ziel gezeigt.
Vielleicht hatten Sie an ein Musikstück oder einen Film gedacht? Kaum eine Medienproduktion kommt mittlerweile ohne digitale Aufnahme- und Bearbeitungstechnik aus, und selbst ältere Werke wurden längst in Nullen und Einsen überführt, übers Internet verbreitet und für die Ewigkeit archiviert.
Ein Gebäude? Wahrscheinlich hat eine Software den Architekten und den Statiker dabei unterstützt, Planungsfehler zu vermeiden. Wenn das Gebäude etwas neuer ist, werden vielleicht die Heizung und das Licht von einem Computer gesteuert. Wenn es antik ist, wurde es wahrscheinlich schon mit modernster computergestützter Technologie erfasst, um für die Geschichtsforschung neue Erkenntnisse zu gewinnen.
Ein Lebewesen? Informatiker versuchen, von der Natur zu lernen, und entwickeln Algorithmen, die zum Beispiel vom Verhalten von Ameisen inspiriert sind. Auch medizinische Versorgung ohne die automatische Verarbeitung großer Datenmengen wäre heute undenkbar.
Das nächstgelegene Gewässer? Das Wetter? Höchstwahrscheinlich überwachen zu genau diesem Zeitpunkt Dutzende Sensoren den Wasserstand, den Sauerstoffgehalt, die Fließgeschwindigkeit und weitere Werte der Flüsse und Seen in Ihrer Umgebung. Und einige der leistungsstärksten Computer der Welt berechnen gerade Daten für Ihre Wettervorhersage in den nächsten Nachrichten.
Computer und digitale Systeme, so zeigt uns dieses kleine Gedankenspiel, begleiten uns mittlerweile in allen unseren Lebenslagen und sind aus unserer Welt nicht mehr wegzudenken.
Das Buch
Die Informatik ist eine faszinierende Wissenschaft, die unser gesamtes Leben prägt wie kaum ein anderes Fachgebiet. Mit diesem Buch wollen wir Ihnen diese Faszination vermitteln und Sie begeistern und befähigen, ein Studium der Informatik zu beginnen. Sollten Sie daher gerade am Ende Ihrer Schullaufbahn sein und Interesse an einem Informatikstudium haben, ist dieses Buch genau das Richtige für Sie! Das Gleiche gilt, falls die Schulzeit schon etwas länger zurückliegt, und das ganz unabhängig davon, ob Ihnen dort »Informatik« als Fach begegnet ist. Da die einzigen Voraussetzungen zum Lesen einfache Schulmathematik und Spaß am Knobeln und Lösen von logischen Rätseln sind, benötigen Sie keine weiteren Vorkenntnisse, um direkt ins Thema einsteigen zu können. Falls Sie, zum Beispiel aus dem Schulunterricht, einige Informatikkenntnisse mitbringen, hilft Ihnen das Buch dabei, dieses Wissen zu festigen und auszubauen.
Auch ohne Studienpläne sind Sie selbstverständlich herzlich eingeladen, mit diesem Buch einen Einblick in die Informatik zu gewinnen. Unserer Meinung nach gehört ein Grundverständnis digitaler Technologien längst zum wichtigen Allgemeinwissen, und die Denkmuster unserer Wissenschaft sind auch außerhalb der Informatik sehr nützlich. Egal also, ob Sie selbst etwas Informatik lernen möchten oder vielleicht auch als Lehrkraft Ideen für einen ansprechenden Informatikunterricht suchen: Wir sind uns sicher, dass diese Lektüre ein guter Einstieg ist!
Wie liest man dieses Buch?
Mit Ausnahme von ein paar Grundlagen am Anfang ist es nicht notwendig, die Kapitel in der abgedruckten Reihenfolge zu lesen. Ganz im Gegenteil: Sie können frei nach Interesse und Wissensstand Kapitel überspringen oder spätere Kapitel vorziehen.
Wir empfehlen jedoch, auf jeden Fall mit dem ersten Kapitel über Algorithmen zu beginnen, da Sie dort eingeführte Konzepte und Schreibweisen auch später immer wieder benötigen werden. Wenn Sie dann Gefallen an algorithmischem Denken gefunden haben, können Sie dieses in den Kapiteln 2 bis 9 anwenden, denn dort sprechen wir über verschiedene Standardalgorithmen und Analysetechniken der Informatik – sozusagen die Werkzeugkiste eines jeden Informatikers. Kapitel 10, »Formale Sprachen«, macht einen Ausflug in die theoretische Informatik.
In Kapitel 11, »Modellierung«, und Kapitel 12, »Datenbanken«, verlagert sich der Fokus auf die Strukturierung von Problemen, Daten, Prozessen und Systemen. In Kapitel 13, »Künstliche Intelligenz«, beleuchten wir, was es mit künstlicher Intelligenz und maschinellem Lernen auf sich hat. Anschließend steigen wir in die technische Umsetzung ein: Kapitel 14 bis 16 widmen sich der Technik hinter Computern, Netzwerken und sicherer Datenübertragung. Ab Kapitel 17, »Softwareentwicklung«, wird es richtig praktisch, denn dort beschäftigen wir uns mit der Frage, wie eigentlich große und komplizierte Software entwickelt wird. In Kapitel 20, »Hands-on: Programmieren mit Python«, schreiben Sie dann selbst Programme am Computer – hierfür ist es ratsam, zumindest die Grundlagen zu Algorithmen, Datenstrukturen, Objektorientierung, Computern und Softwareentwicklung gelesen zu haben.
Abschließend beschäftigen wir uns in Kapitel 21, »Ethik in der Informatik«, mit ethischen und gesellschaftlichen Fragestellungen: Was darf Informatik alles, und welche Verantwortung tragen wir als Informatiker? Um Ihnen wirklich alles an die Hand zu geben, was Sie für einen erfolgreichen Studienstart benötigen, geben wir Ihnen im Extro noch einen Überblick über Ausbildungswege und mögliche Berufsfelder und verraten, wie ein Informatikstudium eigentlich abläuft.
Die meisten Kapitel fangen mit einer Knobelei an, also einer kleinen Rätselaufgabe, die Sie im Kopf, auf Papier oder mit wenigen Alltagsgegenständen lösen können – insbesondere brauchen Sie außer für Kapitel 20 keinen Computer für die Bearbeitung. Anschließend lösen wir die Knobelei auf und zeigen, welche Konzepte der Informatik sich dahinter verbergen. Stück für Stück führen wir im Hauptteil des Kapitels Begriffe und Techniken ein, die wir am Kapitelende zusammenfassen und in den Gesamtzusammenhang stellen.
Ein paar Aufgaben von einfach bis schwer geben Ihnen dann die Möglichkeit, das Gelesene zu verarbeiten und anzuwenden und zu testen, ob Sie alles verstanden haben. Auch diese Aufgaben können Sie (mit Ausnahme von Kapitel 20) völlig ohne Computer oder andere technische Hilfsmittel bearbeiten.
Folgende Stile und Icons verwenden wir, um Dinge zu kennzeichnen:
-
Aufgaben
Alles, was Aufgaben betrifft, erkennen Sie auf den ersten Blick am schraffierten Seitenrand.Zu Beginn des Kapitels gibt es eine »Knobelei zum Einstieg«, mit der Sie ohne Vorkenntnisse in das Thema des Kapitels einsteigen können.
Am Ende der Kapitel fordern Aufgaben Sie heraus.
[] Manche Aufgaben fordern Sie voraussichtlich mehr als andere. Diesen Aufgaben haben wir nicht nur einen, sondern gleich drei Doktorhütchen vorangestellt.
-
Lösungen
Lösungen finden Sie immer hinter den Aufgaben eines Kapitels; jede Lösung trägt die gleiche Nummer wie die Aufgabe, die sie löst.
-
Begriffe
Begriffe erläutern wir immer im Zusammenhang. Sie erkennen einen neu eingeführten Begriff an der kursiven Schrift.
Kompakt erklärt – bitte genau hinsehen
In diesem Buch lernen Sie viele neue Konzepte, Sachverhalte und Zusammenhänge der Informatik kennen. Manche davon haben wir hervorgehoben, weil Sie bei der Lektüre vielleicht kurz innehalten möchten; denn mit einem Kasten wie diesem unterbrechen wir unseren Gedankengang, um Ihnen wichtige Grundlagen zu vermitteln oder weiterführende Ideen vorzustellen. Diese Textstellen lassen sich zwar leicht wiederfinden, aber wir empfehlen schon beim ersten Lesen ein besonderes Augenmerk.