Grundlagen der Informatik 1

Grundlagen der Informatik 1

Studienbereich

  • Bachelor-Studienabschnitt, Pflichtfach, Empfohlenes Semester: 1. Semester

Anzahl Leistungspunkte (LP)

  • 5 (= 150 Stunden Lernzeit)

Fach

  • Grundlagen der Informatik und Programmierung

Modulbeauftragter

  • Prof. Dr. Helmut Balzert

Verwendung des Moduls

  • Bachelor-Studiengang: Web- & Medieninformatik
  • Bachelor-Studiengang: Wirtschaftsinformatik
  • Wissenschaftliche Informatik-Weiterbildung Online: Junior-Programmierer

Lernergebnisse / Kompetenzen

  • Nach der Durcharbeitung dieses Moduls können die Studierenden die grundlegenden Konzepte der strukturierten und prozeduralen Programmierung für die eigenständige Programmierung mit der Programmiersprache Java problemgerecht und softwaretechnisch richtig einsetzen.
  • Selbst entwickelte Programme können mit einfachen Testverfahren überprüft werden. Das Prinzip der Verifikation ist bekannt. Die Studierenden können anhand der Fallstudie OptiTravel eine schrittweise Softwareentwicklung anhand der virtuellen Firma WebSoft nachvollziehen.
  • Die Grundkonzepte der Programmiersprache C und der Programmiersprache Processing sind den Studierenden bekannt und sie können einfache Programme in diesen Programmiersprachen in einer sprachspezifischen Entwicklungsumgebung programmieren und ausführen.
  • Vorgegebene Beispiele können die Studierenden anhand zusätzlicher Anforderungen selbstständig erweitern.

Inhaltsübersicht

Inhaltsübersicht

Es werden die allgemeinen Grundlagen und Konzepte der Programmierung vermittelt, die fast allen Programmiersprachen zugrunde liegen. Als Programmiersprache wird die weit

Einstieg

  • Programmieren - Programme - Compiler
  • Skriptsprachen und Interpreter
  • Die Sprache Java
  • Das erste Java-Programm

Basiskonzepte

  • Variablen, Konstanten, einfache Typen
  • Zuweisung, Ausdrücke
  • Lokale Variablen und Anweisungen
  • Java-Programme mit Konsoleneingabe
  • Java-Pakete: das Wichtigste
  • Java-Entwicklungsumgebungen

Kontrollstrukturen

  • Sequenz
  • Auswahl
  • Wiederholung
  • Schachtelung
  • Ausnahmebehandlung

Felder

  • Eindimensionale und mehrdimensionale Felder
  • Einfaches Sortieren
  • Iteration über Felder

Mehrfachverwendung

  • Prozeduren
  • Funktionen
  • Rekursion

verbreitete Sprache Java verwendet. Es werden nicht nur Wissen und Kenntnisse vermittelt, sondern die Fähigkeiten, selbst Programme zu entwickeln und zu testen.

Das Wichtigste zum Testen

  • Einfaches Testen
  • Regressionstest
  • Stapelverarbeitungsprogramme
  • Zur Auswahl von Testdaten

Verifikation

  • Zusicherungen
  • Anfangs- & Endebedingung
  • Verifikationsregeln
  • Termination von Schleifen

Programmiersprache C

  • Einfache Typen
  • Einfache Ein- und Ausgabe
  • Kontrollstrukturen & Zusicherungen
  • Zeiger und Adressen
  • Felder
  • C-Zeichenketten
  • Strukturen
  • Dynamische Daten
  • Modularität

Programmiersprache Processing

  • 2D-Grafik
  • Animationen
  • Maus- & Tastaturereignisse
  • Ausblick

Lehrformen/Prüfungen

Lehrformen/Prüfungen

