Praktische Informatik 1
Practical Computer Science 1
|
Modulnummer
IBGP-PI1
|
Bachelor
|
Zugeordnet zu Masterprofil
|
Modulbereich
:
Praktische und Technische Informatik
Modulteilbereich
:
(keine Angabe)
|
Anzahl der SWS
V |
UE |
K |
S |
Prak. |
Proj. |
∑ |
4 |
0 |
0 |
0 |
4 |
0 |
8 |
|
Kreditpunkte
:
9
|
Turnus
angeboten in jedem WiSe
|
Formale Voraussetzungen
:
-
|
Inhaltliche Voraussetzungen
:
-
|
Vorgesehenes Semester
:
1. Semester
|
Sprache
:
Deutsch
|
Ziele
:
- Grundlegende Informatikkonzepte wiedergeben und erklären können.
- Konzepte einer imperativen Programmiersprache kennen, verstehen und anwenden können.
- Anschauliche Sachverhalte im Modell der Objektorientierung ausdrücken können.
- Einfache Algorithmen entwickeln und in Java umsetzen können.
- Einfache in Java realisierte Algorithmen systematisch testen können.
- Probleme in Teilprobleme zerlegen und diese Strukturierung mit Mitteln von Java umsetzen und aussagekräftig dokumentieren können.
- Formale Syntaxbeschreibungen verstehen können.
- Eine einfache Entwicklungsumgebung nutzen können.
- LaTeX zur Erstellung einfacher Dokumente nutzen können.
- Versionsverwaltungssysteme einsetzen können.
- In Gruppen Probleme analysieren und gemeinsam Lösungsstrategien entwickeln und präsentieren können.
Die Vorlesungen Praktische Informatik 1 und 2 vermitteln essenzielles Grundwissen und Basisfähigkeiten, deren Beherrschung für nahezu jede vertiefte Beschäftigung mit Informatik – sowohl in der industriellen Anwendung, als auch in der Forschung – Voraussetzung ist.
|
Inhalte
:
- Basiswissen: von Neumannsche Rechnerorganisation – Grundlagen der Rechnerarchitektur – Programm und Prozess – Programmiersprachen – Compiler, Assembler, Loader, Linker, Interpreter, Laufzeitumgebungen, Betriebssysteme – Grafische Benutzungsschnittstellen
- Datenstrukturen: Information und ihre Repräsentation – Datentypen und Typanalyse – Elementare und zusammengesetzte Datentypen – rekursive Datentypen – Kanonische Operationen auf den eingeführten Datenstrukturen
- Programmierparadigmen: (1) Imperative und funktionale Programmierung, (2) Objektorientierte (imperative) Programmierung, (3) Sequenzielle Programme versus nebenläufige Programme
- Grundkomponenten imperativer Programmiersprachen: Schnittstellen und Ein-/Ausgabe, Variablen und Zuweisungen, Kontrollstrukturen, Blöcke, Funktionen, Rekursion
- Syntax und Semantik imperativer Programmiersprachen: Syntax und Methoden der Syntax-Spezifikation, reguläre Ausdrücke, (erweiterte) Backus-Naur-Form (E)BNF
- Prinzipien der objektorientierten Programmierung: Geheimnisprinzip – Methoden – Operationen – Objekte – Klassen – Botschaften – Ereignisverarbeitung – Attribute – Vererbung – Polymorphismus – Überladung – Generische Datentypen
- Umsetzung der Punkte 2.-6. mit Java – Illustration anhand einfacher Algorithmen
- Programmdokumentation und zugehörige Hilfswerkzeuge, z.B. JavaDoc
- Testen von Programmen und zugehörige Hilfswerkzeuge, z.B. JUnit
- Grundlagen der Netzwerkkommunikation: IP-Adressen, DNS, TCP, UDP
- Grundkonzepte der Entwicklung graphischer Oberflächen
Programmier-Praktikum: Programmentwicklung in Java – Realisierung einzelner, überschaubarer Programmieraufgaben
Lehrveranstaltung(en):
- 03-IBGP-PI1 Praktische Informatik 1: Imperative Programmierung und Objektorientierung
|
Unterlagen (Skripte, Literatur, Programme usw.)
:
- David J. Barnes, Michael Kölling: Java lernen mit BlueJ - Objects first - Eine Einführung in Java. Aktuelle Auflage. Pearson Studium.
Weitere Informationen (Beispielprogramme, Musterlösungen, im WWW verfügbare Literatur) sind auf der Web-Seite der Veranstaltung zu finden.
|
Form der Prüfung
:
KP; PL1: 70\%, PL2: 30\%; Portfolio, Klausur
|
Arbeitsaufwand
Präsenz |
112 |
Übungsbetrieb/Prüfungsvorbereitung |
158 |
Summe |
270 h |
|
Lehrende:
Dr. T. Röfer, N.N.
|
Verantwortlich
Prof. Dr. U. Bormann
|