INF1003 Programmieren 1
- Prof. Dr. Dominikus Herzberg
- Prof. Dr. Ing. Diethelm Bienhaus
- Prof. Dr. Dominikus Herzberg
- Nadja Krümmel
- Prof. Dr. Christian Überall
Keine
Nach individuellem Bedarf: Brückenkurs Programmieren
Die Studierenden erlernen grundlegende Konzepte einer modernen Programmiersprache, die prozedurale und objektorientierte Sprachkonstrukte umfasst. Die Studierenden können kürzere Programme entwickeln, die die erlernten Sprachkonzepte umsetzen und kombinieren.
- Generelles Programmierwissen, wie u.a. Syntax-Beschreibungen, Literale, Datentypen, Programmier-Paradigmen, Typsystem (statisch/dynamisch), Information Hiding, Modularisierung, Datenkapselung, Einfluss statischer Typisierung auf die Code-Kohärenz und -Konsistenz
- Prozedurale Konzepte, wie u.a. Variablen, Namensräume und Scope, Verschachtelung, Zuweisungen, Schleifen, Entscheidungen, Iteration & Rekursion
- Grundlegende objektorientierte Konzepte, wie u.a. Klasse, Vererbung, Interfaces, Enumerationen, Arrays, Instanzbegriff, Polymorphie, Variablen (lokale, Klassen- und Instanzvariablen), Gültigkeitsbereich, Klassen- und Instanzmethoden, Konstruktoren, Ausnahmebehandlung (Exceptions), Sichtbarkeitskonzept, Anweisungen und Ausdrücke, Operatoren, abstrakte Datentypen
- Grundlegende Laufzeitkonzepte, wie u.a. Callstack/Frames, Heap, Garbage Collection, Datenwerte und ihre Kodierung
- Grundlegende Programmiertätigkeiten, wie u.a. Programmeingabe, einfache Fehlersuche und -behebung, Programmausführung, Anwendung von Coding Conventions, Ablaufvisualisierung
- Grundlegender Technikeinsatz, wie u.a. Programmier- und Entwicklungswerkzeuge (Editor, Entwicklungsumgebung, Compiler)
Fachkompetenzen
- Die Studierenden können vor dem Hintergrund algorithmischen Denkens unter Rückgriff auf Basistypen und Array-Datentypen mathematisch/formale Beschreibungen in funktionierende Algorithmen übersetzen (Algorithmik, prozedurale Programmierung).
- Die Studierenden können alle grundlegenden (Sprach-)Konzepte der Objektorientierung benennen. Sie können das Verständnis der Konzepte gezielt zur Programmentwicklung nutzen (Objektorientierung).
- Die Studierenden können sich fachlich korrekt ausdrücken, wenn sie über Programme und die verwendeten Sprachkonstrukte sprechen und Programmabläufe beschreiben (Versprachlichung).
Methodenkompetenzen (fachlich & überfachlich)
- Die Studierenden sind in der Lage, kleinere Programme zu schreiben, die die Beherrschung verschiedenster Sprachkonzepte und ihrer Kombination demonstrieren (Programmentwicklung).
- Die Studierenden können sich ohne Schwierigkeiten in ihren Entwicklungswerkzeugen und Hilfsmitteln zurechtfinden. (Handwerkszeug)
Sozialkompetenzen
- Die Studierenden können andere Studierende im Entwicklungsprozess unterstützen.
Selbstkompetenzen
- Sie können kleinere Projektaufgaben eigenständig konzipieren, entwerfen und als lauffähige Programme umsetzen.
- Die Studierenden können ihren Lernprozess reflektieren.
- 6 CrP
- Arbeitsaufwand 180 Std.
- Präsenzzeit 90 Std.
- Selbststudium 90 Std.
- 6 SWS
- Vorlesung 2 SWS
- Übung 2 SWS
- Praktikum 2 SWS
- Bioinformatik (B.Sc. 2022)
- Informatik (B.Sc. 2022)
- Ingenieur-Informatik (B.Sc. 2022)
Ja
Bonuspunkte werden gemäß § 9 (4) der Allgemeinen Bestimmungen vergeben. Art und Weise der Zusatzleistungen wird den Studierenden zu Veranstaltungsbeginn rechtzeitig und in geeigneter Art und Weise mitgeteilt.
Prüfungsvorleistung:
Hausübungen und Kurztests
(Anzahl und Umfang der Vorleistung wird den Studierenden rechtzeitig und in geeigneter Weise bekannt gegeben.)
Prüfungsleistung:
Regelmäßige Teilnahme am Praktikum (mindestens 80% der Zeit) und/oder Praktikumsleistungen, Klausur und/oder Entwicklung in der Informatik (zusammen 100%)
(Art und Umfang des Leistungsnachweises wird den Studierenden rechtzeitig und in geeigneter Weise bekannt gegeben.)
- Bioinformatik (B.Sc. 2022)
- Informatik (B.Sc. 2022)
- Ingenieur-Informatik (B.Sc. 2022)
- Gosling, J. et al.: The Java Language Specification. https://docs.oracle.com/javase/specs/
- Kofler, M.: Java. Der Grundkurs.Rheinwerk.
- Günster, K.: Einführung in Java. Rheinwerk.
- Lahres, B.; Raýman, G.; Strich, S.: Objektorientierte Programmierung. Das umfassende Handbuch. Rheinwerk.
- Ousterhout, J.: A Philosophy of Software Design. Yaknyam.
- Thomas, D.; Hunt, A.: Der Pragmatische Programmierer. Hanser.
Rechtliche Hinweise
- Diese Informationen geben den in den Online-Diensten für Studierende erfassten Datenbestand wieder.
- Die rechtskräftigen und damit verbindlichen Fassungen der Modulhandbücher finden Sie im Amtlichen Mitteilungsblatt der THM (AMB).
- Alle gültigen Prüfungsbestimmungen für die THM-Studiengänge können Sie außerdem in komfortabler Leseversion über den Downloadbereich auf der Homepage des Prüfungsamts einsehen.