Einführung in die Informatik: Programmierung und Softwareentwicklung
Aktuelles | Inhalt | Personen | Zeit und Ort | Materialien | Übungen | Klausur | Hörerkreis | Wiederholung | Literatur
Aktuelles
- 28.02.2019: Nachholklausur: Die Räume für die Nachholklausur stehen fest (6 ECTS im Hörsaal B 201, 9 ECTS im AudiMax). Vergessen Sie nicht die Anmeldung im UniWorX!
- 04.02.2019: Klausurrelevanter Stoff:
Für die 6 ECTS-Klausur: Kapitel 1 bis 10
Für die 9 ECTS-Klausur: Der Inhalt der Vorlesung am 6.2.2019 ist nicht relevant für die Klausur am 8.2.2019. Die Vorlesung am 30.01.2019 hat Kapitel 14 bis einschließlich zur Folie 46/60 ("Beispiel Breitendurchlauf") behandelt. - 30.01.2019: Klausurhinweise: Wir schicken Ihnen in den nächsten Tagen wichtige Hinweise zur Klausur per Mail über UniWorX. Kontrollieren Sie daher Ihre Campus-Mailadresse!
- 30.01.2019: Klausureinsicht: Die Einsicht zur Klausur findet am Dienstag, dem 26.02.2019, von 13 bis 15 Uhr im Raum F003 Oettingenstr. 67 statt.
- 29.01.2019: Fragestunde: In der Zentralübung am 06.02.2019 findet eine Fragestunde für alle Studierenden (6 ECTS und 9 ECTS statt). Bitte schicken Sie mir vorher Ihre Fragen per Email.
- 18.12.2018: Reduzierung der Übungsgruppen: Da der Vorlesungsstoff beginnend mit Kapitel 11 (vom 09.01.2019) nicht mehr für die Klausur mit 6 ECTS relevant ist, reduzieren wir ab 11.01.2019 die Übungsgruppen auf Fr 12-14, Fr 14-16 und Mo 14-16. Die Übungsgruppen Fr 10-12, Mo 16-18 und Mo 18-20 finden dann nicht mehr statt. Bis 07.01.2019 finden alle Übungstermine regulär statt.
- 18.12.2018: Probeklausur: Unter Materialien finden Sie eine Probeklausur inklusive Musterlösung für 6 ECTS und 9 ECTS. Die Probeklausur wird nicht im Rahmen der Vorlesung, Zentralübung oder Tutorium besprochen. Sie dient der selbstständigen Vorbereitung.
- 24.09.2018: Nachholklausur: Der Termin der Nachholklausur steht fest (25.03.2019, 12 bis 16 Uhr).
- 24.09.2018: Java-Kurs: Für Studierende im Nebenfach Informatik zu 60 ECTS gibt es einen verpflichtenden Javakurs für Anfänger Mittwochs nach der Zentralübung, s. auch die Folien zu diesem Kurs.
- 10.09.2018: Anmeldung zur Vorlesung: Diese Vorlesung wird per UniWorX verwaltet. Bitte melden Sie sich dort mit Ihrer Campus-eMail-Adresse an und registrieren Sie sich für die Vorlesung, den Übungsbetrieb und (später) für die Klausur. Per UniWorX können Sie im Verlauf der Vorlesung Übungsblätter abgeben, Korrekturen erhalten und Ihre Bewertung der Klausur einsehen. Außerdem können wir nur mit einer Anmeldung am UniWorX-System (und bei der Klausur) Ihre Noten an Ihr Prüfungsamt weiterleiten. Eine Anmeldung ist also zwingend notwendig!
Inhalte
- Grundkonzepte der Programmierung und des Systementwurfs
- Programmierung mit Java
- Objektorientierte Programmierung
- Methoden zur Beschreibung von Syntax
- Grundlegende Algorithmen und deren Komplexität
- Programmierumgebung Eclipse
Personen
- Vorlesung: Prof. Dr. David Sabel
- Übungsleitung: Dr. Philipp Wendler
Termine
Veranstaltung | Zeit | Ort | Beginn | |
---|---|---|---|---|
Vorlesung | Mi, 14ct-17Uhr | Geschw.-Scholl-Pl. 1, A 240 | 17.10.2018 | |
Zentralübung | Mi, 17st-18Uhr | Geschw.-Scholl-Pl. 1, A 240 | 17.10.2018 | |
Übung | Mo, 14ct-16 Uhr | Prof.-Huber-Pl. 2 (V), Lehrturm VU107 | 22.10.2018 | |
Übung | Mo, 16ct-18 Uhr | Prof.-Huber-Pl. 2 (V), Lehrturm VU107 | 22.10.2018 | findet ab 14.01.2019 nicht mehr statt |
Übung | Mo, 18ct-20 Uhr | Prof.-Huber-Pl. 2 (V), Lehrturm VU107 | 22.10.2018 | findet ab 14.01.2019 nicht mehr statt |
Übung | Fr, 10ct-12 Uhr | Prof.-Huber-Pl. 2 (V), Lehrturm VU107 | 19.10.2018 | findet ab 11.01.2019 nicht mehr statt |
Übung | Fr, 12ct-14 Uhr | Prof.-Huber-Pl. 2 (V), Lehrturm VU107 | 19.10.2018 | |
Übung | Fr, 14ct-16 Uhr | Prof.-Huber-Pl. 2 (V), Lehrturm VU107 | 19.10.2018 |
- Hauptklausur: Freitag, 08.02.2019 von 12 bis 16 Uhr in den Hörsäalen B 101 und B 201 im Hauptgebäude
- Nachholklausur: Montag, 25.03.2019 von 12 bis 16 Uhr in den Hörsäalen B 201 und Audimax im Hauptgebäude
Materialien
Vorlesungsfolien
Vorlesung
- Begrüßung (Vorlesung am 17. Oktober 2018)
[Bildschirmversion | Druckversion (4 Folien pro Seite, keine Animation)]
- Kapitel 1: Einführung und Grundbegriffe (Vorlesung am 17. Oktober 2018, der Abschnitt über Kommentare in Java wird erst am 24. Oktober besprochen)
[Bildschirmversion | Druckversion (4 Folien pro Seite, keine Animation)]
Programme aus der Vorlesung: BubbleSort.java, Hallo.java, DreiSyntaxFehler.java, TypFehler.java, Laufzeitfehler.java, LogikFehler.java, HalloDokumentiert.java, HalloMehrzeiligerKommentar.java
- Kapitel 2: Methoden zur Beschreibung von Syntax (Vorlesung am 24. Oktober 2018)
[Bildschirmversion | Druckversion (4 Folien pro Seite, keine Animation)]
- Kapitel 3: Grunddatentypen, Ausdrücke und Variablen (Vorlesung am 24. und 31. Oktober 2018)
[Bildschirmversion | Druckversion (4 Folien pro Seite, keine Animation)]
Programme aus der Vorlesung: Zahlentest.java, ZweierkomplementTest.java, BoolExample.java, BoolExample2.java, Division.java, FloatDoubleExample.java, Luegen.java, MathExamples.java, Ueberlauf.java
- Kapitel 4: Anweisungen und Kontrollstrukturen (Vorlesung am 31. Oktober und 07. November 2018)
[Bildschirmversion | Druckversion (4 Folien pro Seite, keine Animation)]
Programme aus der Vorlesung: TestVarDeclTwice.java
- Kapitel 5: Objekte und Klassen (Vorlesung am 07. November 2018 und 14. November 2018 )
[Bildschirmversion | Druckversion (4 Folien pro Seite, keine Animation)]
Programme aus der Vorlesung: BlockTest.java, Factorial.java, WhileExampleNumbers.java, WhileTest.java, FactorialWithFor.java, FactorialWithForDownwards.java, SternchenDrucken.java, Line.java, Point.java, PointTest.java
- Kapitel 6: Kontrollstrukturen im Kontext von Klassen und Objekten (Vorlesung am 14. November 2018 und 21. November 2018 )
[Bildschirmversion | Druckversion (4 Folien pro Seite, keine Animation)]
Programme aus der Vorlesung: LuegenFor.java, Pfefferdieb.java, TestAliasing.java, TestAliasingGrundtyp.java, PointParamTest.java, AnimalTest.java, NumAnwendung.java, RoboterTest.java, QuersummeMitStrings.java, StringEqTest.java, StringTestCharAtUndLength.java, StringTestReplace.java, StringTestSubstring.java, BankKonto.java (Kapitel 6) und BankKontoTest.java (Kapitel 6).
- Kapitel 7: Das Vererbungsprinzip (Vorlesung am 21. November 2018 und 28. November 2018 )
[Bildschirmversion | Druckversion (4 Folien pro Seite, keine Animation)]
Programme aus der Vorlesung: BankKonto.java (Kapitel 7), SparKonto.java, GiroKonto.java, GiroKontoTest.java, GiroKontoTest2.java, Point.java, SparKonto2.java, SparKontoFalsch.java, SparKontoFalsch2.java, SparKontoTest.java, SparKontoTest2.java, SparKontoTest3.java, SparKontoTest4.java, SparKontoTest5.java, BankKonto.java (mit abstrakten Klassen und Methoden), GiroKonto.java (mit abstrakten Klassen und Methoden) und SparKonto.java (mit abstrakten Klassen und Methoden). Bibliothek.zip.
- Kapitel 8: Grafische Benutzerschnittstellen (Vorlesung am 05. Dezember 2018)
[Bildschirmversion | Druckversion (4 Folien pro Seite, keine Animation)]
Programme aus der Vorlesung: v5.1.zip (BankKontoGUI Variante 1), v5.2.zip (BankKontoGUI Variante 2), v5.3.zip (BankKontoGUI Variante 3), v5.4.zip (BankKontoGUI Variante 4).
- Kapitel 9: Arrays (Vorlesung am 12. Dezember 2018)
[Bildschirmversion | Druckversion (4 Folien pro Seite, keine Animation)]
Programme aus der Vorlesung: Bank.zip FindMinIndex.java, MinIndexTest.java, DoubleValuesTest.java, TicTacToe.zip, PascalschesDreieck.java, IntStack.java, FIFOQueue.java und QueueTest.java
- Kapitel 10: Komplexität von Algorithmen und Sortierverfahren (Vorlesung am 19. Dezember 2018)
[Bildschirmversion | Druckversion (4 Folien pro Seite, keine Animation)]
Programme aus der Vorlesung: Searching.java Sorting.java
- Kapitel 11: Rekursion (Vorlesung am 9. Januar 2019)
[Bildschirmversion | Druckversion (4 Folien pro Seite, keine Animation)]
Programme aus der Vorlesung: Fact.java, Fibonacci.java, Nonterm1.java, Nonterm2.java, Collatz.java, Ackermann.java, QuickSort1.java, QuickSort2.java, Sorting.java, QuickSortVarianten.java
- Kapitel 12: Ausnahmen und Ausnahmebehandlung (Vorlesung am 16. Januar 2019)
[Bildschirmversion | Druckversion (4 Folien pro Seite, keine Animation)] -
Programme aus der Vorlesung: Test1.java, Test2.java, Test3.java, Test4.java, Div0.java, CheckedExceptionTest.java BankKonto.java, GiroKonto.java, SparKonto.java, KontoTest.java, KontoTest2.java, KontoTest3.java, KontoUngedecktException.java und gui.zip
- Kapitel 13: Listen und Generisches Programmieren (Vorlesung am 16. Januar 2019 und 23. Januar 2019)
[Bildschirmversion | Druckversion (4 Folien pro Seite, keine Animation)]
Programme aus der Vorlesung: LinkedList.zip (einfach-verkettete Liste mit double-Werten) , DoublyLinkedList.zip (doppelt-verkettete Liste mit double-Werten), genericsExamples.zip (Beispiele zum Generisches Programmieren), DoublyLinkedListGeneric.zip (Doppelt-verkettete Listen mit generischem Inhalt TestIterator.java (Beispiel zu Iteratoren).
- Kapitel 14: Bäume (Vorlesung am 30. Januar 2019 und 06. Februar 2019)
[Bildschirmversion | Druckversion (4 Folien pro Seite, keine Animation)]
Programme aus der Vorlesung: Baeume.zip (Binäre Bäume mit double-Werten) , BaeumeGenerisch.zip (Binäre Bäume mit generischen Klassen) und HufmannDecoder.zip (Beispiele zur Hufmann-Dekodierung).
- Kapitel 15: Systemarchitektur und Packages (Vorlesung am 06. Februar 2019)
[Bildschirmversion | Druckversion (4 Folien pro Seite, keine Animation)]
Programme aus der Vorlesung: BankKontoVerwaltung.zip, FalscheVerzeichnisstruktur.zip, RichtigeVerzeichnisstruktur.zip, SichtbarkeitenKlassenEbene.zip, namenskonflikt.zip
Zentralübungen
- 17.10.2018: s. Begrüßungsfolien zur Vorlesung
- 24.10.2018: Zentralübung 02 [Bildschirmversion | Druckversion (4 Folien pro Seite, keine Animation)]
- 31.10.2018: Zentralübung 03 [Bildschirmversion | Druckversion (4 Folien pro Seite, keine Animation)]
- 07.11.2018: Zentralübung 04 [Bildschirmversion | Druckversion (4 Folien pro Seite, keine Animation)]
- 14.11.2018: Zentralübung 05 [Bildschirmversion | Druckversion (4 Folien pro Seite, keine Animation)]
- 21.11.2018: Zentralübung 06 [Bildschirmversion | Druckversion (4 Folien pro Seite, keine Animation)]
- 28.11.2018: Zentralübung 07 [Bildschirmversion | Druckversion (4 Folien pro Seite, keine Animation)]
- 05.12.2018: Zentralübung 08 [Bildschirmversion | Druckversion (4 Folien pro Seite, keine Animation) | Programme]
- 12.12.2018: Zentralübung 09 [Bildschirmversion | Druckversion (4 Folien pro Seite, keine Animation)]
- 19.12.2018: Zentralübung 10 [Bildschirmversion | Druckversion (4 Folien pro Seite, keine Animation) | Programme]
- 09.01.2019: Zentralübung 11 [Bildschirmversion | Druckversion (4 Folien pro Seite, keine Animation)]
- 16.01.2019: Zentralübung 12 [Bildschirmversion | Druckversion (4 Folien pro Seite, keine Animation)]
- 23.01.2019: Zentralübung 13 [Bildschirmversion | Druckversion (4 Folien pro Seite, keine Animation)]
- 30.01.2019: Zentralübung 14 [Bildschirmversion | Druckversion (4 Folien pro Seite, keine Animation)]
- 06.02.2019: Fragestunde [Bildschirmversion | Druckversion (4 Folien pro Seite, keine Animation)]
Übungen
-
Installationsansleitung Windows, Installationsanleitung Mac
Angabe 01 (17.10.2018-23.10.2018)
Lösung 01 -
Angabe 02 (24.10.2018-07.11.2018)
Lösung 02 -
Angabe 03 (31.10.2018-14.11.2018)
Lösung 03 -
Angabe 04 (07.11.2018-21.11.2018)
Lösung 04 -
Angabe 05 (14.11.2018-28.11.2018)
Lösung 05 -
Angabe 06 (21.11.2018-05.12.2018)
Lösung 06 -
Angabe 07 (28.11.2018-12.12.2018)
Lösung 07 -
Angabe 08 (05.12.2018-19.12.2018)
Lösung 08 -
Angabe 09 (12.12.2018-09.01.2019)
Lösung 09 -
Angabe 10 (19.12.2018-16.01.2019)
Lösung 10 -
Angabe 11 (09.01.2019-23.01.2019)
Lösung 11 -
Angabe 12 (16.01.2019-30.01.2019)
Lösung 12 -
Angabe 13 (23.01.2019-04.02.2019)
Lösung 13 -
Angabe 14 (30.01.2019-04.02.2019)
Lösung 14 (nur Präsenzaufgaben)
Probeklausur
Klausur
Die reguläre Klausur findet für beide Varianten der Vorlesung (6 ECTS und 9 ECTS) am Freitag, dem 08.02.2019 (letzte Vorlesungswoche) von 12 bis 16 Uhr statt. Die Klausur für 6 ECTS findet im Hörsaal B 101, die Klausur für 9 ECTS im Hörsaal B 201 im Hauptgebäude statt. Die Klausur dauert 120 Min. für 6 ECTS und 150 Min. für 9 ECTS.
Sie müssen sich per UniWorX zur richtigen Variante der Klausur anmelden. Die Anmeldung ist bis zum 06.02.2019 08:00 Uhr möglich. Eine Teilnahme ohne Anmeldung ist nicht möglich! Falls Sie die Klausur kurzfristig doch nicht mitschreiben möchten, bitten wir außerdem um eine Abmeldung per UniWorX bis zum 06.02.2019 08:00 Uhr (wir möchten vermeiden unnötig viele Kopien anzufertigen!). Nichterscheinen ohne vorherige Abmeldung wird vermerkt (Ihr Prüfungsamt entscheidet über die Auswertung dieses Vermerks). Sie werden in der Klausur die Möglichkeit haben, Ihre Klausur zu entwerten. Sie wird dann nicht korrigiert und nicht als durchgefallen gewertet.
Die Einsicht zur Klausur findet am Dienstag, dem 26.02.2019, von 13 bis 15 Uhr im Raum F003 Oettingenstr. 67 statt.
Nachholklausur
Die Einsicht zur Nachholklausur findet am Dienstag, dem 23.04.2019, um 13 Uhr im Raum F003 Oettingenstr. 67 statt.
Die Vorlesung richtet sich nicht an Studierende mit Hauptfach Informatik, Medieninformatik oder Bioinformatik. Auch nicht an Lehramt Realschule und Gymnasium, auch nicht an Master Industrial Design.
Die Vorlesung gibt es in zwei Varianten (6 ECTS und 9 ECTS).6-ECTS Variante:
(1) Bachelorstudiengänge verschiedener Fachbereiche mit Nebenfach Informatik zu 30 ECTS-Punkten.
(2) Bachelorstudiengänge verschiedener Fachbereiche mit Nebenfach Medieninformatik zu 60 ECTS-Punkten. (Alternative zu Einführung in die Programmierung für Nebenfach Medieninformatik.)
(3) Bachelor Physik Wahlpflichtlehrveranstaltung des Moduls V
(4) Bachelor Statistik Wahlpflichtlehrveranstaltung (falls Informatik nicht als Nebenfach entsprechend (1) gewählt)
(5) Bachelor Chemie und Biochemie Wahlpflichtlehrveranstaltung
(6) Diplom- und Magisterstudiengänge mit Nebenfach Informatik (außer Diplom-Mathematik), z.B. VWL-Diplom 4 Leistungspunkte
(7) Bachelor Biologie, Wissenschaftliches Wahlmodul
(8) Bachelor BWL und Wirtschaftspädagogik Wahlpflichtlehrveranstaltung (nach PSTO 2015)
9-ECTS Variante:
(9) Bachelorstudiengänge verschiedener Fachbereiche mit Nebenfach Informatik zu 60 ECTS-Punkten.
(10) Bachelor BWL Wahlpflichtlehrveranstaltung (alte PSTO)
(11) Bachelor VWL Wahlpflichtlehrveranstaltung
(12) Master Chemie
(13) Master Biochemie
Im Fall (9) muss zusätzlich der Javakurs für Anfänger für 3 ECTS von Kyrill Schmid belegt werden (s. auch die Folien zu diesem Kurs)!
Wiederholung der Klausur und Notenverbesserung
Im Fall (1), (2) und (9) gelten die Regelungen des Instituts für Informatik. Danach kann die Klausur beliebig oft wiederholt werden, wenn sie noch nicht bestanden ist. Nach Bestehen ist eine einmalige Notenverbesserung möglich.
In allen anderen Fällen gilt die Prüfungsordnung des jeweiligen Hauptfachs. Dies betrifft insbesondere den Fall (4). Zu beachten ist jedoch, dass im Hauptfach Statistik auch das Nebenfach Informatik zu 30 ECTS gewählt werden kann nach Fall (1). Dann ist diese Vorlesung Pflicht und kann nicht mehr als Wahlpflichtfach nach (4) gewählt werden. In diesem Fall gelten, wie oben bemerkt, die Regelungen des Instituts für Informatik.
In Zweifelsfällen wenden Sie sich bitte an das Prüfungsamt Ihres Studiengangs oder Hauptfachs.
Literatur:
- Verschiedene Bücher von Cay Horstmann, die alle für Anfänger geeignet sind:
Computing Concepts with Java Essentials oder Java Concepts oder Big Java; alle erschienen im Verlag Wiley & Sons. - Gumm, Sommer. Einführung in die Informatik, Oldenbourg-Verlag.
Dieses Buch führt in verschiedene Aspekte der Informatik ein, nicht nur in die Programmierung mit Java. - Allaithy Raed, Matthias Hölzl, Martin Wirsing. Java Kompakt: Eine Einführung in die Software-Entwicklung mit Java, Springer-Verlag.
- Christian Ullenboom, Java ist auch eine Insel (online kostenlos verfügbar)
- Guido Krüger, Thomas Stark, Handbuch der Java-Programmierung (online kostenlos verfügbar)
- David J. Eck, Introduction to Programming using Java (online kostenlos verfügbar)