Praktische Informatik 1
PDF Lehrveranstaltungsverzeichnis English Version: PI1
Version: 2 | Letzte Änderung: 01.08.2019 16:59 | Entwurf: 0 | Status: vom verantwortlichen Dozent freigegeben
Langname | Praktische Informatik 1 |
---|---|
Anerkennende LModule | PI1_BaTIN |
Verantwortlich |
Prof. Dr. Cartsten Vogt
Professor Fakultät IME |
Gültig ab | Wintersemester 2020/21 |
Niveau | Bachelor |
Semester im Jahr | Wintersemester |
Dauer | Semester |
Stunden im Selbststudium | 60 |
ECTS | 5 |
Dozenten |
Prof. Dr. Cartsten Vogt
Professor Fakultät IME |
Voraussetzungen | keine |
Unterrichtssprache | deutsch |
separate Abschlussprüfung | Ja |
siehe http://www.nt.fh-koeln.de/vogt/dv/dv_lit.pdf |
Details |
Schriftliche Klausur: Die Studierenden sollen nachweisen, dass sie 1.) mit grundlegenden Begrifflichkeiten sicher umgehen, 2.) programmiersprachliche und abstraktere Konstrukte zur Lösung von Anwendungsproblemen einsetzen und 3.) programmiersprachliche Lösungsvorschläge auf Korrektheit prüfen können. Typische Aufgabenformen zu 1.) sind Multiple-Choice-Fragen, Lückentexte, Bewertung von Aussagen hinsichtlich ihrer Korrektheit, zu 2.) Lösung kleinerer umgangssprachlich formulierter Probleme durch Struktogramme und Programmstücke und zu 3.) das Finden von Fehlern in vorgegebenen Programmstücken. |
---|---|
Mindeststandard | Mindestens 50% der möglichen Gesamtpunktzahl. |
Prüfungstyp | Klausur |
Zieltyp | Beschreibung |
---|---|
Kenntnisse | Algorithmen Eigenschaften Darstellungsmöglichkeiten |
Kenntnisse | Digitalrechner Bit/Byte-Begriff Grobaufbau der Soft- und Hardware-Architektur |
Kenntnisse | Grundbegriffe der Programmierung höhere Programmiersprachen vs. Maschinensprachen Übersetzung vs. Interpretation prozedurale vs. objektorientierte Sprachen: C vs. Java |
Kenntnisse | Variablen-Begriff |
Kenntnisse | einfache Datentypen in Java (und C) Zahlen Wertebereiche Konstantendarstellung Operationen Zeichen Codierungen: ASCII, Unicode Operationen Zeichenketten boolesche Werte Konstantendarstellung Operationen |
Kenntnisse | Kontrollstrukturen in Java (und C) abstrakte Darstellungsformen Struktogramme Programmablaufpläne Blöcke bedingte Anweisungen if if-else Mehrfachverzweigungen: switch-case Schleifen kopfgesteuerte Schleifen for while fußgesteuerte Schleifen: do-while |
Kenntnisse | statische Methoden in Java Definition von Methoden Kopf mit Parametern und Rückgabetyp Körper mit Wertrückgabe Aufruf von Methoden Parameterübergabe: Wertaufruf vs. Referenzaufruf Überladung Speicherklassen |
Kenntnisse | Arrays in Java Speicherorganisation: Referenz-Begriff Indizierung und Schleifen mehrdimensionale Arrays |
Kenntnisse | Objekte und Klassen in Java Motivation und Grundbegriffe der objektorientierten Programmierung Kapselung Objekte mit Attributen und Methoden Klassen Konstruktoren Zugriffsschutz klassenbezogene Attribute und Methoden |
Fertigkeiten | Erstellung von Algorithmen zur Lösung vorgegebener Probleme Beschreibung in natürlicher Sprache Beschreibung in grafischer Form (Struktogramme und/oder Programmablaufpläne) |
Fertigkeiten | Programmierung elementarer Operationen in einer höheren Sprache auf Zahlen auf Zeichen und Zeichenketten auf booleschen Werten |
Fertigkeiten | Programmierung mit Kontrollstrukturen |
Fertigkeiten | Programmierung mit Methoden |
Fertigkeiten | Programmierung mit strukturierten Datentypen, insbes. Arrays |
Fertigkeiten | Programmierung mit grundlegenden Techniken der objektorientierten Programmierung (Klassen und Objekte) |
Typ | Präsenzzeit (h/Wo.) |
---|---|
Vorlesung | 2 |
Übungen (ganzer Kurs) | 1 |
Übungen (geteilter Kurs) | 1 |
Tutorium (freiwillig) | 0 |
keine |
Begleitmaterial |
elektronische Vortragsfolien zur Vorlesung , frei verfügbare Softwareentwicklungsumgebungen aus dem Internet, elektronische Sammlung von Beispielprogrammen , Links auf relevante Web-Seiten , Literaturempfehlungen |
---|---|
Separate Prüfung | Nein |
Zieltyp | Beschreibung |
---|---|
Kenntnisse | Programmierung elementarer Operationen auf einfachen Datentypen |
Kenntnisse | Programmierung mit Kontrollstrukturen (mit vorheriger Erstellung entsprechender Struktogramme und/oder Programmablaufpläne) |
Kenntnisse | Programmierung mit Methoden |
Kenntnisse | Programmierung mit strukturierten Datentypen, insbes. Arrays |
Fertigkeiten | Umgang mit einer Softwareentwicklungsumgebung |
Fertigkeiten | Fehlersuche und -beseitigung in Programmen |
Fertigkeiten | Erstellung von Algorithmen und Umsetzung in Programme |
Fertigkeiten | Anwendung der unter "Kenntnisse" und "Fertigkeiten" genannten Aspekte auf praxisbezogene Szenarien durch selbstständige Arbeit in kleinem Team. |
Typ | Präsenzzeit (h/Wo.) |
---|---|
Praktikum | 1 |
Tutorium (freiwillig) | 0 |
keine |
Begleitmaterial |
elektronische Sammlung von Beispielprogrammen , frei verfügbare Softwareentwicklungsumgebungen |
---|---|
Separate Prüfung | Ja |
Prüfungstyp | praxisnahes Szenario bearbeiten (z.B. im Praktikum) |
---|---|
Details | Die Studierenden schließen sich zu Kleingruppen zusammen. Jede Kleingruppe absolviert mehrere "Praktikumsrunden" mit zugewiesenen Laborterminen. In jeder Runde werden Programmieraufgaben algorithmischer und objektorientierter Art gelöst - erstens durch eine abstraktere Darstellung (z.B. Beschreibung eines Algorithmus durch ein Struktogramm), zweitens durch eine programmtechnische Umsetzung (z.B. Java-Programm). Zur Vorbereitung eines Labortermins muss ein "Vorbereitungsblatt" praktisch gelöst werden. Die dabei erworbenen Kenntnisse werden zu Beginn des Termins geprüft (kurzer schriftlicher Eingangstest, persönliches Gespräch mit dem Betreuer). Wird diese Prüfung nicht bestanden, so muss ein Folgetermin wahrgenommen werden; im Wiederholungsfall führt dies zum Nichtbestehen des Praktikums. Im Erfolgsfall wird ein "Laborarbeitsblatt" mit weiteren Aufgaben unter Aufsicht (und ggf. mit Hilfestellung) bearbeitet. |
Mindeststandard | Erfolgreiche Teilnahme an allen Laborterminen, d.h. insbesondere selbstständige (ggf. mit Hilfestellung) Lösung der Programmieraufgaben. |
© 2022 Technische Hochschule Köln