Modulinformationssystem Informatik

 

Informatik für die Naturwissenschaften URL PDF XML

Modulcode: Inf-InfNat
Englische Bezeichnung: Computer science for natural science
Modulverantwortliche(r): Priv.-Doz. Dr. Frank Huch
Turnus: jedes Jahr im WS (WS11/12 WS12/13 WS13/14 WS14/15 WS15/16 WS16/17 WS17/18 WS18/19 WS19/20 WS20/21 WS21/22 WS22/23 WS23/24)
Präsenzzeiten: 4V 2Ü
ECTS: 6
Workload: 60 Std. Vorlesung, 30 Std. Präsenzübung, 90 Std. Selbststudium
Dauer: ein Semester
Modulkategorien: INF-Phy (Inf. als NF) EcoQuantFin (Export) Sonstige (Sonstige)
Lehrsprache: Deutsch
Voraussetzungen: Info

Kurzfassung:

Dieses Modul gibt eine Einführung in die Informatik. Hierbei wird der Schwerpunkt auf die Programmierung gelegt. Die Konzepte der imperativen und objektorientierten Programmierung werden unter Verwendung der Programmiersprache Python vermittelt.

Weitere Schwerpunkt bilden Datenbanken, einfache Standard-Algorithmen, insbesondere zum Sortieren, welche auch auf ihre Komplexitätsverhalten hin analysiert werden. Weitere Themen der Vorlesung sind einfache Ergebnisse der Komplexitäts- und Berechenbarkeitstheorie.

Die Vorlesungsinhalte werden im Rahmen der Übungen wiederholt, eingeübt und vertieft.

Lernziele:

Die Studierenden erwerben die Fähigkeit, Problemstellungen algorithmisch zu lösen und den resultierenden Algorithmus mit Hilfe einer imperativen Programmiersprache zu implementieren. Sie kennen unterschiedliche Programmiertechniken und können Komplexitätsabschätzungen für die Laufzeit von Programmen machen. Sie verfügen über Kenntnisse in formaler Syntaxbeschreibung und können diese zum Erlernen neuer Programmiersprachen einsetzen. Weiter kennen Sie die grundlegenden Konzepte relationaler Datenbanken und können einfache Datenbanken modellieren und können in existierende Datenbanken Anfragen mittels SQL formulieren.

Objektorientierte Datenmodellierungen können sie verstehen, anwenden und in einfachen Kontexten selber entwickeln. Sie haben das Prinzip der Objektidentität verstanden und können es bei der objektorientierten Programmierung anwenden.

Lehrinhalte:

  • Ursprünge der Informatik
  • Rechnerarchitektur
  • Zahlensysteme, insbesondere das Binärsystem
  • Syntaxbeschreibung mit Hilfe der (erweiterten) Backus-Naur-Form
  • Termdarstellungen und -auswertungen
  • Programmierkonzepte am Beispiel von Python
  • Ausdrücke, Anweisungen, einfache Datentypen, Kontrollstrukturen, Rekursion, Objektidentität
  • objektorientierte Modellierung
  • relationale Datenbanken, Modellierung und SQL (speziell SQLite3)
  • Sortierverfahren und ihre Laufzeitkomplexitäten
  • Devide-and-Conquer
  • P/NP und Entscheidbarkeit von Problemen

Weitere Voraussetzungen:

Prüfungsleistung:

Zweistündige Abschlussklausur. Im letztmöglichen Versuch kann auf Antrag anstelle einer Klausur eine 30-minütige, mündliche Prüfung stattfinden.

Zulassungsvoraussetzungen zur Modulprüfung: Sinnvolle Bearbeitung von mindestens 50% aller Übungsaufgaben.

Lehr- und Lernmethoden:

Tafelvorlesung und Programmentwicklung am Rechner. Ein Vorlesungsskript wird zur Verfügung gestellt.

In den Übungsstunden wird der Vorlesungsstoff wiederholt, durch die wöchentlich zu bearbeitenden Übungsaufgaben verfestigt und vertieft. Das Elernen des Programmierens ist nur durch aktives Erstellen eigener Programme möglich. Als Hilfestellung werden hierzu zusätzlich betreute Rechnerzeiten angeboten.

Als technische Unterstützung wir in diesem Modul das iLearn verwendet.

Verwendbarkeit:

Insbesondere im Wahlbereich I im Physikstudium. Weiter Verwendungen sind angedacht.

Literatur:

Es wird ein Vorlesungsskript zur Verfügung gestellt.

Weitere Literatur ist nicht unbedingt erforderlich, wird aber in der Vorlesung bekannt gegeben.

Verweise:

Kommentar: