Winter 2012/13 | GdP - Grundlagen der ProgrammierungVL | Mo | 11:00-12:30 | Rud 26, 0'115 | Prof. Redlich | | Mi | 11:00-12:30 | Rud 26, 0'115 | Prof. Redlich | | | | | | Ü | Mo | 13:15-14:45 | Rud 25, 3.101 | Dr. Müller | | Die | 09:15-10:45 | Rud 25, 3.101 | Dr. Müller | | Die | 11:05-12:35 | Rud 25, 3.101 | Dr. Müller | | Mi | 13-15 | Rud 25, 3.113 | Hr. Sombrutzki | | Mi | 13-15 | Rud 25, 3.101 | Hr. Gierds | | Do | 9-11 | Rud 25, 3.101 | Hr. Gierds | | Fr | 9-11 | Rud 25, 3.113 | Hr. Sombrutzki | | | | | | PR | | | | Dr. Ahrens |
| Computer Science Department Systems Architecture Group
|
Endgültige Ergebnisse der GdP - Klausur vom 06.Augist 2013 ------------------------------ Endgültige Ergebnisse der GdP - Klausur vom 27.Februar 2013
| Kurzbeschreibung. Computer und Dinge die durch sie ermöglicht werden sind überall um uns herum zu finden. Einige davon sind gross und sichtbar, wie der PC am Arbeitsplatz. Andere sind eher versteckt, wie die Mikroprozessoren in Autos und Handys, Programme die Flugzeuge fliegen oder das Telefonnetz und Stromnetz am laufen halten; ebenso wie die vielen kleine Geräte, die ständig unsere persönlichen Daten erfassen und verwalten. Auch wenn viele Studenten später nicht unmittelbar an der Entwicklung solcher Systeme beteiligt sind, werden Sie doch ständig mit ihnen zu tun haben. Diese breit angelegte Einführungsvorlesung soll Ihnen auf einer sehr allgemeinen Ebene erklären, wie Computer aufgebaut sind und wie sie programmiert werden können. Dabei werden Sie auch die prinzipiellen Grenzen von Computern kennen lernen.
|
| | Überblick- Einführung in die Praktische Informatik (für Mono-Bachelor, Kombi-Bachelor und Lehramt).
- 2 Vorlesungen je Woche (jeweils 90 Minuten).
- Zusätzlich: Übungen / Praktikum (jeweils 1x je Woche).
Prüfungen - Schriftliche Klausur am Ende des Semesters.
Klausurtermin: 27.02.2013 (Mittwoch), 10:00 Uhr (Einlass ab 09:30 Uhr), Raum 0'110, 0'115, 0'307 Nachklausur: 06.08.2013 (Dienstag), 10:00 Uhr (Einlass ab 09:30 Uhr), Raum 0'110 - Um für die Klausur zugelassen zu werden, müssen Sie regelmäßig an den Übungen teilnehmen und 50% der für die Übungsaufgaben vergebenen Punkte erhalten. Ebenso müssen Sie das Praktikum erfolgreich absolvieren, wofür Sie 50% der für die Praktikumsaufgaben vergebenen Punkte erhalten müssen. Für beide Teilleistungen erhalten Sie jeweils einen Übungsschein bzw. einen Praktikumsschein, die Sie gemeinsam bei der Anmeldung zur Prüfung vorlegen müssen. Scheine aus früheren Jahren behalten ihre Gültigkeit.
Hinweis 1: Praktikum und Übungen werden unabhängig voneinander bewertet und müssen beide unabhängig voneinander bestanden werden. Hinweis 2: Es können keine Punkte zwischen Praktikum und Übungen transferiert werden. Jede Kategorie zählt für sich. Hinweis 3: Übungsleiter können für gute Mitarbeit in den Übungsstunden Zusatzpunkte vergeben (sowohl für Übungen, wie auch für das Praktikum). Falls Sie eigentlich weniger als die geforderten 50% der Punkte haben, ist dies eine Möglichkeit, um die 50%-Schwelle doch noch zu überspringen. - Regelmäßige Teilnahme an Vorlesungen und Übungen sind selbstverständlich.
Voraussetzungen - Keine. Dieser Kurs ist für Anfänger geeignet.
- Zum Erlernen elementarer Fähigkeiten im Umgang mit den Computern am Institut empfehlen wir (auf freiwilliger Basis) den Besuch des Unix-Crash -Kurses, der ca. 1 Monat vor Semesterstart als 2-wöchige Blockveranstaltung durchgeführt wird.
Vorlesung- Welcome and Overview
| Introduction - What is a computer? What is computer science? |
- Introduction to Programming (in Java)
| Java Basics I - Hello World, Basic Data Types, Flow Control, Debugging. | | Java Basics II - Arrays, Input/Output, Functions, Recursion. | | Case study - Percolation. (additional material - not covered in lecture) |
- A Computing Machine (TOY)
- Object Oriented Programming (in Java)
- Graphical User Interface (GUI) Programming (in Java)
- Java Threads
- Performance (Execution Times) of Algorithms
| Sorting - insert-sort, merge-sort (quicksort). (additional material - not covered in lecture) | | Intractability - NP, P, NP-Completeness, dealing with intractability. (additional material - not covered in lecture) |
- Algorithms and Data Structures (a quick tour - in Java)
| Linked Structures - Lists, Queues, Stacks, Trees, (Generics). Further readings: Java Generics | | Symbol Tables - Binary Search Trees, Hashing. (topic excluded from examination) | | Graphs - Small World Phenomenon. (additional material - not covered in lecture) |
- Regular Expressions
- Internet (optional, only if time permits)
| Internet - Communication Networks (TCP/IP), Client/Server applications, peer-to-peer systems. (additional material - not covered in lecture) |
- Scientific Computing
Empfohlene Literatur Robert Sedgewick, Kevin Wayne. Introduction to Programming in Java. 2007 Webseite zum Buch: http://www.cs.princeton.edu/introcs - D. Knuth. The Art of Computer Programming Vol.0, Vo.l1, Vol.2, Vol.3, Vol.4. Addison Wesley, 1999.
- Robert Sedgewick. Algorithms in Java, Parts 1-4 and 5. Addison-Wesley, 2002.
- Lynn Andrea Stein. Interactive Programming In Java. http://www.cs101.org/ipij/
- H. Herold, B. Lurz, J. Wohlrab. Grundlagen der Informatik. Pearson Studium, 2006.
- G. Krüger. Handbuch der Java-Programmierung. http://www.javabuch.de/
- Bruce Eckel. Thinking in Java, 2nd edition, Revision 11 ©2000. Russian Version: http://www.bruceeckel.by.ru/tij/Contents.html
Übungen (Folien)- Unix Tools
- Unix Tools 2
- Eclipse & Subversion (GdP-SVN: https://svn.informatik.hu-berlin.de/svn/gdp-12/lecture-samples)
Übungen Alle zwei Wochen am Montag gibt es ein neues Aufgabenblatt. Alle Aufgaben werden in der nächsten Übung vom Übungsleiter erläutert, Sie können Fragen zum Verständnis der Aufgabenstellung stellen. Innerhalb von 14 Tagen nach Ausgabe müssen die Aufgaben elektronisch über Goya bis Montag 10:00 Uhr abgegeben sein.
Praktikum Webseite http://www2.informatik.hu-berlin.de/~pinf1/WS1213/ Abschluss-Praktikum Abgeschlossen! --- vom "Staff" vorgeschlagene Aufgaben ---
Mini Schach (eventuell mit Turnier) Image Morphing Gitarre
--- von Studenten vorgeschlagene Aufgaben --- Vielen Dank für den Beitrag! --- Kisten-Schieben (Sokoban) Bio-Reaktor Simulation Online-Spiel Tic-Tac-Toe Optimaler Weg im Berliner S-Bahn Netz Racetrack Simulation und Visualisierung des Wachstums einer Ameisenkolonie
Hnweis. Die Aufgaben sind in Gruppen von 2-5 (optimal 3) Personen zu bearbeiten. Die Gruppenbildung erfolgt über Goya (beginnen Sie schon jetzt!) Ihr Gruppenname sollte mit der Nummer der Aufgabe beginnen - dadurch erkennen die Korrektoren sofort, für welche Aufgabe sich Ihre Gruppe entschieden hat, z.B. würde die Gruppe “1schachTeln“ an Aufgabe 1 arbeiten.
Java und Eclipse auf Ihrem Rechner - JRE / JDK
Sie benötigen auf Ihrem Computer ein Java Laufzeitsystem (engl. JRE - Java Runtime Environment; gelegentlich auch JVM - Java Virtual Machine - genannt), um dort Java-Programme ausführen zu können. Eine aktuelle JRE können Sie von der Java-Webseite herunterladen: http://www.java.com/de/download/ . Da wir aber Java Programme nicht nur ausführen, sondern auch selbst entwickeln wollen, empfehlen wir Ihnen stattdessen das JDK - Java Development Kit - herunterzuladen. Das JDK beinhaltet schon eine aktuelle JRE, enthält darüber hinaus aber auch noch Hilfsprogramme, die für die Programmentwicklung nützlich sein können.
Anleitung zum Installieren des JDK
Hinweis 1: Wenn Sie die Plattform auswählen müssen ... wählen Sie nicht "Windows x64", sondern die 32-bit Version "Windows". Hinweis 2. Auch wenn das Installationsprogramm es Ihnen mehrfach anbietet - Sie brauchen sich nirgendwo zu registrieren. Einfach "wegdrücken". - Eclipse
Wer regelmäßig Software entwickelt, verwendet meist ein IDE - Integrated Development Environment - also ein Programm, das die vielen Arbeitsschritte bei der Softwarenetwicklung automatisiert und koordiniert. Es gibt viele IDEs und jede hat ihre spezifischen Vor- und Nachteile. In der Vorlesung verwenden wir Eclipse. Wir empfehlen das vorkonfigurierte Paket "Eclipse IDE for Java Developers" herunterzuladen.
Anleitung zum Installieren von Eclipse
Hinweis: Wenn Sie die Plattform auswählen müssen ... wählen Sie nicht "Windows x64", sondern die 32-bit Version "Windows". - SVN/CVS, Subclipse
Mit der Zeit werden Sie sehr viele Java-Programme entwickeln, einige vielleicht auch noch in mehreren Versionen. Damit man hier den Überblick behält (auch um später einfach mit anderen Entwicklern im Team zusammen arbeiten zu können), wird oft ein System zur Verwaltung von Programmcode verwendet (engl. "revision control", "version control" oder auch "source code control"). Auch für diese Aufgabe gibt es wieder verschiedene Produkte. In der Vorlesung verwenden wir SVN/CVS. Für unseren Anwendungsfall (Java-Software-Entwicklung mit Eclipse) hat es sich bewährt, das Programm Eclipse durch ein "Plugin" um die SVN/CVS-Funktionalität zu erweitern.
Anleitung zum Installieren von Subclipse - "Hello World" und andere Beispielprogramme
Alle Java-Programme aus der Vorlesung sind als Quelltext verfügbar. Um (als Start) das Programm "Hello World" auszuführen, oder ein beliebiges anderes Beispielprogramm, folgen Sie am besten den folgenden Anweisungen:
Getting started: Running the "Hello World" example program from the lecture.
Frequently Asked Questions (FAQ) Fehlende Kommandozeilen-Argumente - z.B. bei IntOps.java [Antwort] Wenn ich in Eclipse das Programm IntOps.java ausführe, dann erscheint in der Konsole die Fehlerausschrift: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0 - Programm kann Dateien nicht finden - z.B. DeluxeBoncingBall.java [Antwort]
Wenn ich in Eclipse das Programm DeluxeBouncingBall.java ausführe, dann erscheint in der Konsole die Fehlerausschrift: Exception in thread "main" java.lang.RuntimeException: image earth.gif not found - UTF-8 in Eclipse. [Antwort]
In den Übungen und im Praktikum sollen alle Java-Programme im UTF-8 -Format abgeben werden. Wie bekomme ich Eclipse dazu, die Java-Quelltexte in diesem Format zu spreichern?
Grafischer TOY-Simulator ImageMagick Ist ein leistungsfähiges Werkzeug zum Bearbeiten von Grafiken. Insbesondere ermöglicht es die Erzeugung von animierten Bildern (siehe auch VL-Folien) Download: http://www.imagemagick.org/
Zusatzmaterial Kontakt - Warten Sie mit Fragen, Problemen oder Hinweisen nicht zu lange. Sprechen Sie uns zeitnah an, wenn wir noch helfen können.
- Folgende Ansprechpartner sind für Sie da:
- Vorlesender: Prof. Jens-Peter Redlich
- Übungsleiter: Dr. Wolf Müller
- Praktikumsleiter: Dr. Klaus Ahrens
| |
|