Adresse
Beuth Hochschule für Technik Berlin
University of Applied Sciences, Berlin
Fachbereich Informatik und Medien (FB VI)

Luxemburger Str. 10
D-13353 Berlin
Germany

Fon: +49 30 4504-2265
Fax: +49 30 4504-2914
Email an: Ulrich Grude

Wikipedia Affiliate Button
Prof. Dr. Ulrich Grude
(der dritte von links, gleich neben Astrid und Philipp) lehrt Programmierung und Compilerbau an der Beuth Hochschule Berlin.

Java ist eine Sprache

Ein Buch über die Grundbegriffe der Programmierung und eine Einführung
in die Sprache Java (Version 5.0), mit vielen Beispielen, Übungen, Aufgaben
mit Lösungen etc. Näheres dazu findet man hier. Die Online-Version enthält
die meisten, aber nicht alle Seiten der Papier-Version.

Compilerbau (TB5-CPB) im WS11/12

Wahlpflichtfach im Studiengang Technische Informatik Bachelor

Im Fach Compilerbau geht es um wichtige und interessante Grundlagen der Informatik:
Um die präzise Beschreibung von formalen Sprachen (zu denen auch Programmiersprachen gehören), um die einfache
automatische Erzeugung von komplizierten Programmen, um funktionale und deklarative Programmierung (die ein
ganz anderes Denken voraussetzen als die verbreitete prozedurale Programmierung), um Rekursion (mehrmlas täglich
in hoher Dosierung :-), um die Automatisierung der eigenen Arbeit eines Informatikers, um Skriptsprachen, um die
Virtuelle Java-Maschine (JVM) und ihre Maschinensprache. Und fast ein Dutzend Compiler sollen gebaut werden, erst ein
paar kleine ("zum Anlauf nehmen"), und dann ein mittelgroßer.

Teilnehmen sollten an diesem Fach aber nur StudentInnen, die bereit und in der Lage sind, ein ganzes Semester lang
freitags ab 8 Uhr 2 Blöcke lang konzentriert zu arbeiten.

Fachliche Voraussetzungen:  Vertrautheit mit der Programmiersprache C, Grundkenntnisse in Java, Neugier.
Empfehlenswerte Vorbereitungen: Es ist nützlich, wenn Sie die bash-Shell und/oder die Windows-Shell cmd.exe kennen.

Klausur: Fr 03.02.2012, ab 8 Uhr im Raum B507

Hier ein paar Papiere für diese Lehrveranstaltung:

Stichworte 43 Seite, ca. 110 KB
FuerAufgabe7.zip
Archiv, ca 25 KB
TermeInGentle.pdf
11 Seiten, ca 50 KB
AccentEtc.pdf 8 Seiten, ca. 16 KB
Aufgaben.pdf 9 Aufgaben, ca. 60 KB
Die_JVM_und_Java-Assembler.pdf 13 Seiten, ca. 60 KB
Compilerbau-Skript.pdf 95 Seiten, ca. 385 KB
UebungAhnenCompiler.pdf 4 Seiten, ca. 55 KB
FuerAufgabe4.zip Archiv, ca. 8 KB
Accent.zip Accent mit Beispielen, ca. 200 KB
Klausuren.zip 11 Klausuren mit Lösungen, ca. 90 KB


Informatik 3 (TB3-IN3) im WS11/12

Pflichtfach im Studiengang Technische Informatik Bachelor 
Zug 1 bei Herrn Goethe, Zug 2 bei Herrn Grude

Für diese Lehrveranstaltung brauchen Sie das Buch Java ist eine Sprache. Das können Sie in der
Bibliothek der Beuth Hochschule ausleihen (solange der Vorrat reicht) oder in einem Buchladen
kaufen (gebraucht ca. 30,- €, neu ca. 40,- €).

Klausur (Zug 1 und Zug 2): Mi 01.02.2012, ab 18 Uhr, Beuth-Saal (im Haus Grashof)

Hier ein paar zusätzliche Unterlagen für die Lehrveranstaltung TB3-IN3:

