Programmieren I - Überblick - KIT

Werbung
Programmieren I
Überblick
Institut für Angewandte Informatik
KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft
www.kit.edu
Übersicht Modul „Programmieren“
Programmieren I (1. Semester)
4 Vorlesungs- und Übungsstunden / Woche
1 Stunde begleitetes Selbststudium / Woche
6,25 (!) weitere Stunden Selbststudium / Woche
Keine Klausur
Programmieren II (2. Semester)
4 Vorlesungs- und Übungsstunden / Woche
1 Stunde begleitetes Selbststudium / Woche
6,25 (!) weitere Stunden Selbststudium / Woche
Klausur für beide Semester
: 8+2 Semesterwochenstunden, 9 ECTS-Punkte (Credit
Points)
2
W. Geiger, W. Süß, T. Schlachter, C. Schmitt
Institut für Angewandte Informatik
Das sagt der Studienplan (1) – Ziele/Kompetenzen
Siehe Modulbeschreibung "Programmieren (T2INF1004)", S. 15/16
Grundelemente der
prozeduralen Programmierung und
objektorientierten Programmierung kennen lernen
Selbständig ein Programmdesign entwerfen
Programme codieren
Systematisches Testen und Fehlersuche durchführen
Verschiedene Strukturierungsmöglichkeiten in einer modernen
Programmiersprache kennen lernen
Verschiedener Datenstrukturen und ihre Anwendungsmöglichkeiten
Beispielhaft in eine Programmierumgebung einarbeiten
und diese einsetzen
Existierenden Code analysieren und beurteilen
Logik und Boolsche Algebra in der Programmierung anwenden können
3
W. Geiger, W. Süß, T. Schlachter, C. Schmitt
Institut für Angewandte Informatik
Das sagt der Studienplan (2) – Inhalte
Kenntnisse in prozeduraler Programmierung
Algorithmenbeschreibung
Datentypen
Operatoren
E/A-Operationen
Kontrollstrukturen
Funktionen
Stringverarbeitung
Strukturierte Datentypen
Dynamische Datentypen
Dateiverarbeitung
Rekursion
Speicherverwaltung
4
W. Geiger, W. Süß, T. Schlachter, C. Schmitt
Institut für Angewandte Informatik
Das sagt der Studienplan (3) – Inhalte
Kenntnisse in objektorientierter Programmierung
Idee und Merkmale der objektorientierten Programmierung
Objektorientierter Programmentwurf
Klassenkonzept
Operatoren / Methoden
Überladen von Operatoren / Methoden
Vererbung und Überschreiben von Operatoren / Methoden
Polymorphismus
Template
Klassenbibliotheken
Speicherverwaltung (Garbage Collector)
5
W. Geiger, W. Süß, T. Schlachter, C. Schmitt
Institut für Angewandte Informatik
Und was machen wir tatsächlich?
Programmieren I
Programmiersprache Java
Entwicklungsumgebungen, Java Packages
Primitive Datentypen, Operatoren und Ausdrücke
Kontrollstrukturen
Arrays
Objektorientierte Programmierung
Klassen und Objekte
Strings und Wrapperklassen
Methoden
Programmdokumentation
Vererbung, Polymorphismus
Fehlerbehandlung (Exceptions)
Input/Output
6
W. Geiger, W. Süß, T. Schlachter, C. Schmitt
Institut für Angewandte Informatik
Und was machen wir tatsächlich?
Programmieren II
Grafische Benutzeroberflächen (Swing)
Abstrakte Klassen, Interfaces und innere Klassen
Ereignisverarbeitung (Events)
Gestalten eigner grafischer Komponenten (Zeichnen)
Datenstrukturen, Collection-Framework, generische Datentypen
Aufzählungstypen (enum)
Nebenläufigkeit (Threads)
Arbeiten mit XML- und JSON-Dokumenten
JUnit-Testing (testgetriebene Softwareentwicklung)
7
W. Geiger, W. Süß, T. Schlachter, C. Schmitt
Institut für Angewandte Informatik
Was machen wir nicht?
Entwurf größerer Programmsysteme
 Software-Engineering
Algorithmen-Entwurf und -bewertung
 Theoretische Informatik I+II
8
W. Geiger, W. Süß, T. Schlachter, C. Schmitt
Institut für Angewandte Informatik
Ablauf der Vorlesungen
ca. 10-20 % Wiederholung (Lösung Übungsaufgaben)
ca. 50-60 % Vorlesung (neuer Stoff)
ca. 30-40 % Übungen (Übungsaufgaben)
Selbststudium
1 Übungsstd. „begleitetes
Selbststudium“ (Übungen)
ca. 0-5 h Heimarbeit
(insb. Fertigstellung
Übungsaufgaben)
[Zur Erinnerung:
Studienplan: „+6,25h“]
9
W. Geiger, W. Süß, T. Schlachter, C. Schmitt
Lernerfolg
Institut für Angewandte Informatik
Prinzipien
Fragen stellen (jederzeit!), Diskussionen anzetteln
Learning by doing
(„Programmieren lernt man nur durch Programmieren!“)
Laptop notwendig
Vertraute Umgebung nutzen
eigener Laptop
Betriebssystem und IDE nach
eigenem Gusto
Gegenseitige Hilfe
s. „anderen erklären“ 
Hilfe bei Fragen und Problemen
Eigenverantwortung („Selber groß!“)
10
W. Geiger, W. Süß, T. Schlachter, C. Schmitt
Institut für Angewandte Informatik
Prüfung
Klausur nach dem 2. Semester und der folgenden
Praxisphase (voraussichtlich Anfang Oktober)
120 Minuten
Programmieraufgabe
Bearbeitung auf eigenem Laptop, Abgabe: Quellcode
Hilfsmittel: Folien, Übungsaufgaben mit eigenen und Musterlösungen
„Probeklausuren" am Ende des 1. und 2.Semesters
„Echte“ Bedingungen
Standortbestimmung
Ohne Bewertung
11
W. Geiger, W. Süß, T. Schlachter, C. Schmitt
Institut für Angewandte Informatik
Literatur
„Java (1. u. 2. Band)“, Heusch, RRZN Hannover
„Grundkurs Programmieren in Java“, Ratz et al.,
ISBN 978-3-446-44073-9
Heusch
Ratz
„Java ist auch eine Insel“ (12. Aufl.), C. Ullenboom, ISBN 978-38362-4119-9
http://www.tutego.de/javabuch/Java-ist-auch-eine-Insel/10/ (10. Aufl.)
„Java als erste Programmiersprache“, Joachim Goll et al., ISBN 9783-8348-1857-7
Java-Tutorials (von Oracle)
(zu diversen Themen)
http://docs.oracle.com/javase/tutorial/index.html
API-Dokumentation (von Oracle)
http://docs.oracle.com/javase/8/docs/api/
Und: Das Netz ist Dein Freund 
12
W. Geiger, W. Süß, T. Schlachter, C. Schmitt
Institut für Angewandte Informatik
Online-Ressourcen von uns Dozenten
Vorlesungsfolien:
 www.iai.kit.edu/~werner.geiger/programmieren.html
Übungsblätter (mit Aufgaben) und Musterlösungen:
 www.iai.kit.edu/~javavorlesung/dhbw/aufgaben.html
Kontakt:
[email protected]
[email protected]
[email protected]
[email protected]
13
W. Geiger, W. Süß, T. Schlachter, C. Schmitt
Institut für Angewandte Informatik
Herunterladen