Einführung in die Informatik

Einführung in die Informatik für Ingenieure und Naturwissenschaftler. Kurs zum Selbststudium, der das Grundwissen in Informatik etwa im Umfang einer einsemestrigen Vorlesung zusammenstellt.

Über diesen Kurs

Der vorliegende Kurs ist aus Hochschul-Vorlesungen für Ingenieure hervorgegangen. Er bietet in etwa den Stoff,

  • der heute zum Grundwissen für Ingenieure und Naturwissenschaftler auf dem Gebiet der Informatik gehört,
  • und der im Rahmen einer einsemestrigen Vorlesung durchgenommen werden kann.

Entsprechend können nicht alle zu einer Einführung in die Informatik gehörigen Themen ausführlich behandelt werden und manche sind - etwa für Informatikstudenten - deutlich zu oberflächlich geraten; der Kurs soll aber darauf vorbereiten, selbständig mit weiterführender Literatur zu arbeiten.

Ausführlich behandelt werden die ersten vier Teile:

  1. Rechnerarchitektur: Aufbau eines Computers, Funktionsweise und Zusammenwirken seiner Komponenten.
  2. Einführung in die Programmierung: Unabhängig von einer speziellen Programmiersprache werden allgemeine Konzepte vorgestellt, die den Einstieg in die Programmierung ermöglichen.
  3. Einführung in C++: Es wird ein kompletter Programmier-Kurs geboten, der es selbst Anfängern erlaubt die Sprache C++ zu erlernen. Die wichtigsten Sprachelemente und die für Ingenieure und Naturwissenschaftler besonders relevanten Konzepte werden vorgestellt.
  4. Einführung in die Programmiersprache R: Alternativ zu C++ wird auch ein Einstieg in die Sprache R geboten. Dieser Teil sollte auch ohne die Einführung in die Programmierung verständlich sein.

Weniger ausführlich behandelt werden die restlichen drei Teile:

  1. Übersicht über Computersysteme
  2. Betriebssysteme
  3. Rechnerkommunikation.