Stichworte.pdf 43 Seite, ca. 185 KB
AufgabenIN3.pdf 87 Seiten, ca. 165 KB
Übungen.pdf
40 Seiten, ca. 110 KB
TipsZumTextPad.pdf 29 Seiten, ca. 235 KB
JUnitEinfuehrung.pdf 10 Seiten, ca. 110 KB
ÜbungenMitJut.zip ca. 40 Aufgaben, ca. 65 KB
DateienFuerIN3.zip ca. 20+ Dateien, ca. 40 KB
AlteKlausurenPR1.zip 26 Klausuren, ca. 670  KB
AlteKlausurenIN3.zip11 Klausuren, ca. 260 KB

Wann soll welche Aufgabe bearbeitet werden und wann wird welcher Test geschrieben?
Alle Termine sind nur als Kalenderwoche (KW) angegeben. Wann innerhalb einer Woche Ihre Übungen
stattfinden, können Sie Ihrem Stundenplan entnehmen.

KW SW von-bis Aufgabe Test
39 1 26.09.-30.09.  A1: Grundlagen  
40 2 03.10.-07.10.
 
41 3 10.10.-14.10. A2: Rechnen mit Ganzzahlen T1: Grundlagen
42 4 17.10.-21.10. A3: Rechnen mit Bruchzahlen T2: Rechnen mit Ganzzahlen
43 5 24.10.-28.10. A4: Dreiseit T3: Rechnen mit Bruchzahlen
44 6 31.10.-04.11. A5: In Worten T4: Dreiseit
45 7 07.11.-11.11.

46 8 14.11.-18.11. A6: Schleifen T5: In Worten
47 9 21.11.-25.11. A7: StringBuilder (Florian) T6: Schleifen
48 10 28.11.-02.12. A8: Reih. und Samm. (Veronika01) T7: StringBuilder (Florian)
49 11 05.12.-09.12. A9: Reih. und Samm. (Veronika02) T8: Reih. und Samm. (Veronika01)
50 12 12.12.-16.12. A10: Klasse Punkt3D T9: Reih. und Samm. (Veronika02)
51 13 19.12.-23.12. A11: Klasse Quader etc. T10: Klasse Punkt3D
52 .. 26.12-30.12.

01 14 02.01.-06.01.  A12: Klammern prüfen T11: Klasse Quader etc.
02 15 09.01.-13.01. A13: Miez, eine kleine Katze T12: Klammern prüfen
03 16 16.01.-20.01.
T13: Miez, eine kleine Katze
04 17 23.01.-27.01.

05 18 30.01.-03.02.

06 19 06.02.-10.02.

Abkürzungen: KW: Kalenderwoche, SW: Semesterwoche

Programmieren 2 im Studiengang Medien-Informatik Bachelor (MB2-PR2)  

Zug 2 bei Herrn Goethe

Hier ein paar Unterlagen zu dieser Lehrveranstaltung
AufgabenPR2.pdf 19 Seiten, ca. 55 KB


DateienFuerPR2.zip ca. 70 KB
HashTabellen.pdf 4 Seiten, ca. 20 KB
Rekursion.pdf 8 Seiten, ca. 35 KB
UebungenPR2.pdf 10 Seiten, ca. 40 KB
Scanner.pdf 4 Seiten, ca. 15 KB
Bruchzahlen.pdf 8 Seiten, ca. 36 KB
Xml01.pdf 5 Seiten, ca. 20 KB
Xml02.pdf 8 Seiten, ca. 30 KB
Xml03.pdf 4 Seiten, ca. 16 KB
TabSchrittzahlen.pdf 1 Seiten, ca. 8 KB
TipsZuEclipse.pdf 15 Seiten, ca. 60 KB
KlausurenPR2.zip 10 Klausuren, ca. 365 KB


Wann soll welche Aufgabe bearbeitet werden und wann wird welcher Test geschrieben?
Alle Termine sind nur als Kalenderwoche (KW) angegeben. Wann innerhalb einer Woche Ihre Übungen
stattfinden, können Sie Ihrem Stundenplan entnehmen.

