Winter
2014/15 |
GdP - Grundlagen der Programmierung
VL |
Mo |
11:00 - 12:30 |
Rud 26, 0'115 |
J.-P. Redlich |
|
Mi |
11:00 - 12:30 |
Rud 26, 0'115 |
J.-P. Redlich |
|
|
|
|
|
Ü
|
Mo
|
09:00 - 11:00
13:00 - 15:00
|
Rud 26, 1'303
Rud 26, 0'313
|
S. Groß
A. Koschmieder
|
|
Die
|
11:00 - 13:00
13:15 - 14:45
13:15 - 14:45
|
Rud 26, 1'306
Rud 26, 0'310
Rud 26, 0'307
|
M. Schmidt
W.Müller
L. George
|
|
Mi
|
13:00 - 15:00
|
Rud 26, 1'306
|
A. Koschmieder
|
|
Do
|
11:15 - 12:45
11:15 - 12:45
13:15 - 14:45
|
Rud 25, 3.113
Rud 26, 1'307
Rud 25, 3.113
|
W. Müller
R. Sombrutzki
W. Müller
|
|
Fr |
--- |
--- |
--- |
|
|
|
|
|
PR |
|
|
|
K. Ahrens |
|
Computer Science Department
Systems Architecture Group |
|
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.
- 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)
- 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). |
|
Intractability -
NP, P, NP-Completeness, dealing with intractability. |
- Algorithms and Data Structures
(a quick tour - in Java)
- Regular Expressions
- Internet (optional, only if time permits)
|
Internet - Communication Networks (TCP/IP),
Client/Server applications, peer-to-peer systems.
|
- 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.
Nr. |
Ausgabedatum |
Abgabedatum |
Blatt |
Sonstiges |
1 |
|
|
|
|
2 |
|
|
|
|
3 |
|
|
|
|
Z |
|
|
|
|
Praktikum
Webseite
http://www2.informatik.hu-berlin.de/~pinf1/WS1415/
Abschluss-Praktikum
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
|
|
|