Praktische Informatik 1 (Kopie vom Tue May 26 14:16:10 +0200 2020) (Kopie vom Sun Jun 21 19:49:05 +0200 2020) (deleted:Mon Jun 22 11:07:15 +0200 2020)
Practical Computer Science 1
|
Modulnummer
IBGP-PI1
|
Bachelor
|
Zugeordnet zu Masterprofil
|
Modulbereich
:
Praktische und Technische Informatik
Modulteilbereich
:
700 Grundlagen der Praktischen und Technischen Informatik
|
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 und für einfache Sprachen entwickeln können.
- Operationelle Semantik einfacher While-Sprachen verstehen und zum Nachweis einfacher Programmeigenschaften anwenden können
- Eine 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 – Browser – Grafische Benutzungsschnittstellen – Shells
- Datenstrukturen: Information und ihre Repräsentation – Datentypen und Typanalyse – Elementare und zusammengesetzte Datentypen – rekursive Datentypen – Kanonische Operationen auf den eingeführten Datenstrukturen
- Algorithmen: Begriff des Algorithmus – Beschreibung von Algorithmen – Algorithmische Umsetzung kanonischer Operationen auf Datenstrukturen – Kontrollstrukturen – Rekursion – Grundlegende Strategien: Greedy-Strategie versus Divide-and-ConquerStrategie
- Programmierparadigmen: (1) Imperative, funktionale und logische 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, Syntaxgraphen – operationelle Semantik für Zuweisungen und Kontrollstrukturen
- Prinzipien der objektorientierten Programmierung: Geheimnisprinzip – Methoden – Operationen – Objekte – Klassen – Botschaften – Ereignisverarbeitung – Attribute – Vererbung – Polymorphismus – Overloading
- Umsetzung der Punkte 2.-7. mit Java – Illustration anhand einfacher Algorithmen
- Programmdokumentation und zugehörige Hilfswerkzeuge, z.B. JavaDoc – Doxygen
- Testen von Programmen und zugehörige Hilfswerkzeuge, z.B. JUnit
- Basisdienste im Internet: telnet, ftp und ihre sicheren Varianten ssh, scp, sftp
- World-Wide-Web – Grundbegriffe von HTML
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.)
:
- G. Saake und K.-U. Sattler: Algorithmen und Datenstrukturen. dpunkt.verlag, Heidelberg (2004)
- R. Schiedermeier: Programmieren mit Java. Pearson, München (2005)
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, Dr. K. Hölscher
|
Verantwortlich
Dr. Thomas Röfer
|