Dieses Buch ist aus dem Vorkurs Informatik entstanden, der von den Autoren seit 2001 an der Universität Dortmund etwa einen Monat vor Beginn der Vorlesungszeit des Wintersemesters veranstaltet wird. Die Idee zur Einführung eines Vorkurses Informatik kam durch Erfahrungen in der Vorlesung "Einführung in die Programmierung" im WS 2000/2001 auf. Diese Vorlesung, an der bedingt durch den IT-Boom jener Zeit mehr als 1000 Studierende teilnahmen, machte besonders deutlich, dass die Studienanfängerinnen und -anfänger eine sehr unterschiedliche Grundausbildung in Informatik aus der Schule mitbringen. Dies macht die Durchführung einer Einführungsvorlesung, welche für die Mehrzahl der Teilnehmerinnen und Teilnehmer angemessen ist, recht schwer. Das Ziel des Vorkurses ist, einen einheitlichen Kenntnisstand zu erreichen.
Der Vorkurs Informatik an der Universität Dortmund wird sehr gut nachgefragt. Etwas mehr als die Hälfte der späteren Studienanfängerinnen und Anfänger des Faches Informatik nehmen teil. Hinzu kommen angehende Studierende aus anderen Fächern (Mathematik, Wirtschaftsingenieurwesen, Betriebswirtschaftslehre, Informationstechnik), deren Teilnahme sich jedoch oft auf den ersten Teil, eine Einführung in die Programmierung, beschränkt. Zu erwähnen ist, dass sich das bisher verfügbare Folienskript auch bei Studierenden der ersten Semester großer Beliebtheit erfreut, wie Download-Zahlen zeigen. Anonyme fragebogenbasierte Nachfragen zu Beginn des dritten Semesters zeigen, dass der Vorkurs trotz der bis dahin nicht nur positiven Prüfungserfahrungen der Studierenden von 40% als nützlich und von 51% etwas nützlich eingestuft wird.
All dies hat uns bewogen, dieses Buch zu schreiben.
Dem Vorkurs und dementsprechend diesem Buch liegt das Konzept "vom Konkreten zum Abstrakten" zugrunde. Dabei konzentriert sich der Vorkurs im Unterschied zu regulären Vorlesungen mehr auf das Konkrete. Abstraktion ist ein wesentlicher Aspekt des Informatikstudiums, sie erscheint uns aber vor dem Hintergrund des Konkreten für angehende Studierende besser nachvollziehbar.
Auf der Entwurfsebene der Lösung von informatikbezogenen Problemen ist die Darstellung zunächst algorithmenorientiert, dann werden Grundkonzepte des objektorientierten Entwurfs skizziert. Diese möglicherweise etwas konventionell wirkende Vorgehensweise erleichtert unserer Meinung nach den Zugang zur Informatik, ähnlich wie Rechnen zugänglicher zur Elementarmathematik als Mengenlehre erscheint. Der Einführung in die Programmierung liegt eine stark reduzierte Darstellung der Programmiersprache Java zugrunde. Das Ziel ist, Grundprinzipien der Programmierung zu vermitteln, die zum allgemeinen Kenntnisstand einer Abiturientin oder eines Abiturienten gehören sollten, zumindest wenn eine Vertiefung des Faches Informatik in der Schule stattgefunden hat.
Ausgehend von der Programmierung wird zum Aufbau von Rechnern und zum Zusammenhang zwischen Hard- und Software am Konzept der bersetzung von Programmen hingeführt. Hier soll ein, wenn auch vereinfachtes, "Weltbild" der Funktionsweise von Rechnern im Sinne einer vertieften Allgemeinbildung geschaffen werden, das den Einstieg in maschinennähere Teile des Informatikstudiums vorbereiten soll.
Eingebettet in die Darstellung von Programmierung und Rechnerstrukturen ist die Vorstellung wichtiger methodischer Konzepte wie die Rekursion und die Induktion sowie ausgewählter Datenstrukturen. Die Kenntnis solcher Methoden ist von hoher Bedeutung für das Informatikstudium und sollte bei Absolventinnen und Absolventen zumindest von einschlägigen schulischen Leistungskursen vorhanden sein.
Der Vorgehensweise "vom Konkreten zum Abstrakten" folgend, führen die meisten Abschnitte ausgehend von Beispielen, an denen das darzustellende Konzept erläutert wird, zu generalisierenden Definitionen hin. In den Text ist eine große Anzahl Übungsaufgaben eingearbeitet, die so angeordnet sind, dass sich die Leserinnen und Leser unmittelbar aktiv mit dem präsentierten Konzept auseinandersetzen können. Dieser Aufbau soll das Buch ber ein vorkursbegleitendes Lehrbuch hinaus zum selbstständigen Studium verwendbar machen. Die Einleitung gibt entsprechende Hinweise zur Verwendung des Buches.
Es soll hier die Gelegenheit genutzt werden, Personen und Institutionen zu würdigen, die zur Entstehung des Vorkurses Informatik beigetragen haben: das Land Nordrhein-Westfalen, das im Rahmen des Sofortprogramms zur Weiterentwicklung des Informatikstudiums an den deutschen Hochschulen (WIS) Mittel zur Verfügung gestellt hat, die WIS-Kommission des Fachbereichs Informatik der Universität Dortmund, die das Projekt des Vorkurses in diesem Rahmen als förderungswürdig empfand, die Informatikrechnerbetriebsgruppe des Fachbereichs Informatik, die technische Unterstützung bei der Realisierung der bisher angebotenen Vorkurse gegeben hat und schließlich Jörg Knoche, "der" Vorkurstutor, der sich in beraus begeisternder Weise in die bungen zum Vorkurs eingebracht, aber auch die arbeitsintensive Auswertung der begleitenden Fragebögen übernommen hat.
Am Zustandekommen des Buches waren zahlreiche Personen beteiligt. Zu nennen sind hier Klaus Höming, der die "fachfremden" Illustrationen erstellt hat, die das Buch etwas auflockern sollen, Marion Holm, die die Textverarbeitung und Realisierung vieler fachbezogener Grafiken und Tabellen bernommen und zudem das Korrekturlesen mit bernommen hat, Prof. Dr. Michael Stark, Oliver Hengesbach, Martina Vaupel, die durch inhaltliche Anregungen und Korrekturlesen optimierend mitgewirkt haben, und der Teubner-Verlag, insbesondere vertreten durch Herrn Sandten, der sich intensiv um die zahlreichen Dinge, die bei der Realisierung eines Buches anfallen, gekümmert hat. Ihnen allen möchten wir für ihren Beitrag herzlich danken.
Dortmund, im Juli 2005 Heinrich Müller, Frank Weichert
Die anhaltende positive Resonanz von Teilnehmern und Absolventen des Vorkurses Informatik hat uns bewogen, das Buch ''Vorkurs Informatik - der Einstieg ins Informatikstudium'' neu aufzulegen.
Die Neuauflage ist inhaltlich weitgehend gleich geblieben. nderungen betreffen im Wesentlichen praktische Aspekte. So wurden eine Anpassung an das aktuelle Java Runtime Environment durchgeführt und ein neues Kapitel zur Verwendung einer Java-Entwicklungsumgebung am Beispiel von Eclipse aufgenommen. Im algorithmischen Teil wurden Ablaufdiagramme durch Struktogramme ersetzt. Die Darstellung des objektorientierten Entwurfs befasst sich nun etwas mehr mit UML.
Die beiliegende CD wurde durch die Bereitstellung des darauf enthaltenden ergänzenden Materials im Internet ersetzt. Dies erscheint akzeptabel, da das Internet seit der ersten Auflage allgegenwärtig wurde. Zudem kann das Material auf diese Weise stets aktuell gehalten werden.
Natürlich wurde die Neuauflage auch zur Korrektur von Fehlern genutzt, die über die Jahre von aufmerksamen Lesern gefunden wurden, denen dafür gedankt sei. Und schließlich fand eine Umformatierung auf das neue Buchformat statt, wobei das bewährte prinzipielle Layout im Wesentlichen beibehalten wurde.
Ein besonderer Dank für die Unterstützung bei der Überarbeitung geht an Frau Heike Rapp, die insbesondere mit der Elimination von Inkonsistenzen durch die umgesetzten Änderungen befasst war. Schließlich sei die freundliche Betreuung durch Frau Kerstin Hoffmann vom Lektorat erwähnt, die sehr geholfen hat, die neue Auflage auf den Weg zu bringen.
Dortmund, im Juli 2011 Heinrich Müller, Frank Weichert
Die Neuauflage des Buches „Vorkurs Informatik - der Einstieg ins Informatikstudium“ in der mittlerweile dritten Auflage wurde dadurch angeregt, dass dieses Buch sowohl Studierenden der Informatik als auch aus anderen Fachrichtungen zur Einführung in die Informatik dient. Da in diesen nicht Informatik-assoziierten Fachrichtungen vielfach die Programmiersprache C++ genutzt wird, haben wir dies zum Anlass genommen, das Buch um ein entsprechendes Kapitel zu erweitern.
Der Anhang zu C++ soll den Leserinnen und Lesern einen ersten Einstieg in die C++-Programmierung vermitteln und ihnen ermöglichen, die allgemeinen Programmierkonzepte, welche im Haupttext anhand der Programmiersprache Java exemplarisch erklärt werden, auch in C++ anzuwenden. Dabei werden beide Programmiersprachen gegenübergestellt und Gemeinsamkeiten sowie Unterschiede verdeutlicht.
Ein besonderer Dank für die Unterstützung bei der Überarbeitung geht an Frau Heike Rapp und an Herrn Daniel Bachmann für das Korrekturlesen des neuen Kapitels zur Programmiersprache C++. Schließlich sei die wie immer freundliche Betreuung durch das Lektorat des Verlags bei der Erstellung der neuen Auflage erwähnt.
Dortmund, im Oktober 2012 Heinrich Müller, Frank Weichert
Dortmund, im Februar 2015 Heinrich Müller, Frank Weichert
Dortmund, im Mai 2017 Heinrich Müller, Frank Weichert