Lehrformen

  • Die Inhalte stehen sowohl als Online-Kurs als auch als Lehrbuch zum Selbststudium zur Verfügung. Die einzelnen Konzepte werden Schritt für Schritt aufeinander aufbauend in kleinen, überschaubaren Wissensbausteinen/Kapiteln vermittelt. Besonderer Wert wird auf jeweils vollständige Beispiele gelegt, die selbst weiterentwickelt werden können. Eine Fallstudie OptiTravel wird schrittweise entwickelt und zeigt anhand einer virtuellen Firma WebSoft, wie eine systematische Softwareentwicklung abläuft.
  • Im Online-Kurs können alle Programme direkt im Web-Browser interaktiv und im Einzelschrittmodus ausgeführt werden, wobei in einer virtuellen Konsole die Ergebnisse angezeigt und zusätzlich alle Variablenwerte in der jeweiligen Belegung angezeigt werden. Selbsttestaufgaben mit Musterlösungen erlauben es, die erworbenen Programmierfähigkeiten zu überprüfen.
  • Am Anfang und am Ende jedes Wissensbausteins können die bereits vorhandenen Fähigkeiten oder die im Wissensbaustein erworbenen Fähigkeiten anhand von Tests und Aufgaben überprüft werden.

Teilnahmevoraussetzungen

  • Formal: keine
  • Inhaltlich: keine

Prüfungsformen

  • Zweistündige schriftliche Präsenzklausur, die bei Nichtbestehen zweimal wiederholt werden kann. Werden alle Aufgaben richtig gelöst, dann erhält man 100 Punkte. Um die Klausur zu bestehen sind 50 Punkte notwendig.
  • Hilfsmittel: Alle handschriftlichen oder gedruckten Unterlagen.

Voraussetzungen für die Zulassung zur Präsenzklausur

  • Folgende Voraussetzungen müssen für die Zulassung zur Präsenzklausur erfüllt sein: 70% aller Tests, die zu dem jeweiligen Modul gehören, müssen in der W3L-E-Learning-Plattform bestanden werden. Jeder Test kann beliebig oft wiederholt werden. Tests werden in der W3L-E-Learning-Plattform automatisch ausgewertet. Folgende Testformen stehen zur Verfügung: Single Choice, Multiple Choice, Fill In, Zuordnungstests, Anordnungstests, Hot-Spot-Tests. Zu den Tests gibt es Tipps und Begründungen für die jeweilige Lösung.
  • Ist die vorherige Voraussetzung erfüllt, dann wird automatisch ein Online-Abschlusstest freigeschaltet (Dauer 30 Minuten). Um den Abschlusstest zu bestehen, müssen 70 von 100 Punkten erreicht werden. Ein gutes Abschneiden bei dem Online-Abschlusstest wird mit Bonuspunkten belohnt. Wird der Abschlusstest dreimal nicht bestanden, dann ist ein Gespräch mit dem Leiter des Studiengangs und dem zugehörigen Autor erforderlich.

Literatur/Kurs

Literatur/Kurs

Literatur

  • Buch: Java: Der Einstieg in die Programmierung - Strukturiert & prozedural programmieren von Helmut Balzert, 4. Auflage
  • Quick Reference Map UML 2 von Heide Balzert

Weiterführende Literatur

  • Dijkstra, Edsger Wybe; Notes on Structured Programming, in: Structured Programming, S. 1-82, London, Academic Press, 1972.
  • Futschek, G.; Programmentwicklung und Verifikation, Wien, Springer-Verlag, 1989. (Empfehlenswertes Lehrbuch, das systematisch in die Verifikationsmethodik einführt.)
  • Eisenecker, Ulrich; C++: Der Einstieg in die Programmierung - Strukturiert & prozedural programmieren, W3L-Verlag, Herdecke, 2008

Online-Kurs

  • Java: Der Einstieg in die Programmierung

Wir beraten Sie gerne, rufen Sie uns an!

Mo. - Fr. 9:00 - 17:00 Uhr, Tel. 0231 / 61 804 - 126