Ausführliches Inhaltsverzeichnis

  1. Rechnerarchitektur
    1. Algorithmen und Computer
    2. Logische Operationen und Schaltnetze
    3. Die von Neumann Rechnerarchitektur
    4. Die Komponenten des von Neumann Rechners: Übersicht
      1. Die Komponenten des von Neumann Rechners: elektrotechnische Grundlagen
      2. Die Komponenten des von Neumann Rechners: Externe Geräte
      3. Die Komponenten des von Neumann Rechners: Der Hauptspeicher
      4. Die Komponenten des von Neumann Rechners: Der Prozessor
    5. Aufgaben zu: Rechnerarchitektur
  2. Einführung in die Programmierung
    1. Eigenschaften von Algorithmen
    2. Strukturelemente von Algorithmen
    3. Pseudocode und formale Sprachen
    4. Einführung in die Programmierung: Fundamentale Datentypen
    5. Übersicht über Programmiersprachen
    6. Auszeichnungssprachen (markup language)
    7. Aufgaben zur Einführung in die Programmierung
  3. Einführung in C++
    1. Vorgehensweise und Vorbereitungen zum Erlernen von C++
    2. Kennenlernen der Entwicklungsumgebung Code::Blocks
    3. Elementare Syntax von C++: Ein- und Ausgaben über die Konsole
    4. Elementare Syntax von C++: Fundamentale Datentypen
    5. Lösungshinweise zu den Aufgaben aus Elementare Syntax von C++: Fundamentale Datentypen
    6. Elementare Syntax von C++: Bedingung, Alternative und Mehrfachalternative
    7. Lösungshinweise zu den Aufgaben aus Elementare Syntax von C++: Bedingung, Alternative und Mehrfachalternative
    8. Elementare Syntax von C++: Weitere Operatoren
    9. Elementare Syntax von C++: Schleifen
    10. C++ Programmier-Aufgaben: Anwendungen aus Numerik, Finanzmathematik, Kombinatorik, Auszeichnungssprachen
  4. C++: Fortgeschrittene Syntax
    1. C++: Strukturierte Programmierung mit Funktionen
    2. Weitere Konzepte der strukturierten Programmierung in C++: Einsatz von Vektoren, Gültigkeitsbereiche
    3. Spezielle Konzepte der strukturierten Programmierung in C++: call by reference, Rekursion, Function Templates
    4. C++: Aufgaben zur strukturierten Programmierung
    5. C++: Grundlagen der objektorientierten Programmierung (OOP)
    6. C++: Konstruktoren und Destruktoren
    7. Objekt-orientiertes Design in C++: Datenkapselung und UML-Diagramme
    8. Objekt-orientiertes Design in C++: Komposition und Vererbung
  5. C++ Programmieraufgaben
    1. C++ Programmieraufgabe: Das Rucksackproblem
    2. C++ Programmieraufgabe: Das Travelling Salesman Problem (TSP)
    3. C++ Programmieraufgabe: Auswertung einer Fahrradtour
    4. C++ Programmieraufgabe: Simulation einer Heizung und eines Heizungsreglers
    5. C++ Programmieraufgabe: Matching
    6. C++ Programmieraufgabe: Wettermodell
  6. Einführung in C-Zeiger
    1. Definition und einfache Anwendungen von C-Zeigern
    2. Felder (arrays) in C
    3. Anwendung von C-Zeigern: Der Zusammenhang zwischen Feldern und Zeigern
    4. Zeiger und Funktionen
  7. Einführung in die Programmiersprache R
    1. Eigenschaften von R und Vorbereitungen
    2. Übersicht über Datentypen in R
    3. Einfache Datentypen in R
      1. Einführung in R: Zahlen und Variablen
      2. Einführung in R: Logische Werte
      3. Einführung in R: Zeichen
      4. Zahlenbereiche und spezielle Werte in R (Inf, NaN, NA und NULL)
    4. Zusammengesetzte Datentypen in R
      1. Vektoren in R: der Datentyp vector
      2. Vektoren in R: Anwendungen
      3. Matrizen in R: der Datentyp matrix
      4. Matrizen in R: Anwendungen
      5. Felder in R: der Datentyp array
      6. Listen in R: der Datentyp list
      7. Listen in R: Anwendungen
      8. Dataframes in R: der Datentyp data frame
      9. Dataframes in R: Anwendungen
      10. Faktoren in R: der Datentyp factor
      11. Faktoren in R: Anwendungen
      12. Tabellen
    5. Kontrollstrukturen in R
      1. Bedingung und Alternative in R: if else und ifelse
      2. Die Mehrfachalternative in R: die Funktion switch()
      3. Die for-Schleife in R
      4. Die while-Schleife und die repeat-Schleife in R
    6. Funktionen
      1. Eigenschaften von Funktionen in R
      2. Selbstdefinierte Funktionen in R (UDF = User Defined Functions)
      3. Diagnose-Funktionen für Funktionen in R
      4. Spezielle selbstdefinierte Funktionen in R
      5. Die Funktion apply() in R: Iteration über die Zeilen oder Spalten einer Matrix
      6. Die Familie der apply-Funktionen in R Teil 1: Verarbeitung von Listen mit lapply(), sapply(), vapply() und rapply()
      7. Die Familie der apply-Funktionen in R Teil 2: Die Verarbeitung mehrerer Listen mit mapply(), Map() und outer()
    7. Eingabe und Ausgabe in Dateien (I/O)
    8. Wahrscheinlichkeit und Statistik
    9. Anwendungen
  8. Übersicht über Computersysteme
  9. Betriebssysteme
    1. Einführung in Betriebssysteme
    2. Betriebsarten eines Computers
    3. Aufgaben des Betriebssystems
  10. Rechnerkommunikation
    1. Einführung in Rechnernetze
    2. Netzwerkprotokolle
    3. Das Internet

Literaturempfehlungen

Informatik

  1. Gumm, Heinz Peter, Sommer, Manfred. Einführung in die Informatik. 10. Aufl. München: Oldenbourg Wissenschaftsverlag, 2013.
  2. Gumm, H., Sommer, M., Hesse, W., et al. (2016). Informatik Band 1: Programmierung, Algorithmen und Datenstrukturen. Berlin, Boston: De Gruyter, 2016.
  3. Gumm, H., Sommer, M., Hesse, W., et al. (2017). Informatik Band 2 Rechnerarchitektur, Betriebssysteme, Rechnernetze. Berlin, Boston: De Gruyter, 2017.
  4. Hellmann, R. Rechnerarchitektur. Einführung in den Aufbau moderner Computer. Berlin, Boston: De Gruyter Oldenbourg, 2016.

Mathematik

  1. Arens, Tilo et al. Mathematik. 4. Auflage. Berlin: Springer Spektrum, 2018.
  2. Matoušek, Jiří und Jaroslav Nešetřil. Diskrete Mathematik: Eine Entdeckungsreise. 2. Aufl. Berlin, Heidelberg: Springer-Verlag, 2007.
  3. Rousseau, Christiane und Saint-Aubin, Yvan. Mathematik und Technologie. 1. Auflage. Berlin, Heidelberg: Springer-Verlag, 2012. (Rezension)
  4. Schubert, Matthias. Mathematik für Informatiker. 2. Aufl. Wiesbaden: Vieweg+Teubner Verlag, 2012. (Rezension)
  5. Ausgewählte Kapitel der Mathematik (für Programmierer, Informatiker, Ingenieure und Naturwissenschaftler)
Alle Kommentare
Durch die Nutzung dieser Website erklären Sie sich mit der Verwendung von Cookies einverstanden. Außerdem werden teilweise auch Cookies von Diensten Dritter gesetzt. Genauere Informationen finden Sie in unserer Datenschutzerklärung sowie im Impressum.