Einleitung
Das Ziel dieses Buches ist es, eine Grundbildung in Informatik zu
vermitteln, die den Einstieg in das Studium der Informatik und
benachbarter Fächer erleichtern soll. Es wendet sich vor allem an
Leserinnen und Leser, die keinen durchgängigen
Informatikunterricht an der Schule haben oder hatten. Aber auch
für diejenigen, die schon gute Kenntnisse der Informatik haben,
sind Kapitel enthalten, die fortgeschrittenere Themen aufgreifen.
Im Folgenden wird zunächst eine übersicht über die Inhalte und
Lernziele gegeben. Es folgen Hinweise zur Verwendung des Buches.
Diese gehen von zwei wesentlichen Einsatzmöglichkeiten aus: dem
begleitenden Lehrbuch für einen Vorkurs Informatik und der
Grundlage zum selbstständigen Studium.
Inhalt und Lernziele
Das Buch gliedert sich in drei Teile:
- Programmierung
- Algorithmen und Datenstrukturen
- Vom Programm zum Rechner
Die Teile sind so angelegt, dass Teil 2 und Teil 3 unabhängig
voneinander sind, d.h. Teil 2 muss nicht gelesen werden, um Teil 3
zu verstehen.
Lernziele des Teils über
Programmierung sind
- Grundfähigkeiten zum Entwurf von Algorithmen als Lösung zu einem Problem
- Grundfähigkeiten zur Codierung von Algorithmen als Programme
- Grundfähigkeiten zum übersetzen, Korrigieren und Ausführen von
Programmen
- Grundkenntnisse der objektorientierten Programmierung.
Zur Programmierung wird die weit verbreitete Programmiersprache
Java eingesetzt. Dabei geschieht eine Konzentration auf das
Wesentliche dadurch, dass eine reduzierte und vereinfachte
Darstellung der elementaren Sprachkonstrukte von Java gegeben
wird. Dies erlaubt, funktionsfähige Programme zu schreiben, nutzt
jedoch bei Weitem nicht alle Möglichkeiten aus, die für Anfänger
eher ablenkend als nutzbringend sind. Bei vertieftem Interesse an
der Programmiersprache Java und der vielfältigen
Java-Klassenbibliotheken sollte auf eines der zahlreichen
Java-Bücher zurückgegriffen werden. Dieses Buch schafft eine gute
Grundlage, um in diese Richtung weiter zu gehen.
Lernziele des Teils über
Algorithmen und Datenstrukturen sind
- Grundkenntnisse zur Aufwandsanalyse von Algorithmen
- Grundfähigkeiten im Umgang mit vollständiger Induktion als wichtiges Beweisprinzip
- Verständnis der Arbeitsweise exemplarischer Datenstrukturen zur
Datenverwaltung.
Im Teil "
Vom Programm zum Rechner" sollen
- Grundkenntnisse des Aufbauprinzips von Rechnern und von Maschinensprachen
- Grundkenntnisse Boolescher Funktionen und Schaltungen als
Grundlage heutiger digitaler Informationsverarbeitung
vermittelt werden. Außerdem soll
- Verständnis für das Konzept formaler Sprachen als Grundlage
heutiger Programmiersprachen und
- Verständnis für das Konzept von Automaten als Mechanismus der
Spracherkennung
geweckt werden.
Dabei ist zu beachten, dass die Darstellung teilweise sehr
vereinfacht ist, aber die zugrundeliegenden Konzepte so
wiedergegeben sind, dass eine korrekte Vervollständigung ohne
Hürden zu leisten sein müsste.
Im Unterschied zu typischen Lehrbüchern der Informatik, die
Grundlage von Vorlesungen entsprechenden Inhalts sind, stellt
dieses Buch die Inhalte stark beispielorientiert vor. Auf
Grundlage der mit diesem Buch erworbenen Kenntnisse sollte es
möglich sein, mit dem notwendigerweise kompakteren Stil
universitärer Lehrbücher zurecht zu kommen. Das Buch ersetzt diese
Lehrbücher und entsprechende Vorlesungen nicht, da sie erheblich
weiter gehen, auch wenn möglicherweise der Eindruck entsteht, dass
sich manches wiederholt.
Verwendung zum selbstständigen Studium
Bei Verwendung des Buches zum selbstständigen Studium sollten die
Abschnitte durchgängig gelesen und die jeweils aufgeführten
Übungsaufgaben bearbeitet werden. Die Übungsaufgaben geben
Anregungen zur aktiven Befassung mit dem Stoff. Sie sind meist eng
an die Darstellung des entsprechenden Abschnitts angelehnt,
sodass, sofern nicht unmittelbar eine Lösung gefunden wird, das
nochmalige Lesen des Abschnitts mit Blick auf die gestellten
Fragen helfen sollte.
Es gibt zwei Typen von Übungsaufgaben:
konzeptionelle Aufgaben und
Programmieraufgaben.
Die Übungsaufgaben sind durch Icons am Rand hervorgehoben, wobei die beiden Typen mit unterschiedlichen
Icons markiert sind. Die konzeptionellen Aufgaben sollten schriftlich auf Papier
gelöst werden. Gegenstand der Programmieraufgaben ist die Erstellung von Programmen mit
dem Ziel der Ausführung auf einem Computer, um so praktische Fertigkeit in der Programmierung
zu gewinnen. Voraussetzung zur praktischen Durchführung ist ein Personal Computer (PC)
mit Java-Programmierumgebung. Auf der Internet-Seite zum Vorkurs-Buch (http://www.vorkurs-informatik.de/buch) finden Sie alle Hinweise zur jeweils aktuellen Java-Programmierumgebung, die, wenn notwendig, selbst installiert
werden kann. Hinweise zur Installation und Verwendung werden in Kapitel 4 und den Anhängen
gegeben.
Auf der Internet-Seite stehen zudem Lösungen für ausgewählte Aufgaben bereit zu stellen. Dabei
ist zu beachten, dass bei manchen Aufgaben, insbesondere bei Programmieraufgaben, auch andere
Lösungen möglich sind. Zusätzlich können von der Internet-Seite eventuelle Ergänzungen
und Korrekturen heruntergeladen werden.
Nach Durcharbeiten von Kapitel 3 bis 7 sollte es
möglich sein, selbstständig Programme für einfache algorithmische
Problemstellungen schreiben zu können. Kapitel 8 bis
11 vermitteln Kenntnisse zum objekt- und systemorientierten
Programmieren, die insbesondere die Verwendung von
Programmbibliotheken einschließen. Durch Bearbeiten von Kapitel
12 bis 14 werden Kenntnisse erworben, die Grundlage
des Entwurfs und der Analyse von Algorithmen sind. Das Studium von
Kapitel 15 und 16 gibt Einblicke in den Aufbau von
Computern und Mechanismen, die stattfinden, wenn ein Programm in
einer höheren Programmiersprache auf einem Computer zur Ausführung
kommt.
Der Text ist grundsätzlich zum sequentiellen Lesen angelegt. Um
einen schnellen Überblick über die besprochenen Themen zu
bekommen, gibt es zusätzlich zahlreiche Zusammenfassungen in
separaten Textblöcken. Ferner können Begriffe über einen
umfangreichen Index aufgefunden werden.
Verwendung als vorlesungsbegleitendes Lehrbuch
Das Buch kann als vorlesungsbegleitendes Lehrbuch eines etwa
dreiwöchigen Vorkurses eingesetzt werden, der täglich zwei
Vorlesungsstunden, also insgesamt 15 Doppelstunden, nach folgender
Aufteilung umfassen kann:
- 6 bis 7 Doppelstunden "Programmierung" (ohne Kapitel
"Klassenbibliotheken" und "Grafikprogrammierung mit Swing")
- 3 bis 4 Doppelstunden "Algorithmen und Datenstrukturen"
- 3 bis 4 Doppelstunden "Vom Programm zum Rechner"
Parallel zur Vorlesung können Übungen angeboten werden, die
ausgewählte Aufgaben aus dem Buch zum Gegenstand haben.
Insbesondere durch Bearbeitung ausgewählter Programmieraufgaben in
einem Rechner-Pool mit Betreuung durch Tutoren können die
Teilnehmerinnen und Teilnehmer an die Nutzung von Rechnern zur
Programmierung herangeführt werden.
Alternativ zur Abdeckung aller drei Teile des Buches kann auch
eine stärkere Fokussierung auf die Programmierung gelegt werden,
indem der Teil "Algorithmen und Datenstrukturen", der
Teil "Vom Programm zum Rechner" oder beide weggelassen
werden. Das wird dadurch möglich, dass die beiden letztgenannten
Teile unabhängig voneinander sind. Bei einer Schwerpunktsetzung
auf "Programmierung" können dann Kapitel 9 und
10 mitbehandelt werden, die beim zuvor geschilderten Modell
ausgenommen wurden.
Ihre Verbesserungsvorschläge, Fragen, Wünsche und kritischen
Hinweise, die wir gerne annehmen, können uns via folgender
E-Mail gesandt werden:
buch@vorkurs-informatik.de