KW SW von-bis Aufgabe Test
39 1 26.09.-30.10.  A1: Quiz  
40 2 03.10.-07.10.  A2: Zufallswege  T1: Quiz
41 3 10.10.-14.10.    T2: Zufallswege
42 4 17.10.-21.10.  A4: Rekursion und Iteration  
43 5 24.10.-28.10.    T4: Rekursion und Iteration
44 6 31.10.-04.11.  A5: Collection-Klasse  
45 7 07.11.-11.11.    T5: Collection-Klasse
46 8 14.11.-18.11.  A6: Die toString-Methode testen  
47 9 21.11.-25.11.    T6: Die toString-Methode testen
48 10 28.11.-02.12.  A7: Die Klasse MyHashSet  
49 11 05.12.-09.12.    T7: Die Klasse MyHashSet
50 12 12.12.-16.12.  A8: Formatierungen mit printf  
51 13 19.12.-23.12.  A9: XML-Dokumente  T8: Formatierungen mit printf
52 .. 26.12-30.12.    
01 14 02.01.-06.01.    T9: XML-Dokumente
02 15 09.01.-13.01.  A10: Ein reflektives Programm  
03 16 16.01.-20.01.    T10: Ein reflektives Programm
04 17 23.01.-27.01.  Klausurvorbereitung  
05 18 30.01.-03.02.    
06 19 06.02.-10.02.    
Abkürzungen: KW: Kalenderwoche, SW: Semesterwoche

Klausurtermin für MB2-PR2, Zug 2: Di 07.02.2012, 12.00 Uhr im Raum D325


Eine Software-Distribution für das Fach TB1-IN1 (Programmieren mit C)

