Boockmeyer / Fischbeck / Neubert | Fit fürs Studium – Informatik | E-Book | sack.de
E-Book

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.
Boockmeyer / Fischbeck / Neubert Fit fürs Studium – Informatik jetzt bestellen!

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.

...


Boockmeyer, Arne
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.

Fischbeck, Philipp
Philipp Fischbeck kennt typische Hürden beim Lernen aus seiner Arbeit mit Jugendlichen in Schüler*innen-Workshops und mit Studierenden als Tutor und Dozent am Hasso-Plattner-Institut. Die Interessenschwerpunkte des PhD-Studenten sind Algorithmik und Graphentheorie. Er ist immer wieder begeistert, wenn sich schwierige Themen und Techniken nach etwas Einarbeitungszeit meistern lassen. Wer sich vom Spaß am Problemlösen und Rätseln anstecken lassen möchte, ist bei ihm richtig.

Neubert, Stefan
Stefan Neubert hat zahlreiche Informatik-Workshops und -Camps für Schülerinnen und Schüler entwickelt und durchgeführt. Studierende im Bachelor-Studiengang haben seine langjährige Tätigkeit in der Lehrveranstaltung "Theoretische Informatik" mit einem Lehrpreis belohnt, weil er mit Leidenschaft dafür arbeit, komplexe Themen verständlich zu machen. Der PhD-Student am Hasso-Plattner-Institut schätzt sein Fach auch dafür, dass es Kreativität und Teamfähigkeit erfordert, obwohl das vielleicht oft nicht vermutet wird. Schüler wie Leser schätzen seine verständliche Sprache und anschaulichen Beispiele – vor allem dann, wenn es anspruchsvoller wird.



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.