Transcript
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 und der 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 Objektorientierter Programmentwurf Idee und Merkmale der objektorientierten Programmierung 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
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 (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“ (11. Aufl.), ISBN 978-3-8362-2873-2 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-Referenz-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