Winter
2008/09 |
[322500] PI-1 (Praktische Informatik 1)
VL: Mo:
11:00-12:30, Rud 26, Room 0.110,
Prof. Jens-Peter Redlich
VL: Mi:
11:00-12:30, Rud 26, Room 0.307,
Prof. Jens-Peter Redlich
UE: Di: 13:15-14:45,
Rud 26, Room 1.308, Dr. Wolf Müller
UE: Di: 15:15-16:45,
Rud 25, Room 3.101, Dr. Wolf Müller
UE: Do: 13:15-14:45,
Rud 26, Room 0.307, Dr. Wolf Müller
Praktikumsleiter:
Dr. Michael
Ritzschke
|
Computer Science Department
Systems Architecture Group |
Die Ergebnisse der Klausur vom 29.Januar 2009 finden
Sie
>>> hier <<<
.
|
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 (Nebenfach).
-
2 Vorlesungen je Woche (jeweils 90
Minuten).
-
Zusätzlich: Übungen / Praktikum
(jeweils 1x je Woche).
Prüfungen
-
Schriftliche Klausur am Ende des
Semesters (für diejenigen, die nur PI1, ohne PI2, benötigen), bzw.
am Ende des nachfolgenden (Sommer-)Semesters (für alle anderen, als
PI1+PI2 Kombi-Klausur). Ob Sie nur die PI1 oder PI1+PI2 besuchen
müssen, legt Ihre Prüfungsordnung fest und kann bei Ihrem
Prüfungsamt erfragt werden. Für die Variante PI1+PI2 gibt es nur die
Möglichkeit der Kombi-Klausur; es ist also nicht möglich, sich nach
dem ersten Semester für die PI1 als Einzelleistung prüfen zu lassen.
- Um für die Klausur zugelassen zu
werden, müssen
Sie regelmäßig an den Übungen teilnehmen und 70% der für die
Übungsaufgaben vergebenen Punkte erhalten. Ebenso müssen Sie das
Praktikum erfolgreich absolvieren. Für beide Teilleistungen erhalten
Sie jeweils einen Übungsschein bzw. einen Praktikumsschein, den Sie
bei der Anmeldung zur Prüfung vorlegen müssen. Scheine aus früheren
Jahren behalten ihre Gültigkeit.
- Regelmäßige Teilnahme an Vorlesungen
und Übungen sind
selbstverständlich. Längeres unentschuldigtes Fehlen kann (nach
Ermessen des Professors) als Grund für das Versagen der
Prüfungszulassung gewertet werden.
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
Übungen &
Praktikum
Jede Woche gibt es ein neues
Aufgabenblatt. Alle Aufgaben werden in der nächsten Übung vom
Übungsleiter erläutert. Mit (UE) gekennzeichnete Aufgaben
sind in der Regel bis zum Übungstermin der nachfolgenden Woche zu
bearbeiten; die Lösungen werden in der Übung von einer vom
Übungsleiter zufällig ausgewählten Übungsgruppe vorgetragen. Mit (PR)
gekennzeichnete Aufgaben sind im Praktikum zu lösen. In der
Regel müssen Sie dem Praktikumsleiter 2 Wochen nach Aufgabenstellung
ein lauffähiges Programm vorlegen. Bei mit (PR,UE)
gekennzeichneten Aufgaben wird der Lösungsansatz nach der ersten
Woche in der Übung vorgestellt (wie bei UE) und anschließend im
Praktikum bearbeitet (wie bei PR).
In den Übungen sind 50% erfolgreiche Vorträge durch einen
Repräsentanten der jeweiligen Gruppe nötig, um einen Übungsschein zu
erhalten. Die Voraussetzungen für den Praktikumsschein sind separat
geregelt.
Blatt |
Vorbesprechung UE |
Lösung UE |
Abgabe PR |
Sonstiges |
01a |
20.10.08 |
27.10.08 |
27.10.08 |
[pdf] |
02a |
27.10.08 |
03.11.08 |
10.11.08 |
[pdf] |
03a,03b* |
03.11.08 |
17.11.08 |
24.11.08 |
[pdf] |
04a,
04b |
17.11.08 |
24.11.08 |
01.12.08 |
|
05a,
05b,
05c |
24.11.08 |
01.12.08 |
08.12.08 |
|
06d |
01.12.08 |
08.12.08 |
15.12.08 |
[pdf] |
06a |
08.12.08 |
15.12.08 |
-- |
|
07a,
08a |
05.01.09 |
12.01.09 |
19.01.09 |
|
08b,
09b |
12.01.09 |
19.01.09 |
26.01.09 |
|
09a,
10a,
10b |
19.01.09 |
26.01.09 |
09.02.09 |
|
11a,
12a |
02.02.09 |
09.02.09 |
-- |
|
|
|
|
|
|
13a,13b |
|
|
|
|
14a |
|
|
|
|
15a |
|
|
|
|
Java code from the lecture
- All Java code fragments from the lecture are
available for you as source code. To run "Hello World" or any other
of these examples, follow these instructions:
Getting
started: Running the "Hello World" example program from the lecture.
- After about 1/2 semester we'll learn to program
the TOY machine in assembly / machine language. During lecture we
use the graphical TOY simulator XToy, which comes pre-packaged with
all code-sample as an Eclipse Project:
XToy.zip.
- Installing Eclipse with SVN-Plugin "Subclipse".
We have already installed a properly configured Eclipse on all pool
machines. If you want to run any sample program from the lecture on
another machine, for instance at home, make sure that you have
installed Eclipse with the SVN-plugin "Subclipse". For instructions
how to do that,
click here.
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/
Eclipse
Eclipse
ist eine integrierte Software-Entwicklungsumgebung (SDE = Software
Development Environment), die mehrere Programmiersprachen
unterstützt, darunter auch Java. Hier können Sie die aktuelle
Version herunterladen:
http://www.eclipse.org/downloads/ (wir empfehlen das
vorkonfigurierte Paket "Eclipse IDE for Java Developers").
Optional empfehlen wir anschließend die Installation des
Eclipse-Plugins Subclipse
für die Verwaltung ihres Quellcodes mit SVN/CVS (z.B. erhalten
Sie so die Beispiele aus der Vorlesung). Folgen Sie einfach den
Beschreibungen auf
http://subclipse.tigris.org/install.html.
Grafischer TOY-Simulator
Spielend Programmieren lernen
mit Kara (für Ihre Kinder / Ihre künftigen Schüler, oder für Sie :-)
Kara basiert auf dem Konzept endlicher Automaten,
ist alltagsnah und trotzdem ein theoretisch fundiertes und mächtiges
Programmiermodell. Verschiedene Programmierumgebungen eröffnen
spielerische Zugänge zu grundlegenden Programmierkonzepten mit
unterschiedlichem Schwierigkeitsgrad für allgemeinbildende Schulen
bis hin zu Diplomstudiengängen in der Informatik. [Kara
Home Page]
ImageMagick
Ist ein leistungsfähiges Werkzeug zum Bearbeiten
von Grafiken. Insbesondere ermöglicht es die Erzeugung von
animierten Bildern (siehe auch VL-Folien
Java - Basics II,
ca. Seite 66)
Download:
http://www.imagemagick.org/
Zusatzmaterial (englisch)
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:
|
|
|