Diese Distribution TB1-IN1-SWD.zip (ca. 150 MB, entpackt ca. 350 MB) läuft unter Windows (getestet unter XP und W7).
Sie enthält vier verschiedene C-Compiler-Systeme:
Den gcc (Gnu C-Compiler, Version 4.5.2, siehe http://www.mingw.org)
Den lcc  (Little C Compiler, Version 3.8, siehe http://www.cs.virginia.edu/~lcc-win32/)
Den bcc32 (C/C++-Compiler von Borland, Version 5.5.1, siehe http://edn.embarcadero.com/article/20633)
Den tcc (Tiny C Compiler, Version 0.9.25, siehe http://bellard.org/tcc/)
Ausserdem eine bash-Shell, grep, find, make..., ein paar C-Beispielprogramme und Skripte (für die bash-Shell
und für die Windows-Shell cmd.exe) zum Compilieren und Binden von C-Programmen mit den vier Compilern.
Die Distribution muss nur entpackt werden (z.B. auf einen Stick) und ist dann sofort lauffähig.


Weitere Lehrveranstaltungen, Unterlagen, Applets etc.:
Programmieren 1 mit Java
Programmieren 2 mit Java
Programmieren 1 mit C
Programmieren 2 mit C
Programmieren 3 mit C++
Programmieren mit Ada
Abschlussarbeiten (Diplom, Bachelor, Master)
Verschiedenes  : VPL, Gleitpunktzahlenprintf, Petri-Netze, Lambda-Kalkül , Erlang etc.


Verschiedenes ("Heringe und andere Südfrüchte")




Programmieren 2 im Studiengang Medien-Informatik Bachelor (MB2-PR2)  

Hier ein paar Unterlagen zu dieser Lehrveranstaltung
(Klausuren inklusive Nachklausur WS10/11):
AufgabenPR2.pdf 19 Seiten, ca. 55 KB
Stichworte.pdf 103 Seite, ca. 270 KB
DateienFuerPR2.zip ca. 70 KB
HashTabellen.pdf 4 Seiten, ca. 20 KB
Rekursion.pdf 8 Seiten, ca. 35 KB
UebungenPR2.pdf 10 Seiten, ca. 40 KB
Scanner.pdf 4 Seiten, ca. 15 KB
Bruchzahlen.pdf 8 Seiten, ca. 36 KB
Xml01.pdf 5 Seiten, ca. 20 KB
Xml02.pdf 8 Seiten, ca. 30 KB
Xml03.pdf 4 Seiten, ca. 16 KB
TabSchrittzahlen.pdf 1 Seiten, ca. 8 KB
TipsZuEclipse.pdf 15 Seiten, ca. 60 KB
KlausurenPR2.zip 10 Klausuren, ca. 365 KB



Programmieren 1 im Studiengang Medieninformatik Bachelor (MB1-PR1) 

Hier ein paar Unterlagen zu dieser Lehrveranstaltung:
AufgabenPR1.pdf 27 Seiten, ca. 85 KB
Stichworte.pdf 72 Seite, ca. 140 KB
DateienFuerPR1.zip 27 Dateien, ca. 100 KB
TipsZumTextPad.pdf 25 Seiten, ca. 230 KB
Übungen.pdf 29 Seiten, ca. 65 KB
JUnitBeispiel.pdf 4 Seiten, ca. 15 KB
JUnitEinführung.pdf 10 Seiten, ca. 110 KB
ÜbungenMitJut.zip 40 Programmierübungen, ca. 63 KB
AlteKlausuren.zip 19 Klausuren, ca. 520  KB
Erläuterung: Aufgaben "müssen bearbeitet und abgegeben werden", Übungen sind freiwillige Zusatzleistungen, die nicht
offiziell kontrolliert oder bewertet werden. Eine ÜbungMitJut ist eine Kombination aus einer Programmierübung und
einem JUnit-Programm, mit dem Sie Ihre Lösung testen können. Ca. 40 solche Kombinationen stehen Ihnen hier zur
Verfügung.

Programmieren 1 (mit C) im Studiengang Technische Informatik Bachelor (TB1-PR)

Zwei Empfehlungen von Büchern (die es auch in der Bibliothek der Beuth Hochschule gibt):

B. W. Kernighan, D. M. Ritchie: "The C Programming Language", Second Edition
Prentice Hall 1988, 272 Seiten, ca 45,- Euro.

S. P. Harbison, G. L. Steele: "C, a Reference Manual", Fifth Edition
Pearson Education 2002, 533 Seiten, ca. 47,- Euro.

Hier ein paar Unterlagen (ein kleines Papier und ein paar Beispielprogramme):
SkriptC.pdf 51 Seiten, ca. 150 KB
Kommandos.pdf 4 Seiten, ca. 16 KB
CehBeispielProgramme.zip ca. 50 KB
GccUndCehProgramme.pdf 12 Seiten, ca. 40 KB

Die Programmiersprache Erlang

Ein Vortrag (Folien.pdf.) über Erlang. Ein paar kleine, kommentierte Erlang-Programme.pdf
sollen den Einstieg erleichtern.

Die Programmiersprache VPL (Visual Programming Language)

Im Dezenber 2006 hat Microsoft eine ganz neue Programmiersprache veröffentlicht.
Sie ist erstmal zum Programmieren von Robotern geeignet. Aber da sie sehr stark
auf dem Konzept von Netzdiensten (engl. web services) beruht, wird man damit wohl
bald auch Geschäftsprozesse programmieren und andere Probleme lösen können. Hier
finden Sie eine kleine Einführung in VPL und eine Sammlung von lauffähigen Beispielen
Die Einführung (39 Seiten, .pdf-Datei, ca. 1,3 MB) ist eine Ergänzung zu den Turorials
von Microsoft. Die Beispielsammlung (ein .zip-Archiv, ca. 250 KB) enthält die knapp
40 VPL-Programme, die in der Einführung behandelt werden.

Applets zum Lernen bestimmter Java-Konstrukte

Mit den beiden Applets GleitBitsFloatApplet und GleitBitsDoubleApplet kann man die
Eigenschaften von Gleitpunktzahlen der Typen float und double erforschen.
Wissen Sie, welchen Wert das Literal 0.1 hat?  Nein, es hat nicht den Wert 0.1, aber
Sie dürfen noch mal raten. Oder wollten Sie nicht schon immer mal herausfinden, wieviele
Dezimalziffern man für die genaue Darstelllung des kleinsten double-Wertes braucht?
Oder welches die nächstgrößere float-Zahl nach 16 Milliarden ist? Kennen Sie den
Unterschied zwischen +0.0 und -0.0? Und wissen Sie, wieviele Unzahlen (engl. NaN
values) zum Typ float (bzw. zum Typ double) gehören? Mit den Applets können
Sie die Antworten auf diese und ähnliche Fragen herausfinden.

Mit dem neuen  eTeachMePrintf-Applet von S. Effenberg kann man die zahlreichen
Möglichkeiten des Befehls format (alias printf) interaktiv ausprobieren und kennenlernen..
Voraussetzung: Ihr Browser muss Java 6.0 können.

Mit dem älteren PrintfApplet kann man den printf-Befehl auch auf Datumsangaben
anwenden und braucht nur einen Java 5 fähigen Browser. Wenn man ausserdem
einen UNICODE-Font intstalliert hat, werden auch chinesische, japanische und
koreanische Montas- und Tagesnamen richtig dargestellt.

Programmieren 3 (mit C++) im Diplomstudiengang Medieninformatik (PR3-MD)

C++ für Java-Programmierer.pdf 179 Seiten, ca. 480 KB
C++-Übungen.pdf 30 Seiten, ca. 65 KB
Aufgaben-für-PR3-MD.pdf 16 Seiten, ca. 120 KB
C++-Beispiele.zip (vom 09.10.05) ca. 440 KB
PR3-Klausuren mit Lösungen.zip 6 Klausuren, ca. 100 KB

Links zu einer C++-Referenz und weiterern Informationen über C++

C++-Referenz (HTML-Dateien)
Netzadressen von C++-Infos

Programmieren 2 (mit C) im Diplomstudiengang Technische Informatik (PR2-TI)

C_Skript.pdf 51 Seiten, ca. 150 KB
C_Aufgaben.pdf 11 Seiten, ca. 30 KB
BeispieleC.zip ca. 625 KB
BojenFuerC.pdf 14 Seiten, ca. 43 KB
PR2-Klausuren mit Lösungen.zip ca. 21 KB

Konzepte von Programmiersprachen im Diplomstudiengang Medieninformatik (KPS-MD)

Organisatorisches.pdf 1 Seite, ca. 40 KB
Rekursion.pdf 5 Seiten, ca. 85 KB
GenerischesJava.pdf 4 Seiten, ca. 70 KB
LexerParser.pdf 4 Seiten, ca. 60 KB
Metaprogrammierung.pdf 10 Seiten, ca. 120 KB
VergleichGenEinheitenInCppUndJava.pdf 4 Seiten, ca. 65 KB
KonzepteVonProgrammiersprachen.pdf 36 Seiten, ca. 365 KB
Aufgaben.pdf 8 Seiten, ca. 90 KB
EineUebung.pdf 2 Seiten, ca. 50 KB
Beispiel-Programme-KPS.zip ca. 25 KB
KPS-Klausur mit Lösungen.zip ca. 23 KB

Den Java 2 Software Development Kit (J2SDK) und den TextPad installieren

Den neusten (kostenlosen) Java Software Development Kit  (SDK) kann man von den Netzseiten der
Firma Sun herunterladen. Ebenso die (ebenfalls kostenlose, sehr leistungsfähige, aber auch "leistungshungrige")
Entwicklungsumgebung NetBeans. Eine sehr viel "leichtere" Enttwicklungsumgebung für Java-Programme
erhält man, indem man z.B. den Editor TextPad mit dem SDK kombiniert (Achtung: erst den SDK installieren,
danach den TextPad, dann verbindet sich der TextPad automatisch mit dem SDK).

Lambda calculus

The result of a thesis: A complete environment for the development of (simple and) complicated lambda expressions,
their compilation into an intermediary form and the execution of this intermediary form. The LCD (Lambda Calculus
Developer) runs on PCs under Windows. You are free to download LCD (ca. 412 KB) for evaluation.

Petri-Netze

Petri-Netze dienen dazu, den Begriff der Nebenläufigkeit zu klären und nebenläufige Systeme (z. B. die Prozesse
eines Betriebssystems oder die Steuerfäden eines Programms) zu modellieren. Das Papier Petri-Netze.pdf  (ca. 77 Seiten,
800 KB) erläutert wichtige Grundideen von Petri-Netzen auf informelle, hoffentlich leichtverständliche Weise, und versucht
dabei, einige verbreitete Missverständnisse zu vermeiden bzw. aufzuklären.

Die Cygwin-Distribution für Windows

Diese quelloffene Software umfasst zahlreiche Werkzeuge, die sich relativ leicht einzeln oder zusammen unter einem
Windows-Betriebssystem installieren lassen und einem dann den Komfort eines Linux-Systems bieten. Zu diesen
Werkzeugen gehören unter anderem: Sehr gute Compiler für die Sprachen C, C++, Java, Ada und Fortran (mit dem
Java-Compiler kann man wahlweise die üblichen .class-Dateien oder aber .exe-Dateien erzeugen), die Skriptsprachen
Perl, Tcl und Phyton, die Bash-Shell, die Z-Shell, Kommandos wie ls, cp, mv (die deutlich mächtiger sind als die Dos-
Befehle dir, copy und rename), die Editoren vim und emacs und sehr, sehr viel mehr. Die jeweils neuste Version dieser
Distribution finden Sie hier . Ein paar einfache Bash-Skripte zum Bearbeiten (compilieren, evtl. binden, ausführen) von
Java-Programmen, C-Programmen und C++-Programmen, allgemeine Bash-Skripte namens profile, .bash_profile und
.bashrc und Initialisierungsdateien für den Editor vim finden Sie im Archiv BashSkripteEtc.zip (ca. 28 KB).

Wollen Sie Ada lernen?

Ein Skript für die Vorlesungen Programmieren 1 und 2 (mit Ada), ca. 380 Seiten, mit zahlreichen Aufgaben, steht hier
als PDF-Datei zur Verfügung. Lösungen zu einigen der Aufgaben und eine Sammlung von fast 300 Beispielprogrammen
ergänzen das Skript.

AdaSkript.pdf  386 Seiten, ca. 1,5 MB
Lösungen zu  den Aufgaben im Skript.pdf  30 Seiten, ca. 90 KB
Ada Beispielprogramme.zip  296 Dateien, ca. 160 KB

Mit 10 Fingern blind tippen!

Professionelle InformatikerInnen (im Gegensatz zu LaienprogrammiererInnen) sollten "richtig" mit einer
Tastatur umgehen können. Je länger man ohne System tippt, desto mühsamer wird es, richtig mit 10 Fingern
blind schreiben zu lernen. Fangen Sie  deshalb am besten gleich heute an, richtig tippen zu lernen (es sei denn,
sie haben schon gestern angefangen oder es früher gelernt). Hier ein Programm zum Tippen-Lernen , (eines von
vielen), welches von Sebastian Machon (Student der TFH, die heute Beuth Hochschule heißt) empfohlen wird.
Es kostet 9,- Euro, aber bevor, man bezahlt kann man eine kostenlose Demoversion ausprobieren.

Other interests

Verschiedene Unterlagen zum Indonesisch-Lernen
Mitschrift des 1. Kurses in der KBRI: IndonesischerBotschaftsKurs1.pdf
Mitschrift des 2. Kurses in der KBRI: IndonesischerBotschaftsKurs2.pdf
Mitschrift des 3. Kurses in der KBRI: IndonesischerBotschaftsKurs3.pdf
Mitschrift des 4. Kurses in der KBRI: Konversations-Kurs
Mitschrift des 5. Kurses in der KBRI: IndonesischerBotschaftsKurs5.pdf
 
Märchen auf Indonesisch
  (mit deutscher Übersetzung)

Indonesiche Wurzelworte mit Vor-/Nachsilben: Affixe.pdf
Tierbeschreibungen: Binatang2.pdf
Tierbeschreibungen: Binatang3.pdf
Tierbeschreibungen: Binatang5.pdf

Diese Unterlagen enthalten sicherlich noch zahlreiche Fehler. Für Verbesserungs-
vorschläge und Hinweise auf Fehler (am liebsten per Email, siehe ganz oben)
bin ich jederzeit dankbar.

Zuletzt geändert am 23.01.2012