Lehrver­anstaltung

PI1 - Praktische Informatik 1


PDF Lehrveranstaltungsverzeichnis English Version: PI1

Version: 2 | Letzte Änderung: 10.09.2019 15:49 | Entwurf: 0 | Status: vom verantwortlichen Dozent freigegeben

Langname Praktische Informatik 1
Anerkennende LModule PI1_BaET
Verantwortlich
Prof. Dr. Dieter Rosenthal
Professor Fakultät IME
Niveau Bachelor
Semester im Jahr Wintersemester
Dauer Semester
Stunden im Selbststudium 60
ECTS 5
Dozenten
Prof. Dr. Dieter Rosenthal
Professor Fakultät IME

Ursula Derichs
Lehrkraft für besondere Aufgaben
Voraussetzungen keine
Unterrichtssprache deutsch
separate Abschlussprüfung Ja
Literatur
Elektronische Verweise auf ebook und Online Tutorials
Abschlussprüfung
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
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.

Lernziele

Kenntnisse
Algorithmen
Eigenschaften
Darstellungsmöglichkeiten
Digitalrechner
Bit/Byte-Begriff
Grobaufbau der Soft- und Hardware-Architektur
Grundbegriffe der Programmierung
höhere Programmiersprachen vs. Maschinensprachen
Übersetzung vs. Interpretation
prozedurale vs. objektorientierte Sprachen: C vs. C++
Variablen-Begriff
einfache Datentypen in C
Zahlen
Wertebereiche
Konstantendarstellung
Operationen
Zeichen
Codierungen: ASCII, Unicode
Operationen
Zeichenketten
boolesche Werte
Konstantendarstellung
Operationen
Kontrollstrukturen in 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
Arrays in C
Indizierung und Schleifen
mehrdimensionale Arrays
Funktionen:
Aufbau
Parameterübergabe (Call by value, Call by reference)
Speicherorganisation:
Pointer-Begriff
Dynamischer Speicher
Strukturen in C:
Aufbau
Anwendung (statisch/dynamisch)

Fertigkeiten
Erstellung von Algorithmen zur Lösung vorgegebener Probleme
Beschreibung in natürlicher Sprache
Beschreibung in grafischer Form (Struktogramme und/oder Programmablaufpläne)
Programmierung elementarer Operationen in einer höheren Sprache
auf Zahlen
auf Zeichen und Zeichenketten
auf booleschen Werten
Programmierung mit Kontrollstrukturen
Programmierung mit Funktionen
Programmierung mit strukturierten Datentypen, insbes. Arrays und Strukturen
Aufwand Präsenzlehre
Typ Präsenzzeit (h/Wo.)
Vorlesung 2
Übungen (ganzer Kurs) 1
Übungen (geteilter Kurs) 1
Tutorium (freiwillig) 0
Besondere Literatur
keine/none
Besondere Voraussetzungen
keine
Begleitmaterial
elektronische Vortragsfolien zur Vorlesung
frei verfügbare Softwareentwicklungsumgebungen aus dem Internet
Separate Prüfung
keine

Lernziele

Kenntnisse
Programmierung elementarer Operationen auf einfachen Datentypen
Programmierung mit Kontrollstrukturen (mit vorheriger Erstellung entsprechender Struktogramme und/oder Programmablaufpläne)
Programmierung mit strukturierten Datentypen, insbes. Arrays

Fertigkeiten
Umgang mit einer Softwareentwicklungsumgebung
Fehlersuche und -beseitigung in Programmen
Erstellung von Algorithmen und Umsetzung in Programme
Anwendung der unter "Kenntnisse" und "Fertigkeiten" genannten Aspekte auf praxisbezogene Szenarien durch selbstständige Arbeit in kleinem Team.
Aufwand Präsenzlehre
Typ Präsenzzeit (h/Wo.)
Praktikum 1
Tutorium (freiwillig) 0
Besondere Literatur
keine/none
Besondere Voraussetzungen
keine
Begleitmaterial
elektronische Sammlung von Beispielprogrammen
frei verfügbare Softwareentwicklungsumgebungen
Separate Prüfung
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. C-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