inf030 - Programmierung, Datenstrukturen und Algorithmen (Veranstaltungsübersicht)

inf030 - Programmierung, Datenstrukturen und Algorithmen (Veranstaltungsübersicht)

Department für Informatik 9 KP
Modulteile Semesterveranstaltungen Sommersemester 2024 Prüfungsleistung
Vorlesung
Übung
Hinweise zum Modul
Teilnahmevoraussetzungen
Keine Teilnehemervoraussetzungen
Prüfungszeiten
Am Ende der Veranstaltungszeit
Prüfungsleistung Modul
Portfolio oder Klausur oder mündliche Prüfung
Kompetenzziele
Das Programmieren ist eine der Basistätigkeiten von Informatikern und Voraussetzung für viele andere Veranstaltungen des Informatikstudiums. Ziel des Moduls „Programmierung, Datenstrukturen und Algorithmen“ ist das Erlernen grundlegender Konzepte der imperativen, prozeduralen und objektorientierten Programmierung anhand der Programmiersprache Java sowie die Vorstellung bekannter, effizienter Algorithmen und Datenstrukturen für verschiedene, häufig vorkommende Problemstellungen.
Die Studierenden sollen nach Abschluss des Moduls selbstständig imperative und einfache objektorientierte Programme auf der Grundlage von Java für die Lösung kleinerer Probleme entwickeln und die Effizienz ihrer Programme einschätzen können. Außerdem sollen sie wichtige Algorithmen anwenden und aufgrund ihrer Komplexität auswählen können.


Fachkompetenzen
Die Studierenden:
  • beschreiben grundlegende Konzepte der imperativen Programmierung mit Java
  • erkennen die Terminologie der imperativen Programmierung und verwenden die entsprechenden Begriffe präzise bei Diskussionen
  • erkennen grundlegende Terminologie der objektorientierten Programmierung
  • beschreiben, was ihnen vorgelegte Programme tun
  • entwickeln selbstständig Programme für die Lösung kleinerer Probleme
  • untersuchen systematisch eigene und fremde Programme auf Fehler
  • setzen moderne Programmentwicklungsumgebungen zum Entwickeln und Testen von Programmen ein
  • erstellen Algorithmen mit allgemeinen Entwurfskonzepten (z.B. Greedy-Verfahren, Divide-and-Conquer- Verfahren)
  • benennen Algorithmen und Datenstrukturen zur Lösung von häufig vorkommenden Problemen und bewerten diese in ihrer Anwendbarkeit
  • benennen Probleme der Effizienz von algorithmischen Lösungen konkreter Fragestellungen und bewerten diese
  • wählen fundiert einen Algorithmus und eine Datenstruktur zur Lösung eines konkreten Problems aus
  • wenden die gelernten Algorithmen und Datenstrukturen sinnvoll auf gegebene und konkrete Probleme an
Methodenkompetenzen
Die Studierende:
  • lösen gegebene Probleme unter den Gesichtspunkt der imperativen bzw. objektorientierten Programmierung
  • übertragen praktische Erfahrungen in der Programmentwicklung auf neue Aufgaben
Sozialkompetenzen
Die Studierenden
  • vermitteln die Struktur und Wirkungsweise selbst entwickelter Programme an andere
  • präsentieren Lösungen zu kleinen Aufgaben vor Gruppen
Selbstkompetenzen
Die Studierenden:
  • organisieren sich beim Finden von algorithmischen Lösungen für kleine und mittelgroße Probleme der Informatik
  • beziehen die Konzepte des allgemeinen Programmentwurfs in ihr Handeln ein