Vorlesung: Einführung in die Praktische Informatik (Modul IPI)
(LSF, Modulhandbuch)
Wichtig
2016-04-04: | Die Raumzuteilung für die Nachklausur steht fest. Bitte entnehmen Sie der Tabelle "Raumzuteilung für die Nachklausur" (unten auf dieser Seite), wo Ihre Nachklausur am 6. April um 15 Uhr stattfindet. Erscheinen Sie bitte spätestens um 15 Uhr. |
2016-03-11: | Die Nachklausur findet am 6. April um 15 Uhr statt. Wenn Sie an dieser Klausur teilnehmen, melden Sie sich bitte bis zum 3. April um 23:59 Uhr in MÜSLI an. Achtung: Wegen des Umzugs ins Mathematikon steht MÜSLI um den 10. März nicht zur Verfügung. |
2016-02-04: | Die Raumzuteilung für die Klausur steht fest. Bitte entnehmen Sie der Tabelle "Raumzuteilung für die Klausur" (unten auf dieser Seite), wo Ihre Klausur am 6. Februar um 13:15 Uhr stattfindet. Erscheinen Sie bitte spätestens um 13 Uhr. |
2016-02-02: | Die Anmeldefrist für die Prüfung endet am Mittwoch 03.02.2016 23:59 Uhr. Wichtig: Sie müssen sich bis zu diesem Termin zur Klausur anmelden, auch wenn Sie nur an der zweiten Klausur teilnehmen wollen. Details entnehmen Sie bitte dem Informationsblatt vom 15 Januar 2016. |
2016-01-21: | Das Übungsblatt 13 wurde aktualisiert (mit sierpinski-graphical.cc erweitert), bitte verwenden Sie die aktuelle Version. |
2016-01-15: | Bitte melden Sie sich bis Mittwoch 03.02.2016 23:59 Uhr zur Klausur an. Informationen zur Anmeldung und zur Klausur befinden sich hier. Etwaige Fragen richten Sie bitte an ipi2015@iwr.uni-heidelberg.de. |
2015-12-20: | Das Weihnachts-Übungsblatt 10 liegt bereit und enthält nur Bonusaufgaben. Bitte beachten Sie die für dieses Übungsblatt abweichenden Aus- und Abgabetermine. Übungsblatt 11 wird kommenden Dienstag (22.12.2015) ausgegeben. |
2015-12-17: | Das Übungsblatt 09 wurde leicht (nicht inhaltlich) angepasst. Bitte verwenden Sie die aktuelle Version. |
2015-11-18: | Die Klausur findet am Samstag, den 6. Februar 2016 um 13:15 Uhr statt. |
2015-11-05: | Bitte beachten Sie, dass aufgrund zu kleiner Nachfrage ab sofort nur noch ein Termin für das Betreute Programmieren angeboten wird (Montag 16:15 Uhr). |
2015-10-26: | Bitte beachten Sie eine Raumänderung: die Übung Donnerstag 16:15 Uhr wurde dauerhaft von INF 368 220 nach INF 325 SR 24 verlegt. |
2015-10-17: | Die Zuteilung in MÜSLI-UNIX-und-Pool ist erfolgt und kann dort ersehen werden. Leider wurde Montag 14:15 und Mittwoch 18:15 Uhr nicht oft genug als Präferenz gewählt, weshalb einige Studierende nicht zugeteilt werden konnten. Falls Ihnen kein Platz zugewiesen wurde, aber Montag 14:15 oder Mittwoch 18:15 (oder beide) doch passen würde, dann informieren Sie uns entsprechend unter ipi2015@iwr.uni-heidelberg.de und wir werden Sie direkt eintragen (first come first served). Bitte erwähnen Sie auch, dass es sich um "MÜSLI-UNIX-und-Pool" und nicht um eine Übungsgruppe handelt. |
2015-10-16: | Bitte passsen Sie bis Samstag 17.10. 16 Uhr erneut Ihre Präferenzen für "Betreutes Programmieren" und "UNIX-Einführung" im MÜSLI-UNIX-und-Pool an, wir haben aufgrund der großen Nachfrage soeben noch zwei weitere Gruppen (Montag 14-16 Uhr und Mittwoch 18-20 Uhr) erstellen müssen. |
2015-10-16: | Bitte beachten Sie eine Raumänderung: die Übung Dienstag 11:15 Uhr wurde dauerhaft von INF 288 HS 5 nach INF 327 SR 1 verlegt. |
2015-10-16: | Die Zuteilung in MÜSLI-Übungen ist erfolgt und kann dort entnommen werden. |
2015-10-15: | Übungsblatt 1 ist online. |
2015-10-15: | Bitte passsen Sie Ihre Präferenzen für "Betreutes Programmieren" und "UNIX-Einführung" im MÜSLI-UNIX-und-Pool an, wir haben aufgrund der großen Nachfrage soeben eine weitere Gruppe am Montag 18-20 Uhr erstellt. |
2015-10-15: | Bitte tragen Sie bis Freitag, 16. Oktober 2015, 16:00 Uhr Ihre Präferenzen für "Betreutes Programmieren" und "UNIX-Einführung" im MÜSLI-UNIX-und-Pool ein. |
2015-10-14: | Falls Sie sich heute bereits eingetragen haben, wiederholen Sie bitte die Eintragung der Präferenzen für "Betreutes Programmieren" und "UNIX-Einführung" im neu eigens erstellten MÜSLI-UNIX-und-Pool. Bitte entschuldigen Sie die Umstände. |
2015-10-13: | Wir haben uns entschlossen, den Übungsbetrieb erst nächste Woche zu starten, d.h. das erste Übungsblatt muss erst am 29.10. abgegeben werden. Die Übungen beginnen aber bereits am 19.10. |
2015-10-12: | Einteilung in die Übungsgruppen erfolgt erst am 16.10.2015. Die in MÜSLI gelistete Einteilung ist bis dann ohne Bedeutung! |
2015-10-06: | Die Anmeldung in die Übungsgruppen ist in MÜSLI-Übungen freigeschaltet. Bitte tragen Sie Ihre Präferenzen bis Donnerstag, 15. Oktober 2015, 23:59 Uhr ein. |
Dozenten
Tutoren
Haupt-Tutor
Lutz Büch | lutz.buech@informatik.uni-heidelberg.de |
Tutoren
| D.Cebulla@stud.uni-heidelberg.de |
| patrick@mathphys.fsk.uni-heidelberg.de |
| Maurice.Frank@stud.uni-heidelberg.de |
| gabriel@stud.uni-heidelberg.de |
| k.hanser@stud.uni-heidelberg.de |
| katja.hauser@stud.uni-heidelberg.de |
| M.Klingmann@stud.uni-heidelberg.de |
| koennig@thphys.uni-heidelberg.de |
| schwedler@stud.uni-heidelberg.de |
| J.Stern@stud.uni-heidelberg.de |
Kontakt
Inhalt
Die Lehrveranstaltung führt in die Entwicklung von Software im Kleinen ein.
- Überblick über die Praktische Informatik
- Technische und formale Grundlagen der Programmierung
- Sprachliche Grundzüge (Syntax und Semantik von Programmiersprachen)
- Einführung in die Programmierung (Wert, elementare Datentypen, Funktion, Bezeichnerbindung, Sichtbarkeit von Bindungen, Variable, Zustand, Algorithmus, Kontrollstrukturen, Anweisung, Prozedur)
- Weitere Grundelemente der Programmierung (Typisierung, Parametrisierung, Rekursion, strukturierte Datentypen, insbesondere z.B. Felder, Listen, Bäume)
- Grundelemente der objektorientierten Programmierung (Objekt, Referenz, Klasse, Vererbung, Subtypbildung)
- Abstraktion und Spezialisierung (insbesondere Funktions-, Prozedurabstraktion, Abstraktion und Spezialisierung von Klassen)
- Spezifikation und Verifikation von Algorithmen, insbesondere einfache Testtechniken
- Terminierung
- Einfache Komplexitätsanalysen
- Einfache Algorithmen (Sortierung)
Zeit und Ort
Vorlesung
Dienstag | 14:15-15:45 Uhr | INF 227, Raum HS 1 und HS 2 | ||
Donnerstag | 14:15-15:45 Uhr | INF 227, Raum HS 1 und HS 2 |
Übungen
MÜSLI-Übungen zum Eintragen der Präferenzen:Montag | 14:15-15:45 Uhr | INF 368, Raum 432 | ||
Montag | 14:15-15:45 Uhr | INF 325, Raum SR 24 (am 25.01.2016 INF 325, Raum SR 23) | ||
Dienstag | 11:15-12:45 Uhr | INF 327, Raum SR 1 | ||
Dienstag | 11:15-12:45 Uhr | INF 368, Raum 248 | ||
Dienstag | 16:15-17:45 Uhr | INF 368, Raum 248 | ||
Dienstag | 16:15-17:45 Uhr | INF 325, Raum SR 24 | ||
Dienstag | 16:15-17:45 Uhr | INF 368, Raum 532 | ||
Dienstag | 18:15-19:45 Uhr | INF 350, Raum U013 | ||
Dienstag | 18:15-19:45 Uhr | INF 350, Raum U014 | ||
Mittwoch | 11:15-12:45 Uhr | INF 350, Raum U013 | ||
Mittwoch | 11:15-12:45 Uhr | INF 368, Raum 248 | ||
Mittwoch | 11:15-12:45 Uhr | INF 348, Raum SR 13 | ||
Mittwoch | 16:15-17:45 Uhr | INF 368, Raum 532 | ||
Mittwoch | 16:15-17:45 Uhr | INF 348, Raum SR 13 | ||
Mittwoch | 16:15-17:45 Uhr | INF 350, Raum U014 | ||
Donnerstag | 16:15-17:45 Uhr | INF 325, Raum SR 24 | ||
Donnerstag | 16:15-17:45 Uhr | INF 348, Raum SR 13 | ||
Donnerstag | 18:15-19:45 Uhr | INF 350, Raum U014 | ||
Freitag | 09:15-10:45 Uhr | INF 348, Raum SR 15 | ||
Freitag | 09:15-10:45 Uhr | INF 368, Raum 532 |
UNIX-Einführung
MÜSLI-UNIX-und-Pool zum Eintragen der Präferenzen:Montag 19.10.2015 | 14:15-15:45 Uhr | INF 350, Raum U011/12 | ||
Montag 19.10.2015 | 16:15-17:45 Uhr | INF 350, Raum U011/12 | ||
Montag 19.10.2015 | 18:15-19:45 Uhr | INF 350, Raum U011/12 | ||
Dienstag 20.10.2015 | 18:15-19:45 Uhr | INF 350, Raum U011/12 | ||
Mittwoch 21.10.2015 | 18:15-19:45 Uhr | INF 350, Raum U011/12 |
Betreutes Programmieren
MÜSLI-UNIX-und-Pool zum Eintragen der Präferenzen:Montag (ab 26.10.2015) | 16:15-17:45 Uhr | INF 350, Raum U011/12 |
Vorraussetzungen
keine
Unterlagen zur Vorlesung
Werden zu Beginn und im Laufe der Vorlesung ergänzt.
Skript komplett, Version 02.02.2016
Folien komplett, Version 02.02.2016 (Stand 02.02.2016: Seite 847)
Skript komplett, Klausurrelevanz, Version 02.02.2016
Folien komplett, Klausurrelevanz, Version 02.02.2016
UNIX-Einführung
Folien zur Unix-Einführung: Kurze Erklärungen und Befehlsreferenz
Übungen zur Unix-Einführung
Schritt für Schritt Anleitung zum Aufsetzen eines UNIX Systems in einer virtuellen Maschine
Debian XFCE
MinGW und NotepadPP
C++ Quellcode
Kapitel 2
- fcpp.hh
- erstes.cc
- quadrat.cc
- absolut.cc
- alles_funktional.cc
- fakultaet.cc
- fakultaetiter.cc
- fakultaetiter_mit_ausgabe.cc
- fibonacci.cc
- fibiter.cc
- wechselgeld.cc
- ggT.cc
- newton.cc
Kapitel 3
Kapitel 4
Kapitel 5
Kapitel 6
Kapitel 7
- Konto.cc
- Zufall.cc
- Experiment.cc
- MonteCarlo.cc
- Inkrementierer.cc
- Rational.hh
- Rational.cc
- UseRational.cc
- Band.hh
- Band.cc
- Programm.hh
- Programm.cc
- TM.hh
- TM.cc
- Turingmaschine.cc
Kapitel 8
- SimpleFloatArray.hh
- SimpleFloatArrayImp.cc
- SimpleFloatArrayIndex.cc
- SimpleFloatArrayCopyCons.cc
- SimpleFloatArrayAssign.cc
- UseSimpleFloatArray.cc
- iostreamexample.cc
- RationalOutput.cc
- UseRationalOutput.cc
Kapitel 9
- Polynomial.hh
- PolynomialKons.cc
- PolynomialEval.cc
- PolynomialImp.cc
- PolynomialEqual.cc
- UsePolynomial.cc
- CheckedSimpleFloatArray.hh
- CheckedSimpleFloatArrayImp.cc
- UseCheckedSimpleFloatArray.cc
Kapitel 10
Kapitel 11
- Funktional-statisch.cc
- SimpleArray.hh
- SimpleArrayImp.cc
- UseSimpleArray.cc
- Ptr.hh
- PtrTest.cc
- bubblesort_.cc
- timestamp.cc
- SimpleFloatArrayV.hh
- SimpleArrayCS.hh
- SimpleArrayCSImp.cc
- ListFloatArrayDerived.hh
- ListFloatArrayImp.cc
- UseBubblesort.cc
Kapitel 12
- Liste.hh
- UseListe.cc
- DLL.hh
- UseDLL.cc
- Array.hh
- UseBoth.cc
- Stack.hh
- UseStack.cc
- Queue.hh
- UseQueueSTL.cc
- DeQueue.hh
- MinPriorityQueue.hh
- MinPriorityQueueImp.cc
- Set.hh
- SetImp.cc
- Map.hh
- HuffmanSTL.cc
Kapitel 13
- Heap.hh
- UseHeap.cc
- Selectionsort.cc
- Bubblesort.cc
- Insertionsort.cc
- Mergesort.cc
- Heapsort.cc
- Quicksort.cc
- UseSort.cc
- Binsearch.cc
- ab-tree.cc
Kapitel 14
- Wire.hh
- WireImp.cc
- Circuit.hh
- Simulator.hh
- SimulatorImp.cc
- Nand.hh
- NandImp.cc
- And.hh
- AndImp.cc
- Nor.hh
- NorImp.cc
- Or.hh
- OrImp.cc
- Exor.hh
- ExorImp.cc
- Inverter.hh
- InverterImp.cc
- Terminal.hh
- TerminalImp.cc
- Fork.hh
- ForkImp.cc
- Analyzer.hh
- AnalyzerImp.cc
- Clock.hh
- ClockImp.cc
- HalfAdder.hh
- HalfAdderImp.cc
- FullAdder.hh
- FullAdderImp.cc
- Adder4bit.hh
- Adder4bitImp.cc
Übungen
Begleitend zur Vorlesung finden Übungen statt:
- Eine erfolgreiche Teilnahme an den Übungen ist Voraussetzung für die Teilnahme an der Klausur.
- Eine Abgabe in Gruppen von zwei bis drei Teilnehmern ist möglich und ausdrücklich erwünscht.
- Die Anmeldung zu den Übungen erfolgt in der ersten Vorlesungswoche über das MÜSLI System.
Übungsblätter
[taschenrechner.cc] | |
[defmet.cc] | |
[pg26672.txt] [vererbung.cc] | |
[mittelwerte.cc] | |
[sierpinski-graphical.cc] |
Klausur
- Die Klausur findet am Samstag, den 6. Februar 2016 statt und beginnt um 13:15 Uhr (es wurde dafür das Zeitfenster 13-16 Uhr reserviert).
- Bitte beachten Sie folgende Informationen zur Klausur.
Raumzuteilung für die Klausur
Nachname (wie in MÜSLI eingetragen) | Adresse, Raum |
A - Hi | INF 252, Großer Hörsaal Chemie |
Ho - Ko | INF 252, Kleiner Hörsaal Chemie 1 (West) |
Kr - Ma | INF 252, Kleiner Hörsaal Chemie 2 (Ost) |
Me - Ne | INF 252, Seminar (zwischen HS West und Ost) Chemie |
Ng - P | INF 350, OMZ, U013 |
R - Scha | INF 350, OMZ, U014 |
Sche - Z | INF 400, Hörsaal Kopfklinik |
Nachklausur
- Die Nachklausur findet am Mittwoch, den 6. April 2016 statt und beginnt um 15 Uhr (es wurde dafür das Zeitfenster 15-18 Uhr reserviert).
- Bitte beachten Sie folgende Informationen zur Klausur.
Raumzuteilung für die Nachklausur
Nachname (wie in MÜSLI eingetragen) | Adresse, Raum |
A - F | INF 306, Hörsaal II Medizin |
G - R | INF 400, Hörsaal Kopfklinik |
S - Z | INF 288, Hörsaal Mathematik |
Scheinvergabe
Die Scheinvergabe und Benotung erfolgt aufgrund der Ergebnisse der verpflichtenden Klausur. Voraussetzungen für die Zulassung zur Klausur:- 50% der Punkte aus allen Übungen
Konstruktive Kritik an der Vorlesung oder den Übungen kann uns anonymisiert über den Kummerkasten der Fachschaft MathPhys mitgeteilt werden.