<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.stageing.freitagsrunde.org//api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dank</id>
	<title>FreitagsrundenWiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.stageing.freitagsrunde.org//api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dank"/>
	<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//Spezial:Beitr%C3%A4ge/Dank"/>
	<updated>2026-10-29T08:11:22Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.45.6</generator>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=C-Kurs/%C3%9Cbungsaufgaben&amp;diff=12389</id>
		<title>C-Kurs/Übungsaufgaben</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=C-Kurs/%C3%9Cbungsaufgaben&amp;diff=12389"/>
		<updated>2009-09-20T11:24:20Z</updated>

		<summary type="html">&lt;p&gt;Dank: /* Die Aufgaben */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Wir haben jeder Aufgabe eine Einschätzung ihrer Schwierigkeit auf einer Skala von 1 bis 10 vorangestellt. Bei dieser Einschätzung sind wir von einem Gehirn ausgegangen, für welches das jeweilige Themengebiet völlig neu ist, das jedoch schon ein ganz gutes Verständnis dafür hat wie eine Programmiersprache denn so funktioniert. &lt;br /&gt;
Entsprechend kann eine schwer bewertete Aufgabe aus einem frühen Themengebiet für manch einen sehr einfach oder eine leicht bewertete aus einem späten Themengebiet für einen anderen sehr schwer sein. Es ist nur ein Wert, der euch helfen soll eure nächste Aufgabe zu wählen. &lt;br /&gt;
&lt;br /&gt;
Falls ihr Anmerkungen zu den Aufgaben habt, könnt ihr die Diskussionsseiten der jeweiligen Aufgaben nutzen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Schwierigkeitsgrade ==&lt;br /&gt;
&lt;br /&gt;
#  Reines Tutorial. Man muss nicht viel selbst denken&lt;br /&gt;
#  ...&lt;br /&gt;
#  Leichte Übungsaufgabe. Studies, die noch eher unsicher sind werden hier gut begleitet.&lt;br /&gt;
#  ...&lt;br /&gt;
#  Typische Aufgabe. Man muss den Kopf benutzen, bekommt an schwierigen Stellen aber Hilfestellungen.&lt;br /&gt;
#  ...&lt;br /&gt;
#  Herausfordernd, eher etwas für Studies die etwas fitter sind.&lt;br /&gt;
#  ...&lt;br /&gt;
#  Auch erfahrene Programmierer werden hier ein bis zwei Übungen beschäftigt sein&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
#  Tja, die Idee war da. Wir finden sie auch gut, aber es könnte wirklich anstrengend werden.&lt;br /&gt;
&lt;br /&gt;
== Die Aufgaben ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;2&amp;quot;&lt;br /&gt;
 |- bgcolor=&amp;quot;#D8D8D8&amp;quot;&lt;br /&gt;
 !Aufgabe&lt;br /&gt;
 !Schwierigkeit&lt;br /&gt;
 !Vorwissen&lt;br /&gt;
 !Lerneffekte&lt;br /&gt;
 !Bearbeiter&lt;br /&gt;
 !Korrektur gelesen&lt;br /&gt;
 !Musterlösung&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Von der Konsole zum HelloWorld | Von der Konsole zum HelloWorld]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Konsole benutzen, Hello World&lt;br /&gt;
 | Sebastian D.&lt;br /&gt;
 | [[Benutzer:Mario|Mario]]&lt;br /&gt;
 | &lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/EingabeAusgabe | Ein- und Ausgabe]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Einlesen von Benutzereingaben&amp;lt;br&amp;gt;Ausgabe derselben&lt;br /&gt;
 | [[Benutzer:Mario|Mario]]&lt;br /&gt;
 | nion&lt;br /&gt;
 | &lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Taschenrechner | Taschenrechner]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Eingabe+Ausgabe&amp;lt;br&amp;gt;Mathematische Operatoren&lt;br /&gt;
 | [[Benutzer:Mario|Mario]]&lt;br /&gt;
 | [[Benutzer:Tkroenert|TKroenert]]&lt;br /&gt;
 | &lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/VerschachtelteSchleifen | Verschachtelte Schleifen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Umgang mit mehreren verschachtelten Schleifen&lt;br /&gt;
 | [[Benutzer:Dank|Daniel K.]]&lt;br /&gt;
 | AlexanderK&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Glückspiel | Glücksspiel]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Anwenden von Fallunterscheidungen und Einlesen von Werten aus der Konsole&lt;br /&gt;
 | [[Benutzer:Dank|Daniel K.]]&lt;br /&gt;
 | AlexanderK&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Wochentag | Wochentagsrechnung]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Einlesen von Benutzereingaben&amp;lt;br&amp;gt;Mathematikverständniss&lt;br /&gt;
 | [[Benutzer:Mario|Mario]]&lt;br /&gt;
 | nion (Musterlösung noch nicht vorhanden)&lt;br /&gt;
 | &lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Taschenrechner2.0 | Taschenrechner &#039;&#039;2.0&#039;&#039;]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |8&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Knobeln&amp;lt;br&amp;gt;Komplexes Aufgaben lösen&lt;br /&gt;
 | [[Benutzer:Mario|Mario]]&lt;br /&gt;
 | martin&lt;br /&gt;
 | &lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Call by reference | Call by reference]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Einfache Anwendung von &amp;amp;/*&lt;br /&gt;
 | sping&lt;br /&gt;
 | nion&lt;br /&gt;
 | vorhanden&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Text processing | Text processing]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4, 6&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Strings&amp;lt;br&amp;gt;Pointer-Arithmetik&amp;lt;br&amp;gt;Pointer auf Pointer&amp;lt;br&amp;gt;Refactoring&lt;br /&gt;
 | sping&lt;br /&gt;
 | [[Benutzer:Mario|Mario]]&lt;br /&gt;
 | vorhanden&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Palindrome | Palindrome]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Pointer und Strings&lt;br /&gt;
 | [[Benutzer:Dank|Daniel K.]]&lt;br /&gt;
 |&lt;br /&gt;
 |&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/(Pointer) Swapping | (Pointer) Swapping]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Pointer und Arrays benutzen, generisches swap&lt;br /&gt;
 | Katrin&lt;br /&gt;
 |&lt;br /&gt;
 | vorhanden&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Matrizenmultiplikation | Matrizenmultiplikation]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Mehrdimensionale Arrays&amp;lt;br&amp;gt;const correctness&lt;br /&gt;
 | sping&lt;br /&gt;
 | [[Benutzer:Mario|Mario]]&lt;br /&gt;
 | vorhanden&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Arrayuebergabe | Arrayuebergabe]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4/5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 4. VL&lt;br /&gt;
 | Einlesen von Benutzereingaben&amp;lt;br&amp;gt;Pointer und Pointerarithmetik&lt;br /&gt;
 | nion&lt;br /&gt;
 | martin&lt;br /&gt;
 | vorhanden&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Studentendatenbank | Studentendatenbank]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 4. VL&lt;br /&gt;
 | struct, Pointer, Arrays&lt;br /&gt;
 | AlexanderK&lt;br /&gt;
 |&lt;br /&gt;
 | vorhanden&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Compiler, Präprozessor, Header Files | Compiler, Präprozessor, Header Files]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Arbeiten mit mehreren Quellcode-Dateien, Kompilieren und Linken, Header-Dateien und #include, debugging-Makro verwenden&lt;br /&gt;
 | Katrin&lt;br /&gt;
 | &lt;br /&gt;
 | siehe Folien&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Bus Error | Bus Error]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |8&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Pointer, wie entsteht ein bus error&lt;br /&gt;
 | Katrin&lt;br /&gt;
 | &lt;br /&gt;
 | vorhanden&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Cat | Cat]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 6&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | ....&lt;br /&gt;
 | Arbeiten mit Dateien&amp;lt;br&amp;gt;Kommandozeilenparameter&lt;br /&gt;
 | nion&lt;br /&gt;
 | sping&lt;br /&gt;
 | vorhanden&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Pong | Pong]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | ...&lt;br /&gt;
 | allgemeiner Programmablauf, fortgeschrittene Konsolenausgaben/eingaben&lt;br /&gt;
 | AlexanderK&lt;br /&gt;
 |&lt;br /&gt;
 | vorhanden&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Kleine und große Probleme ==&lt;br /&gt;
&lt;br /&gt;
* Die Tubit-Accounts haben nicht /bin/bash als shell, so dass die &amp;lt;strong&amp;gt;Cursortasten&amp;lt;/strong&amp;gt; nicht funktionieren. Workaround: als erstes Kommando &#039;bash&#039; eingeben, man sieht dann auch in welchem Verzeichnis man gerade ist.&lt;br /&gt;
&lt;br /&gt;
== Musterlösungen ==&lt;br /&gt;
Die Lösungen zu den Aufgaben werden nach den jeweiligen Übungen hier veröffentlicht. Falls dies nicht geschiet, bitte den zuständigen Tutor fragen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [[Ckurs2009/Feedback|Feedback zum Kurs 2009]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:CKurs]]&lt;br /&gt;
[[Kategorie:CKurs Aufgaben]]&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=C-Kurs/Palindrome&amp;diff=12387</id>
		<title>C-Kurs/Palindrome</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=C-Kurs/Palindrome&amp;diff=12387"/>
		<updated>2009-09-20T11:19:44Z</updated>

		<summary type="html">&lt;p&gt;Dank: /* Aufgabenstellung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Einleitung ===&lt;br /&gt;
&lt;br /&gt;
[[wikipedia:Palindrom|Palindrome]] sind Wörter, die rückwärts und vorwärts gleich sind, z.B. Rentner.&lt;br /&gt;
&lt;br /&gt;
Später brauchst du solche Palindrome als Eingabewerte für das Programm, das du schreiben sollst. In der Wikipedia gibt es dafür eine [[wikipedia:Palindrom#Wortpalindrome|Liste mit Palindromwörtern]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Aufgabenstellung ===&lt;br /&gt;
&lt;br /&gt;
* Schreibe eine Funktion, die das Wort umgedreht ausgibt. Groß-/Kleinschreibung soll dabei nicht betrachtet werden. Teste deine Funktion. (Hallo =&amp;gt; ollaH)&lt;br /&gt;
* Erweitere diese Funktion so, dass sie überprüft ob ein Wort ein Palindrom ist. Teste die Funktion ausführlich.&lt;br /&gt;
* Schreibe nun ein Programm, welches ein Wort als Parameter von der Kommandozeile ausliest, überprüft ob dies ein Palindrom ist und eine entsprechende Meldung an den Benutzer ausgibt. Teste dein Programm ausgiebig.&lt;br /&gt;
* &#039;&#039;&#039;Für Fortgeschrittene:&#039;&#039;&#039; Leider kann das Programm Groß- und Kleinschreibung nicht handhaben. Am besten man konvertiert alle Zeichen zu Kleinbuchstaben. Zeichen innerhalb von Strings werden als Zahlenwerte dargestellt. &#039;a&#039; hat den Wert 97 und &#039;A&#039; den Wert 65, &#039;b&#039; ist 98, &#039;B&#039; ist 66 usw. Die Kodierung der Zeichen ist in der [http://de.wikipedia.org/wiki/Ascii#ASCII-Tabelle ASCII-Tabelle] festgehalten. Schreibe nun eine Funktion, welche diese Kodierung nutzt um alle Großbuchstaben in Kleinbuchstaben umzuwandeln. Um den ASCII-Code einer char Variable zu erhalten muss diese gecastet werden:&lt;br /&gt;
 char mychar = &#039;a&#039;;&lt;br /&gt;
 int code = (int) mychar;&lt;br /&gt;
Teste die Funktion ausführlich und baue sie in dein Programm ein.&lt;br /&gt;
&lt;br /&gt;
== Kommentare ==&lt;br /&gt;
Wenn du Anmerkungen zur Aufgabe hast oder Lob und Kritik loswerden möchtest, ist hier die richtige Stelle dafür. Klicke einfach ganz rechts auf &amp;quot;bearbeiten&amp;quot; und schreibe deinen Kommentar direkt ins Wiki. Keine Scheu, es geht nichts kaputt ;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Als kleine Starthilfe folgt ein Beispiel, wie so ein Kommentar formatiert sein könnte. Mit &amp;quot;Vorschau zeigen&amp;quot; kannst du dir ansehen, was deine Änderung bewirken würde, ohne wirklich etwas zu ändern.&lt;br /&gt;
Du musst übrigens außerhalb dieses auskommentieren Bereichs schreiben ;)&lt;br /&gt;
&lt;br /&gt;
==== Robert ====&lt;br /&gt;
Na mal schauen, ob irgendjemand diese Funktion wirklich benutzt. Ich fände es jedenfalls toll.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:CKurs]]&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=C-Kurs/Palindrome&amp;diff=12386</id>
		<title>C-Kurs/Palindrome</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=C-Kurs/Palindrome&amp;diff=12386"/>
		<updated>2009-09-20T11:17:21Z</updated>

		<summary type="html">&lt;p&gt;Dank: /* Aufgabenstellung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Einleitung ===&lt;br /&gt;
&lt;br /&gt;
[[wikipedia:Palindrom|Palindrome]] sind Wörter, die rückwärts und vorwärts gleich sind, z.B. Rentner.&lt;br /&gt;
&lt;br /&gt;
Später brauchst du solche Palindrome als Eingabewerte für das Programm, das du schreiben sollst. In der Wikipedia gibt es dafür eine [[wikipedia:Palindrom#Wortpalindrome|Liste mit Palindromwörtern]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Aufgabenstellung ===&lt;br /&gt;
&lt;br /&gt;
* Schreibe eine Funktion, die das Wort umgedreht ausgibt. Groß-/Kleinschreibung soll dabei nicht betrachtet werden. Teste deine Funktion. (Hallo =&amp;gt; ollaH)&lt;br /&gt;
* Erweitere diese Funktion so, dass sie überprüft ob ein Wort ein Palindrom ist. Teste die Funktion ausführlich.&lt;br /&gt;
* Schreibe nun ein Programm, welches ein Wort als Parameter von der Kommandozeile ausliest, überprüft ob dies ein Palindrom ist und eine entsprechende Meldung an den Benutzer ausgibt. Teste dein Programm ausgiebig.&lt;br /&gt;
* Leider kann das Programm Groß- und Kleinschreibung nicht handhaben. Am besten man konvertiert alle Zeichen zu Kleinbuchstaben. Zeichen innerhalb von Strings werden als Zahlenwerte dargestellt. &#039;a&#039; hat den Wert 97 und &#039;A&#039; den Wert 65, &#039;b&#039; ist 98, &#039;B&#039; ist 66 usw. Die Kodierung der Zeichen ist in der [http://de.wikipedia.org/wiki/Ascii#ASCII-Tabelle ASCII-Tabelle] festgehalten. Schreibe nun eine Funktion, welche diese Kodierung nutzt um alle Großbuchstaben in Kleinbuchstaben umzuwandeln. Um den ASCII-Code einer char Variable zu erhalten muss diese gecastet werden:&lt;br /&gt;
 char mychar = &#039;a&#039;;&lt;br /&gt;
 int code = (int) mychar;&lt;br /&gt;
Teste die Funktion ausführlich und baue sie in dein Programm ein.&lt;br /&gt;
&lt;br /&gt;
== Kommentare ==&lt;br /&gt;
Wenn du Anmerkungen zur Aufgabe hast oder Lob und Kritik loswerden möchtest, ist hier die richtige Stelle dafür. Klicke einfach ganz rechts auf &amp;quot;bearbeiten&amp;quot; und schreibe deinen Kommentar direkt ins Wiki. Keine Scheu, es geht nichts kaputt ;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Als kleine Starthilfe folgt ein Beispiel, wie so ein Kommentar formatiert sein könnte. Mit &amp;quot;Vorschau zeigen&amp;quot; kannst du dir ansehen, was deine Änderung bewirken würde, ohne wirklich etwas zu ändern.&lt;br /&gt;
Du musst übrigens außerhalb dieses auskommentieren Bereichs schreiben ;)&lt;br /&gt;
&lt;br /&gt;
==== Robert ====&lt;br /&gt;
Na mal schauen, ob irgendjemand diese Funktion wirklich benutzt. Ich fände es jedenfalls toll.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:CKurs]]&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=C-Kurs/Palindrome&amp;diff=12385</id>
		<title>C-Kurs/Palindrome</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=C-Kurs/Palindrome&amp;diff=12385"/>
		<updated>2009-09-20T11:15:14Z</updated>

		<summary type="html">&lt;p&gt;Dank: Die Seite wurde neu angelegt: „=== Einleitung ===  Palindrome sind Wörter, die rückwärts und vorwärts gleich sind, z.B. Rentner.  Später brauchst du solche Palindro...“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Einleitung ===&lt;br /&gt;
&lt;br /&gt;
[[wikipedia:Palindrom|Palindrome]] sind Wörter, die rückwärts und vorwärts gleich sind, z.B. Rentner.&lt;br /&gt;
&lt;br /&gt;
Später brauchst du solche Palindrome als Eingabewerte für das Programm, das du schreiben sollst. In der Wikipedia gibt es dafür eine [[wikipedia:Palindrom#Wortpalindrome|Liste mit Palindromwörtern]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Aufgabenstellung ===&lt;br /&gt;
&lt;br /&gt;
* Schreibe eine Funktion, die das Wort umgedreht ausgibt. Groß-/Kleinschreibung soll dabei nicht betrachtet werden. Teste deine Funktion. (Hallo =&amp;gt; ollaH)&lt;br /&gt;
* Erweitere diese Funktion so, dass sie überprüft ob ein Wort ein Palindrom ist. Teste die Funktion ausführlich.&lt;br /&gt;
* Schreibe nun ein Programm, welches ein Wort als Parameter von der Kommandozeile ausliest, überprüft ob dies ein Palindrom ist und eine entsprechende Meldung an den Benutzer ausgibt. Teste dein Programm ausgiebig.&lt;br /&gt;
* Leider kann das Programm Groß- und Kleinschreibung nicht handhaben. Am besten man konvertiert alle Zeichen zu Kleinbuchstaben. Zeichen innerhalb von Strings werden als Zahlenwerte dargestellt. &amp;quot;a&amp;quot; hat den Wert 97 und &amp;quot;A&amp;quot; den Wert 65, &amp;quot;b&amp;quot; ist 98, &amp;quot;B&amp;quot; ist 66 usw. Die Kodierung der Zeichen ist in der [http://de.wikipedia.org/wiki/Ascii#ASCII-Tabelle ASCII-Tabelle] festgehalten. Schreibe nun eine Funktion, welche diese Kodierung nutzt um alle Großbuchstaben in Kleinbuchstaben umzuwandeln. Um den ASCII-Code einer char Variable zu erhalten muss diese gecastet werden:&lt;br /&gt;
 char mychar = &#039;a&#039;;&lt;br /&gt;
 int code = (int) mychar;&lt;br /&gt;
Teste die Funktion ausführlich und baue sie in dein Programm ein.&lt;br /&gt;
&lt;br /&gt;
== Kommentare ==&lt;br /&gt;
Wenn du Anmerkungen zur Aufgabe hast oder Lob und Kritik loswerden möchtest, ist hier die richtige Stelle dafür. Klicke einfach ganz rechts auf &amp;quot;bearbeiten&amp;quot; und schreibe deinen Kommentar direkt ins Wiki. Keine Scheu, es geht nichts kaputt ;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Als kleine Starthilfe folgt ein Beispiel, wie so ein Kommentar formatiert sein könnte. Mit &amp;quot;Vorschau zeigen&amp;quot; kannst du dir ansehen, was deine Änderung bewirken würde, ohne wirklich etwas zu ändern.&lt;br /&gt;
Du musst übrigens außerhalb dieses auskommentieren Bereichs schreiben ;)&lt;br /&gt;
&lt;br /&gt;
==== Robert ====&lt;br /&gt;
Na mal schauen, ob irgendjemand diese Funktion wirklich benutzt. Ich fände es jedenfalls toll.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:CKurs]]&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=C-Kurs/%C3%9Cbungsaufgaben&amp;diff=12359</id>
		<title>C-Kurs/Übungsaufgaben</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=C-Kurs/%C3%9Cbungsaufgaben&amp;diff=12359"/>
		<updated>2009-09-19T16:07:02Z</updated>

		<summary type="html">&lt;p&gt;Dank: /* Die Aufgaben */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Wir haben jeder Aufgabe eine Einschätzung ihrer Schwierigkeit auf einer Skala von 1 bis 10 vorangestellt. Bei dieser Einschätzung sind wir von einem Gehirn ausgegangen, für welches das jeweilige Themengebiet völlig neu ist, das jedoch schon ein ganz gutes Verständnis dafür hat wie eine Programmiersprache denn so funktioniert. &lt;br /&gt;
Entsprechend kann eine schwer bewertete Aufgabe aus einem frühen Themengebiet für manch einen sehr einfach oder eine leicht bewertete aus einem späten Themengebiet für einen anderen sehr schwer sein. Es ist nur ein Wert, der euch helfen soll eure nächste Aufgabe zu wählen. &lt;br /&gt;
&lt;br /&gt;
Falls ihr Anmerkungen zu den Aufgaben habt, könnt ihr die Diskussionsseiten der jeweiligen Aufgaben nutzen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Schwierigkeitsgrade ==&lt;br /&gt;
&lt;br /&gt;
#  Reines Tutorial. Man muss nicht viel selbst denken&lt;br /&gt;
#  ...&lt;br /&gt;
#  Leichte Übungsaufgabe. Studies, die noch eher unsicher sind werden hier gut begleitet.&lt;br /&gt;
#  ...&lt;br /&gt;
#  Typische Aufgabe. Man muss den Kopf benutzen, bekommt an schwierigen Stellen aber Hilfestellungen.&lt;br /&gt;
#  ...&lt;br /&gt;
#  Herausfordernd, eher etwas für Studies die etwas fitter sind.&lt;br /&gt;
#  ...&lt;br /&gt;
#  Auch erfahrene Programmierer werden hier ein bis zwei Übungen beschäftigt sein&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
#  Tja, die Idee war da. Wir finden sie auch gut, aber es könnte wirklich anstrengend werden.&lt;br /&gt;
&lt;br /&gt;
== Die Aufgaben ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;2&amp;quot;&lt;br /&gt;
 |- bgcolor=&amp;quot;#D8D8D8&amp;quot;&lt;br /&gt;
 !Aufgabe&lt;br /&gt;
 !Schwierigkeit&lt;br /&gt;
 !Vorwissen&lt;br /&gt;
 !Lerneffekte&lt;br /&gt;
 !Bearbeiter&lt;br /&gt;
 !Korrektur gelesen&lt;br /&gt;
 !Musterlösung&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Von der Konsole zum HelloWorld | Von der Konsole zum HelloWorld]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Konsole benutzen, Hello World&lt;br /&gt;
 | Sebastian D.&lt;br /&gt;
 | [[Benutzer:Mario|Mario]]&lt;br /&gt;
 | &lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/EingabeAusgabe | Ein- und Ausgabe]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Einlesen von Benutzereingaben&amp;lt;br&amp;gt;Ausgabe derselben&lt;br /&gt;
 | [[Benutzer:Mario|Mario]]&lt;br /&gt;
 | nion&lt;br /&gt;
 | &lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Taschenrechner | Taschenrechner]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Eingabe+Ausgabe&amp;lt;br&amp;gt;Mathematische Operatoren&lt;br /&gt;
 | [[Benutzer:Mario|Mario]]&lt;br /&gt;
 | [[Benutzer:Tkroenert|TKroenert]]&lt;br /&gt;
 | &lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/VerschachtelteSchleifen | Verschachtelte Schleifen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Umgang mit mehreren verschachtelten Schleifen&lt;br /&gt;
 | [[Benutzer:Dank|Daniel K.]]&lt;br /&gt;
 |&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Glückspiel | Glücksspiel]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Anwenden von Fallunterscheidungen und Einlesen von Werten aus der Konsole&lt;br /&gt;
 | [[Benutzer:Dank|Daniel K.]]&lt;br /&gt;
 |&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Wochentag | Wochentagsrechnung]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Einlesen von Benutzereingaben&amp;lt;br&amp;gt;Mathematikverständniss&lt;br /&gt;
 | [[Benutzer:Mario|Mario]]&lt;br /&gt;
 | nion (Musterlösung noch nicht vorhanden)&lt;br /&gt;
 | &lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Taschenrechner2.0 | Taschenrechner &#039;&#039;2.0&#039;&#039;]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |8&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Knobeln&amp;lt;br&amp;gt;Komplexes Aufgaben lösen&lt;br /&gt;
 | [[Benutzer:Mario|Mario]]&lt;br /&gt;
 | martin&lt;br /&gt;
 | &lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Call by reference | Call by reference]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Einfache Anwendung von &amp;amp;/*&lt;br /&gt;
 | sping&lt;br /&gt;
 | nion&lt;br /&gt;
 | vorhanden&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Text processing | Text processing]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4, 6&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Strings&amp;lt;br&amp;gt;Pointer-Arithmetik&amp;lt;br&amp;gt;Pointer auf Pointer&amp;lt;br&amp;gt;Refactoring&lt;br /&gt;
 | sping&lt;br /&gt;
 | [[Benutzer:Mario|Mario]]&lt;br /&gt;
 | vorhanden&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Matrizenmultiplikation | Matrizenmultiplikation]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Mehrdimensionale Arrays&amp;lt;br&amp;gt;const correctness&lt;br /&gt;
 | sping&lt;br /&gt;
 | [[Benutzer:Mario|Mario]]&lt;br /&gt;
 | vorhanden&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Arrayuebergabe | Arrayuebergabe]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4/5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 4. VL&lt;br /&gt;
 | Einlesen von Benutzereingaben&amp;lt;br&amp;gt;Pointer und Pointerarithmetik&lt;br /&gt;
 | nion&lt;br /&gt;
 | martin&lt;br /&gt;
 | vorhanden&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Studentendatenbank | Studentendatenbank]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 4. VL&lt;br /&gt;
 | struct, Pointer, Arrays&lt;br /&gt;
 | AlexanderK&lt;br /&gt;
 |&lt;br /&gt;
 | vorhanden&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Cat | Cat]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 6&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | ....&lt;br /&gt;
 | Arbeiten mit Dateien&amp;lt;br&amp;gt;Kommandozeilenparameter&lt;br /&gt;
 | nion&lt;br /&gt;
 | sping&lt;br /&gt;
 | vorhanden&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Kleine und große Probleme ==&lt;br /&gt;
&lt;br /&gt;
* Die Tubit-Accounts haben nicht /bin/bash als shell, so dass die &amp;lt;strong&amp;gt;Cursortasten&amp;lt;/strong&amp;gt; nicht funktionieren. Workaround: als erstes Kommando &#039;bash&#039; eingeben, man sieht dann auch in welchem Verzeichnis man gerade ist.&lt;br /&gt;
&lt;br /&gt;
== Musterlösungen ==&lt;br /&gt;
Die Lösungen zu den Aufgaben werden nach den jeweiligen Übungen hier veröffentlicht. Falls dies nicht geschiet, bitte den zuständigen Tutor fragen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [[Ckurs2009/Feedback|Feedback zum Kurs 2009]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:CKurs]]&lt;br /&gt;
[[Kategorie:CKurs Aufgaben]]&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=C-Kurs/Gl%C3%BCckspiel&amp;diff=12358</id>
		<title>C-Kurs/Glückspiel</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=C-Kurs/Gl%C3%BCckspiel&amp;diff=12358"/>
		<updated>2009-09-19T16:02:49Z</updated>

		<summary type="html">&lt;p&gt;Dank: /* 42% */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== 42% ===&lt;br /&gt;
&#039;&#039;&#039;Tipp:&#039;&#039;&#039; Um ganzzahlige Zufallszahlen zu generieren benutzt einfach folgende Funktionen:&lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;time.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 void initialize_random_number_generator()&lt;br /&gt;
 {&lt;br /&gt;
   srand(time(NULL));&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 int random_number()&lt;br /&gt;
 {&lt;br /&gt;
   return rand();&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Die erste Funktion initialisiert den Zufallsgenerator und mit der zweiten Funktion könnt ihr euch einen beliebigen Zufallswert geben lassen, vergesst dabei nicht die Include-Anweisungen in euer Programm zu übernehmen!&lt;br /&gt;
&lt;br /&gt;
* Schreibt ein Programm welches mit einer Wahrscheinlichkeit von 42% &amp;quot;Gewonnen!&amp;quot; und ansonsten &amp;quot;Verloren!&amp;quot; ausgibt.&lt;br /&gt;
* Kompiliert das Programm und führt es aus. Spielt ein wenig herum und ändert das Programm in dem ihr absichtlich Fehler einbaut, lest dann die Fehlermeldungen. Was genau für Informationen geben sie euch?&lt;br /&gt;
&lt;br /&gt;
=== Begrüßung === &lt;br /&gt;
* Schreibt ein Programm, welches drei Variablen kennt, die das Alter, den Namen und das Geschlecht einer Person speichern. Überlegt euch, von welchem Datentyp die drei Variablen sein müssen. &lt;br /&gt;
* Fügt eurem Programm dann eine Fallunterscheidung hinzu, die eine Begrüßung für die genannte Person ausgibt. Der Begrüßungstext unterscheidet sich für Personen, die männlich oder weiblich sind und unterscheidet zwischen Erwachsenen und Kindern. Folgende Begrüßungen sollen ausgegeben werden:&lt;br /&gt;
** &amp;quot;Guten Tag Herr &amp;lt;name&amp;gt;!&amp;quot; für erwachsene Männer&lt;br /&gt;
** &amp;quot;Guten Tag Frau &amp;lt;name&amp;gt;!&amp;quot; für erwachsene Frauen&lt;br /&gt;
** &amp;quot;Hallo &amp;lt;name&amp;gt;!&amp;quot; für Mädchen und Jungen unter 18 Jahren&lt;br /&gt;
&lt;br /&gt;
=== Glücksspiel ===&lt;br /&gt;
* Erweitert das Programm von Aufgabe &amp;quot;42%&amp;quot; zu einem kleinen Glücksspiel. Zwei Spieler wählen jeweils einen Wert zwischen 1 und 100. Dann wird eine zufällige weitere Zahl zwischen 1 und 100 ermittelt. Der Spieler, dessen Nummer am nächsten an der zufälligen Zahl liegt, hat gewonnen. Liegen beide Spieler gleich weit entfernt, dann gibt es ein Unentschieden. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hinweis:&#039;&#039;&#039; Es reicht aus, wenn die Zahlen, die die Spieler wählen, direkt im Quellcode verankert sind, ihr müsst diese nicht von der Konsole einlesen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hinweis 2:&#039;&#039;&#039; Falls du die Zahlen doch von der Konsole einlesen willst, schau dir mal die Funktion scanf aus Vorlesung 2 an.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&#039;&#039;&#039;2. (Schwierigkeitsgrad: mittel)&#039;&#039;&#039;&lt;br /&gt;
Überprüft die Teilbarkeit einer vier-stelligen Zahl:&lt;br /&gt;
Die zu überprüfende Zahl soll in eine int-Variable gespeichert werden. Zerlegt die Zahl in Einer, Zehner, Hunderter und Tausender. Überprüfe jeweils, ob die ursprüngliche vier-stellige Zahl durch ihre einzelnen Ziffern teilbar ist. Lasst die Programm-Ergebnisse in dieser Form anzeigen:&lt;br /&gt;
* &amp;quot;Die Zahl 1234 ist durch 2 teilbar.&amp;quot;  &lt;br /&gt;
* &amp;quot;Die Zahl 1234 ist durch 1 teilbar.&amp;quot;&lt;br /&gt;
Wähle unterschiedliche vier-stellige Zahlen und teste, ob Dein Programm korrekt arbeitet.&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kommentare ==&lt;br /&gt;
Wenn du Anmerkungen zur Aufgabe hast oder Lob und Kritik loswerden möchtest, ist hier die richtige Stelle dafür. Klicke einfach ganz rechts auf &amp;quot;bearbeiten&amp;quot; und schreibe deinen Kommentar direkt ins Wiki. Keine Scheu, es geht nichts kaputt ;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Als kleine Starthilfe folgt ein Beispiel, wie so ein Kommentar formatiert sein könnte. Mit &amp;quot;Vorschau zeigen&amp;quot; kannst du dir ansehen, was deine Änderung bewirken würde, ohne wirklich etwas zu ändern.&lt;br /&gt;
Du musst übrigens außerhalb dieses auskommentieren Bereichs schreiben ;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:CKurs]]&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=C-Kurs/Gl%C3%BCckspiel&amp;diff=12357</id>
		<title>C-Kurs/Glückspiel</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=C-Kurs/Gl%C3%BCckspiel&amp;diff=12357"/>
		<updated>2009-09-19T16:02:28Z</updated>

		<summary type="html">&lt;p&gt;Dank: Die Seite wurde neu angelegt: „=== 42% === &amp;#039;&amp;#039;&amp;#039;Tipp:&amp;#039;&amp;#039;&amp;#039; Um ganzzahlige Zufallszahlen zu generieren benutzt einfach folgende Funktion:   #include &amp;lt;time.h&amp;gt;  #include &amp;lt;stdlib.h&amp;gt;   void initialize_r...“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== 42% ===&lt;br /&gt;
&#039;&#039;&#039;Tipp:&#039;&#039;&#039; Um ganzzahlige Zufallszahlen zu generieren benutzt einfach folgende Funktion:&lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;time.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 void initialize_random_number_generator()&lt;br /&gt;
 {&lt;br /&gt;
   srand(time(NULL));&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 int random_number()&lt;br /&gt;
 {&lt;br /&gt;
   return rand();&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Die erste Funktion initialisiert den Zufallsgenerator und mit der zweiten Funktion könnt ihr euch einen beliebigen Zufallswert geben lassen, vergesst dabei nicht die Include-Anweisungen in euer Programm zu übernehmen!&lt;br /&gt;
&lt;br /&gt;
* Schreibt ein Programm welches mit einer Wahrscheinlichkeit von 42% &amp;quot;Gewonnen!&amp;quot; und ansonsten &amp;quot;Verloren!&amp;quot; ausgibt.&lt;br /&gt;
* Kompiliert das Programm und führt es aus. Spielt ein wenig herum und ändert das Programm in dem ihr absichtlich Fehler einbaut, lest dann die Fehlermeldungen. Was genau für Informationen geben sie euch?&lt;br /&gt;
&lt;br /&gt;
=== Begrüßung === &lt;br /&gt;
* Schreibt ein Programm, welches drei Variablen kennt, die das Alter, den Namen und das Geschlecht einer Person speichern. Überlegt euch, von welchem Datentyp die drei Variablen sein müssen. &lt;br /&gt;
* Fügt eurem Programm dann eine Fallunterscheidung hinzu, die eine Begrüßung für die genannte Person ausgibt. Der Begrüßungstext unterscheidet sich für Personen, die männlich oder weiblich sind und unterscheidet zwischen Erwachsenen und Kindern. Folgende Begrüßungen sollen ausgegeben werden:&lt;br /&gt;
** &amp;quot;Guten Tag Herr &amp;lt;name&amp;gt;!&amp;quot; für erwachsene Männer&lt;br /&gt;
** &amp;quot;Guten Tag Frau &amp;lt;name&amp;gt;!&amp;quot; für erwachsene Frauen&lt;br /&gt;
** &amp;quot;Hallo &amp;lt;name&amp;gt;!&amp;quot; für Mädchen und Jungen unter 18 Jahren&lt;br /&gt;
&lt;br /&gt;
=== Glücksspiel ===&lt;br /&gt;
* Erweitert das Programm von Aufgabe &amp;quot;42%&amp;quot; zu einem kleinen Glücksspiel. Zwei Spieler wählen jeweils einen Wert zwischen 1 und 100. Dann wird eine zufällige weitere Zahl zwischen 1 und 100 ermittelt. Der Spieler, dessen Nummer am nächsten an der zufälligen Zahl liegt, hat gewonnen. Liegen beide Spieler gleich weit entfernt, dann gibt es ein Unentschieden. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hinweis:&#039;&#039;&#039; Es reicht aus, wenn die Zahlen, die die Spieler wählen, direkt im Quellcode verankert sind, ihr müsst diese nicht von der Konsole einlesen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hinweis 2:&#039;&#039;&#039; Falls du die Zahlen doch von der Konsole einlesen willst, schau dir mal die Funktion scanf aus Vorlesung 2 an.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&#039;&#039;&#039;2. (Schwierigkeitsgrad: mittel)&#039;&#039;&#039;&lt;br /&gt;
Überprüft die Teilbarkeit einer vier-stelligen Zahl:&lt;br /&gt;
Die zu überprüfende Zahl soll in eine int-Variable gespeichert werden. Zerlegt die Zahl in Einer, Zehner, Hunderter und Tausender. Überprüfe jeweils, ob die ursprüngliche vier-stellige Zahl durch ihre einzelnen Ziffern teilbar ist. Lasst die Programm-Ergebnisse in dieser Form anzeigen:&lt;br /&gt;
* &amp;quot;Die Zahl 1234 ist durch 2 teilbar.&amp;quot;  &lt;br /&gt;
* &amp;quot;Die Zahl 1234 ist durch 1 teilbar.&amp;quot;&lt;br /&gt;
Wähle unterschiedliche vier-stellige Zahlen und teste, ob Dein Programm korrekt arbeitet.&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kommentare ==&lt;br /&gt;
Wenn du Anmerkungen zur Aufgabe hast oder Lob und Kritik loswerden möchtest, ist hier die richtige Stelle dafür. Klicke einfach ganz rechts auf &amp;quot;bearbeiten&amp;quot; und schreibe deinen Kommentar direkt ins Wiki. Keine Scheu, es geht nichts kaputt ;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Als kleine Starthilfe folgt ein Beispiel, wie so ein Kommentar formatiert sein könnte. Mit &amp;quot;Vorschau zeigen&amp;quot; kannst du dir ansehen, was deine Änderung bewirken würde, ohne wirklich etwas zu ändern.&lt;br /&gt;
Du musst übrigens außerhalb dieses auskommentieren Bereichs schreiben ;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:CKurs]]&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=C-Kurs/VerschachtelteSchleifen&amp;diff=12349</id>
		<title>C-Kurs/VerschachtelteSchleifen</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=C-Kurs/VerschachtelteSchleifen&amp;diff=12349"/>
		<updated>2009-09-19T15:48:43Z</updated>

		<summary type="html">&lt;p&gt;Dank: Die Seite wurde neu angelegt: „=== Aufgabe ===  Schreibt ein Programm, welches das kleine Einmaleins ausgibt. Hierbei müssen zwei verschachtelte Schleifen verwendet werden (also eine Schleife ...“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Aufgabe ===&lt;br /&gt;
&lt;br /&gt;
Schreibt ein Programm, welches das kleine Einmaleins ausgibt. Hierbei müssen zwei verschachtelte Schleifen verwendet werden (also eine Schleife innerhalb eines Blocks einer anderen Schleife). Die Ausgabe des Programms soll dann ca. so aussehen:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 1 x 1 =   1&lt;br /&gt;
 2 x 1 =   2&lt;br /&gt;
 3 x 1 =   3&lt;br /&gt;
 ...&lt;br /&gt;
 9 x 1 =   9&lt;br /&gt;
 10 x 1 =  10&lt;br /&gt;
  &lt;br /&gt;
 1 x 2 =   2&lt;br /&gt;
 2 x 2 =   4&lt;br /&gt;
 ...&lt;br /&gt;
 9 x 10 =  90&lt;br /&gt;
 10 x 10 = 100&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kommentare ==&lt;br /&gt;
Wenn du Anmerkungen zur Aufgabe hast oder Lob und Kritik loswerden möchtest, ist hier die richtige Stelle dafür. Klicke einfach ganz rechts auf &amp;quot;bearbeiten&amp;quot; und schreibe deinen Kommentar direkt ins Wiki. Keine Scheu, es geht nichts kaputt ;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Als kleine Starthilfe folgt ein Beispiel, wie so ein Kommentar formatiert sein könnte. Mit &amp;quot;Vorschau zeigen&amp;quot; kannst du dir ansehen, was deine Änderung bewirken würde, ohne wirklich etwas zu ändern.&lt;br /&gt;
Du musst übrigens außerhalb dieses auskommentieren Bereichs schreiben ;)&lt;br /&gt;
&lt;br /&gt;
==== Robert ====&lt;br /&gt;
Na mal schauen, ob irgendjemand diese Funktion wirklich benutzt. Ich fände es jedenfalls toll.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:CKurs]]&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Freitagsrunde:Mitglieder&amp;diff=2435</id>
		<title>Freitagsrunde:Mitglieder</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Freitagsrunde:Mitglieder&amp;diff=2435"/>
		<updated>2009-04-21T16:28:44Z</updated>

		<summary type="html">&lt;p&gt;Dank: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;Mitglieder&#039;&#039; ist vielleicht nicht das richtige Wort, denn es gibt bei uns keine feste Mitgliedschaft, jeder der mitmachen möchte, ist herzlich willkommen und niemand ist zu irgendetwas gezwungen. Auf dieser Seite möchten wir, die Leute die hinter der [[Freitagsrunde]] stehen, uns Euch kurz vorstellen.&lt;br /&gt;
&lt;br /&gt;
(zu den [[Freitagsrunde:Ehemalige_Mitglieder|ehemaligen Mitgliedern]].)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mario Bodemann ([mailto:mario@freitagsrunde.org mario@freitagsrunde.org]) ==&lt;br /&gt;
[[Bild:Mario.jpg|thumb|150px|Mario Bodemann]]&lt;br /&gt;
Seitdem ich im Sommer 2004 mein Abi abgeschlossen habe, studiere ich hier an der TU B Informatik auf Diplom. &lt;br /&gt;
&lt;br /&gt;
Ich engagiere mich für Belange, die es rund um das Studium gibt. So bin&lt;br /&gt;
aktiv in der Ausbildungskommision, der Einführungswoche, dem Eclipsekurs 2008 und dem was sonst noch so anfällt. Als Studienschwerpunkte habe ich Computer Graphics und Software Technik, von denen ich erwarte, dass Sie eine gute Kombination ergeben könnten ...&lt;br /&gt;
&lt;br /&gt;
Und falls jemand T-Shirts oder&lt;br /&gt;
sonstige Fanartikel von der Freitagsrunde haben will, dann bin ich euer Ansprechpartner :-)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Robert Buchholz ([mailto:rbu@freitagsrunde.org rbu@freitagsrunde.org]) ==&lt;br /&gt;
[[Bild:Foto-Robert-Buchholz.jpg|thumb|150px|Robert Buchholz]]&lt;br /&gt;
Ich studiere an der TU Berlin seit dem Sommer 2004 und werde bald mit dem Informatik-Diplom abschließen. In der Freitagsrunde bin ich erst seit 2006 mit dabei, konnte mich aber seitdem an vielen Projekten beteiligen. Neben den Java- und Eclipsekursen habe ich großen Spaß an [[Linux-Installationsparty]]s und Ähnlichem. Ich habe im letzten Jahr [[Opalix 2006]] erstellt, und hoffe bald mal mit der [[AG Rechnerinstallation]] aus dem Knick zu kommen.&lt;br /&gt;
&lt;br /&gt;
Was ich innerhalb und außerhalb der Freitagsrunde sonst so organisiere, erfahrt ihr über [[Benutzer:Buchholz|meine Benutzerseite]].&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kai Dietrich ([mailto:kai@freitagsrunde.org kai@freitagsrunde.org]) ==&lt;br /&gt;
[[Bild:Foto-Kai-Dietrich.jpg|thumb|150px|Kai Dietrich]]&lt;br /&gt;
Ich studiere seit dem WS2003/04 Informatik an der TU Berlin. Obwohl ich der Freitagsrunde (natuerlich) schon in der Einfuehrungswoche begegnet bin, habe ich erst im WS2006/07 hier her gefunden und festgestellt, dass studieren viel mehr Spass macht, wenn man es gemeinsam tut.&lt;br /&gt;
Im uebrigen bin ich, als Verfechter des amerikanischen Tastaturlayouts, gegen Umlaute.&lt;br /&gt;
[[Benutzer:Cleeus|...read more]]&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sebastian Dyroff ([mailto:sdyroff@freitagsrunde.org sdyroff@freitagsrunde.org]) ==&lt;br /&gt;
[[Bild:SebastianDyroff.jpg|thumb|150px|Sebastian Dyroff]]&lt;br /&gt;
Ich studiere Informatik seit dem Wintersemester 2005/06. Zur Freitagsrunde kam ich erst etwas später: nämlich im Wintersemester 2006/07. Als erstes wurde ich damals in die Wahlliste der Freitagsrunde eingetragen. Dadurch konnte ich mich während den letzten 2 Jahren aktiv an der Unipolitik beteiligen. Natürlich habe ich mich auch an vielen anderen Aktivitäten der Freitagsrunde beteiligt. Seit 2008 bin ich Tutor des [http://www.kbs.tu-berlin.de/menue/lehre/wintersemester_200809/rechnersicherheit Praktikums Rechnersicherheit].&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Alexander Eichner ([mailto:alex@freitagsrunde.org alex@freitagsrunde.org]) ==&lt;br /&gt;
[[Bild:Alexander.jpg|thumb|150px|Alexander Eichner]]&lt;br /&gt;
&lt;br /&gt;
Ich studiere seit dem Wintersemester 07/08 technische Informatik im Bachelor-Studiengang an der TU-Berlin. In der Freitagsrunde beteilige ich mich an Opalix, um auch den armen Windows-Usern das Leben im ersten Semester so einfach wie möglich zu machen ;-) und war im Wintersemester Tutor in der Einführungswoche.&lt;br /&gt;
Ausserdem versuche ich durch das Mitwirken in der AK den TI-Studiengang zu verbessern. Nebenbei noch als Entwickler arbeite und engagiere mich auch im Technischen Hilfswerk  ([http://www.thw-oelgruppe.de]). Wenn es die Zeit erlaubt spiele ich auch Volleyball.&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Marko Esche ([mailto:meckie@cs.tu-berlin.de meckie@cs.tu-berlin.de]) ==&lt;br /&gt;
[[Bild:Foto-Marko-Esche.jpg|thumb|150px|Marko Esche]]&lt;br /&gt;
Ich hab schon immer zu den Leuten gehört, die am glücklichsten sind, wenn sie mit dem Lötkolben in der Hand ein paar Bauelemente wegbrutzeln können. Mit dem Ziel aus einem Hobby irgendwann mal einen Beruf zu machen habe, ich im WS 2004/05 mit dem Studium der Elektrotechnik begonnen. Inzwischen bin ich vom alten in den neuen Bachelor-Studiengang gewechselt. Inzwischen habe ich den Bachelor hinter mir und studiere jetzt im Master-Studiengang. Abgesehen davon, dass man in der Freitagsrunde lauter nette Leute ;-) trifft, hoffe ich durch meine Mitarbeit das Studium an der TU nicht nur für Elektrotechniker etwas erträglicher zu gestalten.&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Timo Glaser ([mailto:timo@freitagsrunde.org timo@freitagsrunde.org]) ==&lt;br /&gt;
[[Bild:Foto-timo.jpeg|framed|Timo Glaser]]&lt;br /&gt;
&lt;br /&gt;
Im Wintersemester 2001/02 begann mein Studium der Informatik und somit meine Zeit an der TU Berlin. Damals gab es keine politische Liste an der Fakultät, die meinen Vorstellungen politischen Engagements entsprach, so dass ich mich mit einigen anderen interessierten Studierenden zusammenschloss - die Freitagsrunde war geboren ...&lt;br /&gt;
&lt;br /&gt;
Jedoch konnte ich mich für zwei Jahre nicht so an der Universitätspolitik beteiligen, wie ich es gerne gewollt hätte. Nach Beendigung meines Grundstudiums nahm ich am [[Doppeldiplom SJTU | Doppeldiplomprogramm]] mit der Shanghai Jiao Tong University teil. Dies ist meiner Meinung nach eine der größten Errungenschaften der Fakultät - eine großartige Chance, die man sich nicht entgehen lassen sollte.&lt;br /&gt;
&lt;br /&gt;
Im Sommer 2005 gründete ich mit vier anderen Studenten ein Unternehmen mit Fokus Wissensmanagement, die [http://www.peritor.com/ Peritor Wissensmanagement GmbH]. Da ich jedoch weiterhin wissenschaftlich arbeiten wollte und ein Thema fand, welches mich sehr faszinierte, habe ich nach Abschluss meines Studiums (Silvester 2006 ;) eine Promotion bei Professor Lutterbeck, [http://www.ig.cs.tu-berlin.de/ Informatik und Gesellschaft], begonnen. Hier, sowie in der [http://www.sysedv.tu-berlin.de/Homepage/SYSEDV.nsf?Open&amp;amp;Key=56QJT8&amp;amp;Sel&amp;amp;ID=3B9F9B7F8A9427A4C12570B30075790F  Information Security Management Forschungsgruppe] des Systemanalyse und EDV Lehrstuhls, halte ich auch vereinzelt Vorträge im Rahmen von Lehrveranstaltungen.&lt;br /&gt;
&lt;br /&gt;
Ich vertrete somit die Sichtweise der Promotionsstudierenden bzw. externen Doktoranden.&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Clemens Helfmeier ([mailto:clemensh@cs.tu-berlin.de clemensh@cs.tu-berlin.de]) ==&lt;br /&gt;
[[Bild:Foto-Clemens-Helfmeier.jpg|thumb|150px|Clemens Helfmeier]]&lt;br /&gt;
Die Elektrotechnik war schon immer meine Vorliebe, so dass ich im WS 2003/2004 begann, diese an der TUB zu studieren. Die Inhalte der Lehrveranstaltungen gefielen mir natürlich nicht alle, aber im großen und ganzen kann ich doch davon sprechen, dass mir das Studium Spass macht. Vor allem finde ich Projektarbeit äußerst wichtig und empfehl sie jedem.&lt;br /&gt;
&lt;br /&gt;
Zu meinem Studienbeginn konnte man sich noch aussuchen, ob man Bachelor oder Diplom machen wollte, ich entschied mich für den Bachelor. Kurz drauf, merkte ich auch, warum man noch nicht festgelegt wurde: Es gab viele Situationen, in denen der Bachelor noch nicht in den Fachbereichen angekommen ist, vielerorts wusste man nicht, wie zu verfahren sei. Seither versuche ich, diese Situation zu verbessern und das Studium mit all seinen kleinen Kniffs für Bachelorstudenten zu erfassen. Inzwischen gibt es zwar eine neue Prüfungsordnung, aber das soll mich dabei nich sonderlich stören.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Daniel Käs ([mailto:dkaes@cs.tu-berlin.de dkaes@cs.tu-berlin.de]) ==&lt;br /&gt;
[[Bild:Foto-DanielKaes.jpg|thumb|150px|Daniel Käs]]&lt;br /&gt;
Ich studiere Informatik seit dem WS03/04. Ich bin vor allem bei der Freitagsrunde, um anderen Studenten bei ihrem Studium zu helfen ohne mich dabei einer bestimmten politischen Gesinnung unterordnen zu müssen. Außerdem habe ich Spaß dabei andere Menschen für Informatikthemen zu begeistern, weshalb ich nicht nur bei den Javakursen, sondern auch Informationsveranstaltungen wie [[Linux-Installationsparty_2007|LIPs]] oder [[Distro-Bash_2007|Distro-Bashs]] gerne mithelfe. Neuerdings organisiere ich auch den Freitagsrunden [[TechTalk|TechTalk]].&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Thomas Kaschwig ([mailto:thomas@freitagsrunde.org thomas@freitagsrunde.org]) ==&lt;br /&gt;
[[Bild:Foto-thomas.jpeg|framed|Thomas Kaschwig]]&lt;br /&gt;
Ich habe an der [[TU Berlin]] [[Informatik]] studiert und arbeite nun nach Abschluss meines Studiums als [[Wissenschaftlicher Mitarbeiter]] an der [[Fakultät IV]]. Im Jahr 2002 habe ich zusammen mit einigen Kommilitonen die [[Freitagsrunde]] gegründet, da wir uns hochschulpolitisch engagieren wollten und mit den bisherigen studentischen Vertretern nicht zufrieden waren. Nach unserem Wahlsieg bei den [[Gremienwahlen 2003]] war ich für zwei Jahre Mitglied im [[Fakultätsrat]] und der [[Ausbildungskommission]]. Die letzten sechs Jahre war ich als [[Tutor]] in der [[Einführungswoche]] aktiv, die ich auch in einigen Jahre mit organisiert habe.&lt;br /&gt;
&lt;br /&gt;
Seit mehr als vier Jahren bin ich Mitglied im CCT e.V. - Berlins studentischer Unternehmensberatung - und leite seit 2005 die IT-Sparte [[Juniter]]. Im Jahr 2005 habe ich mit einigen anderen Mitstreitern bei Juniter [[MeinProf.de]] gegründet, welches mittlerweile von einem eigenen Verein, dem MeinProf e.V. betrieben wird, dessen 1. Vorsitzender ich zur Zeit bin.&lt;br /&gt;
&lt;br /&gt;
Erreichen könnt Ihr mich per E-Mail unter [mailto:thomas@freitagsrunde.org thomas@freitagsrunde.org].&lt;br /&gt;
&lt;br /&gt;
Mails an mich kannst und solltest Du per PGP/GnuPG verschlüsseln:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GnuPG-KeyID: 1024D/3D68D63A&lt;br /&gt;
Fingerprint: 274A 4CB8 B362 D593 39D6 0989 8FC3 725F 3D68 D63A&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Michael Klum ([mailto:michael.klum@tu-berlin.de michael.klum@tu-berlin.de]) ==&lt;br /&gt;
[[Bild:Foto-Michael-Klum.jpg|thumb|150px|Michael Klum]]&lt;br /&gt;
Ich bin sozusagen schon mein Leben lang &amp;quot;Vollblutbastler&amp;quot; und verbrenn mir auch mal gern die Finger an einem Lötkolben. Das hat mich zum Studiengang Elektrotechnik bewegt.&lt;br /&gt;
In der Einführungswoche für &amp;quot;Erstis&amp;quot; zum Wintersemester 2008/09 habe ich in den Raum gefragt, ob die Uni eine Möglichkeit hat zu basteln. Mir wurde gesagt ich soll mal zur Freitagsrunde kommen, und hier bin ich. Offenbar hat man die Möglichkeit von hier aus einiges ins Rollen zu bringen!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sebastian Koch ([mailto:skoch@freitagsrunde.org skoch@freitagsrunde.org]) ==&lt;br /&gt;
[[Bild:skoch.jpg|thumb|150px|Sebastian Koch]]&lt;br /&gt;
Seit dem Wintersemester 2006/07 studiere ich Technische Informatik an der TU Berlin. Zur Freitagsrunde bin ich erst Ende des Sommersemesters 2007 gekommen. Seither habe ich an Opalix07 und Opalix08 mitgearbeitet, bei der Einführungswoche für die Studienanfänger 2007 eine Kleingruppe mit Infos versorgt und beim Eclipsekurs08 als Tutor mitgeholfen. Zudem sitze ich im Prüfungsausschuss für Technische Informatik. Für das Studium der technischen Informatik habe ich mich entschieden, da man hier das Beste aus beiden Welten (ET und Info) mitnehmen kann ;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Thaddäus Krönert ([mailto:tkroenert@freitagsrunde.org tkroenert@freitagsrunde.org]) ==&lt;br /&gt;
[[Bild:Thaddaeus_Kroenert.jpg|thumb|150px|Thaddäus Krönert]]&lt;br /&gt;
Ich bin [[Technische Informatik]]-Student seit 2007 und bin auch seit dem in der Freitagsrunde.&lt;br /&gt;
Ich engagiere mich fuer all das, was studieren besser macht. Auch wenn ich nicht direkt davon profitiere, so profitiere ich doch von den Ergebnissen Gleichgesinnter.&lt;br /&gt;
&amp;lt;!--Zusammenklautes:--&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Im uebrigen bin ich auch, als Verfechter des amerikanischen Tastaturlayouts, gegen Umlaute!&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Was ich innerhalb und außerhalb der Freitagsrunde sonst so organisiere, erfahrt ihr über [[Benutzer:Tkroenert|meine Benutzerseite]]. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Alexander Kührmann (alexander kuehrmann com) ==&lt;br /&gt;
[[Bild:AlexanderKuehrmann.jpg|thumb|150px|Alexander Kührmann]]&lt;br /&gt;
Hallo, ich bin der Alexander und möchte diesen sinnlosen Text demnächst gegen einen sinnvollen Text ersetzen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sebastian Kührmann (sebastian kuehrmann com) ==&lt;br /&gt;
[[Bild:SebastianKuehrmann.jpg|thumb|150px|Sebastian Kührmann]]&lt;br /&gt;
Hallo, ich bin der Sebastian und möchte diesen sinnlosen Text demnächst gegen einen sinnvollen Text ersetzen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sebastian Lange (bastla -at- freitagsrunde.org) ==&lt;br /&gt;
[[Bild:Bastla.jpg|thumb|150px|Sebastian Lange]]&lt;br /&gt;
&lt;br /&gt;
Sebastian aka bastla studiert seit dem WS2007/08 &#039;&#039;Technische Informatik&#039;&#039; an der TU-Berlin. Durch Kontakte zur Freitagsrunde nahm er schon vor Beginn des ersten Semsters an dieser Sonderform des universitären Lebens teil.&lt;br /&gt;
&lt;br /&gt;
Anteil am Gesamtexperiment &#039;&#039;Freitagsrunde&#039;&#039; hat er durch die mitadministation des Freitagsrundenservers und in vertretender Stellung durch Fakultäts-politisches Engagement.&lt;br /&gt;
&lt;br /&gt;
Ansonsten liegt sein Hauptengagement in der Renaissance der Amateurfunkgruppe der TU-Berlin, kurz &#039;&#039;AfuTUB&#039;&#039;. Unter dem ehemals sehr bekannten Rufzeichen &#039;&#039;[http://dk0tu.de DK0TU]&#039;&#039; soll neuer studentischer Nachwuchs das Shack im obersten Stock des Hauptgebäudes betreiben.&lt;br /&gt;
&lt;br /&gt;
OT Informationen auf der [[Benutzer:bastla|Benutzerseite]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Daniel Levin ([mailto:. dlevin (at) cs.tu-berlin.de]) ==&lt;br /&gt;
[[Bild:Foto-Daniel-Levin.jpg|thumb|150px|Daniel Levin]]&lt;br /&gt;
Hello World! Ich bin Dan, der super nett und freundliche Amerikaner der Freitagsrunde. Seit 2006 bin ich Masterstudent in der Informatikrichtung hier an der TU. Bisher habe ich in Philadelphia meine Bachelorstudium in Mathematik absolviert, und ich freue mich nun hier in Berlin zu wohnen/studieren/arbeiten. I&#039;m a Gentoo and Mac user und ich spiele gerne mit *nix Services als Sysadmin Mitarbeiter der Freitagsrunde und ich spiele  gerne auch das Kartenspiel  &amp;quot;SET&amp;quot;. Sometimes I speak in a komische mischung von Deutsch und English.  Random Facts: I can juggle. Giovanni Sollima is Amazing.&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Björn Lohrmann ([mailto:blohrmann@freitagsrunde.org blohrmann@freitagsrunde.org]) ==&lt;br /&gt;
[[Bild:Foto-Bjoern-Lohrmann.jpg|thumb|150px|Björn Lohrmann]]&lt;br /&gt;
Seit 2003 bin ich Student der Informatik und MPGI Tutor hier an der TU-Berlin. Nach 2 Auslandssemestern in Kanada geht es jetzt so langsam Richtung Diplom. Da ich bereits beim Java-Kurs und Eclipse-Kurs mitgewirkt habe, werde ich das als Freitagsrunden-Mitglied auch weiter tun. Ebenso, wer ein paar nützliche Infos zu Auslandsaufenthalten/Studium sucht, kann mich auch mal deswegen ansprechen.&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Robert Lubkoll ([mailto:robert@freitagsrunde.org robert@freitagsrunde.org]) ==&lt;br /&gt;
[[Bild:Foto-robert.jpeg|framed|Robert Lubkoll]]&lt;br /&gt;
Nach einer Ausbildung als Elektroniker, Abitur im 2. Bildungsweg und Zivildienst in der Hauskrankenpflege studiere ich seit 2003 Informatik an der TU-Berlin.&lt;br /&gt;
&lt;br /&gt;
Das an den Berliner Unis nicht alles so läuft wie es sich ein Student wünschen würde ist kein Geheimnis. Manchmal wundere ich mich eher wie der ganze Laden eigentlich funktionieren kann. &lt;br /&gt;
Aber vom Rumsitzen und Zuschauen wird es nicht besser, was mich zur Freitagsrunde geführt hat.&lt;br /&gt;
&lt;br /&gt;
Mehr zu mir unter: [[Benutzer:Robert Lubkoll|Robert]].&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Bernd May ([mailto:bm@dv-team.de bm@dv-team.de]) ==&lt;br /&gt;
[[Bild:Foto-Bernd-May.jpg|thumb|150px|Bernd May]]&lt;br /&gt;
Ich studiere seit 2006 an der TU Informatik und hoffe, so ich das Grundstudium überstehe, mich schleunigst nach Abschluss des Bachelors an eine Vertiefung in Form des Masters of Science machen zu können.&lt;br /&gt;
Bei der Freitagsrunde bin ich seit Beginn meines Studiums, da ich es als wichtigen Bestandteil meiner Lehrnzeit sehe, selbst aktiv an der Gestaltung selbiger mitzuarbeiten.&lt;br /&gt;
&lt;br /&gt;
Mails an mich kannst und solltest Du per PGP/GnuPG verschlüsseln:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GnuPG-KeyID: 6EC47F94&lt;br /&gt;
Fingerprint: 97C5 136A 5D44 3FEF FB9B 0633 D530 0C6B 6EC4 7F94&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Marcel Radke ([mailto:mradke@cs.tu-berlin.de mradke@cs.tu-berlin.de]) ==&lt;br /&gt;
[[Bild:MRadke.JPG|thumb|150px|Marcel Radke]]&lt;br /&gt;
Moin. &amp;lt;br&amp;gt;&lt;br /&gt;
Seit Beginn meines Studiums im WS 07/08 hänge ich schon in der Freitagsrunde rum. Ich bin begeistert vom Tatendrang vieler Freitagsrundler und versuche selbst ein wenig meiner Kraft für ein besseres Studium einzusetzen. So war ich als Kleingruppentutor in der Einführungswoche WS 08 mit dabei und besuche auch gerne mal die AK.&lt;br /&gt;
Wenn ich mich ansonsten nicht gerade mit Studieren beschäftige oder vor mich hinschweige, füttere ich mein kleines Interesse für Fremdsprachen.&amp;lt;br&amp;gt;&lt;br /&gt;
soweit, man sieht sich.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Daniel Sturm ([mailto:freitagsrunde@DanielSturm.de freitagsrunde@DanielSturm.de]) ==&lt;br /&gt;
[[Bild:Foto_Daniel.jpg|framed|Daniel Sturm]]&lt;br /&gt;
Ich habe mit dem Studium im WS03/04 begonnen und scheine damit recht gut klarzukommen. Da ich auserdem eher der Typ bin, der leicht zufriedenzustellen ist und aus dem das Beste macht was er bekommt, ist es eher unwahrscheinlich, dass ich mich aus Unzufriedenheit bei einer Studenteninitiative wie der Freitagsrunde blicken lasse. Letzeres ist eher darauf zurückzuführen, dass ich dazu geneigt bin, was zum Wohle der Allgemeinheit zu tun, sofern die Zeit es zulässt.&lt;br /&gt;
&lt;br /&gt;
Alle weiteren Informationen gibts hier: http://www.dStulle.de/ oder hier: http://bog.dstulle.de/&lt;br /&gt;
&lt;br /&gt;
Ich war übrigens von 2006 bis 2008 in Shanghai und habe dort am [[Doppeldiplom_SJTU|Doppeldiplomabkommen]] mit der [http://www.sjtu.edu.cn/ Shanghai Jiao Tong Universität] teilgenommen. also wer fragen dazu hat schickt mir am besten eine [mailto:sjtu@DanielSturm.de eMail].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Florian Streibelt ([mailto:florian(a)freitagsrunde.org florian(a)freitagsrunde.org]) ==&lt;br /&gt;
[[Bild:Foto-florian.jpeg|framed|Florian Streibelt]]&lt;br /&gt;
Mit meinem Studium habe ich 2001 begonnen, zunächst als Elektrotechniker. Im Verlauf&lt;br /&gt;
des 4.Semesters habe ich dann zur Informatik gewechselt.&lt;br /&gt;
&lt;br /&gt;
In der Freizeit beschäftige ich mich vor allem mit Linux, Programmieren, Netzwerk- und Computersicherheit, Elektronik und vielen anderen Themen aus dem Bereich Computer und Technik.&lt;br /&gt;
Ausserdem arbeite ich für die [http://www.semgine.com/ semgine] GmbH im Bereich System Development. &lt;br /&gt;
&lt;br /&gt;
Und Krawatte trage ich nicht so häufig, wie das jetzt hier den Anschein hat ;)&lt;br /&gt;
&lt;br /&gt;
Mails an mich kannst und solltest Du per PGP/[http://www.gnupg.org/ GnuPG] verschlüsseln:&lt;br /&gt;
 GnuPG-KeyID: 1024D/82F61240&lt;br /&gt;
 Fingerprint: 5BE7 F008 8B83 9357 1108  984A 3B8E A41F 82F6 1240&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Thomas Tyminski ([mailto:thomast(ät)cs.tu-berlin.de thomast(ät)cs.tu-berlin.de]) ==&lt;br /&gt;
Ich studieren seit dem WS 07/08 hier an der TU  Informatik. Leider Bachelor und nicht Diplom :( &lt;br /&gt;
Noch vor eigendlichen Studium habe ich ,direkt nach dem Abitur, den Early Bird Kurs WS 07/08 besucht um LinA und Ana1 vorzuziehen.&lt;br /&gt;
Im nachhinein kann ich jedem,der davon rechtzeitig mitkriegt, nur empfehlen kann den Kurs zu machen. &lt;br /&gt;
Es entlassten schon nicht gerade wenig im 1.Semester und die Betreuung war wirklich gut. &lt;br /&gt;
In der Freizeit beschäftige ich allem was ins Gebiet &amp;quot;Computer und Technik&amp;quot; fällt und Sci-FI (Bücher,Filme,Serien) fällt.&lt;br /&gt;
Außerdem bin/war ich leidenschaftlicher Zocker. &lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Karl Wessel ([mailto:karl@freitagsrunde.org karl@freitagsrunde.org]) ==&lt;br /&gt;
[[Bild:karl3.jpg|thumb|150px|Karl Wessel]]&lt;br /&gt;
Ich habe mein Informatikstudium hier an der TU im WS04/05 begonnen, mit der Hoffnung endlich das zu lernen was ich will und wie ich es will. &lt;br /&gt;
Pustekuchen. &lt;br /&gt;
Immernoch werden 50 Prozent der Studienzeit durch ineffektive Lehrmethoden (man stelle sich ein Flasche vor die gefüllt wird indem man einen Topf über ihr ausschüttet) und Lehr-/Lernzwänge sinnlos verplämpert.&lt;br /&gt;
Da ich hoffe daran etwas ändern zu können bin ich nun in der Freitagsrunde.&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Das sind die Mitglieder der Freitagsrunde - Zurück zu unserer [[Freitagsrunde | Selbstdefinition]].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(zu den [[Freitagsrunde:Ehemalige_Mitglieder|ehemaligen Mitgliedern]].)&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Freitagsrunde]]&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
__NOEDITSECTION__&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Datei:Foto-DanielKaes.jpg&amp;diff=11996</id>
		<title>Datei:Foto-DanielKaes.jpg</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Datei:Foto-DanielKaes.jpg&amp;diff=11996"/>
		<updated>2009-04-21T16:25:15Z</updated>

		<summary type="html">&lt;p&gt;Dank: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Vorlage:HauptseiteNewsBox&amp;diff=3065</id>
		<title>Vorlage:HauptseiteNewsBox</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Vorlage:HauptseiteNewsBox&amp;diff=3065"/>
		<updated>2009-04-05T14:17:09Z</updated>

		<summary type="html">&lt;p&gt;Dank: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Tech Talk Mai ===&lt;br /&gt;
&lt;br /&gt;
Letzten Freitag (3. April) fand der erste [[TechTalk|Tech Talk]] der Freitagsrunde statt. Der nächste TechTalk wird auf Grund des Maifeiertags nicht am 1. Mai, sondern eine Woche später am 8. Mai stattfinden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: right;&amp;quot;&amp;gt;&amp;lt;font size=&amp;quot;1&amp;quot;&amp;gt;&#039;&#039;News erstellt am 05.04.2009&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SCM-Bash 2009 ===&lt;br /&gt;
Erstmals diesen April 24. wird die Freitagsrunde einen [[SCM-Bash_2009|Source Code Management Bash]] veranstalten. In dieser kleinen Veranstaltung, werden wir verschiedene SCM Systeme angucken.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: right;&amp;quot;&amp;gt;&amp;lt;font size=&amp;quot;1&amp;quot;&amp;gt;&#039;&#039;News erstellt am 14.03.2009&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Javakurs 2009 ===&lt;br /&gt;
Auch dieses Jahr wird es wieder einen Javakurs der Freitagsrunde geben! Dieser Kurs wird jeden der sich dafür interessiert in die Progammiersprache Java einführen. Besonders Studierende der Fakultät 4 im 1. Semester sollten sich die Tage zwischen Dienstag, den 24. und Freitag, den 27. März 2009 frei halten und häufig auf [[Javakurs 2009|diese Seite]] gehen, da dort stets aktuelle Informationen zum Kurs zu finden sind.&lt;br /&gt;
&lt;br /&gt;
Damit wir euch über aktuelle Informationen auf dem laufen halten koennen - und damit wir besser organisieren koennen - bitten wir um eine &amp;lt;b&amp;gt;[[Javakurs_2009#Anmeldung|Anmeldung]]&amp;lt;/b&amp;gt;!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: right;&amp;quot;&amp;gt;&amp;lt;font size=&amp;quot;1&amp;quot;&amp;gt;&#039;&#039;News erstellt am 06.02.2009&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fakultätsratswahl 2009 ===&lt;br /&gt;
Die Wahlen sind vorüber. Die Freitagsrunde hat im Fakultätsrat 255 Stimmen (Kein Scherz!) durch eure Beteiligung erhalten. Wir danken unseren Wählern und freuen uns darauf euch auch in der kommenden Amtsperiode auf gewohnt zuverlässige Art und Weise zu unterstützen.&lt;br /&gt;
&lt;br /&gt;
Falls ihr weitere Informationen braucht, dann schaut euch am besten das [http://www.tu-berlin.de/uploads/media/Ergebnis_der_Fakult_tsratswahlen_2009.pdf offizielle Ergebniss] (Seite 7) an, oder kommt einfach vorbei.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: right;&amp;quot;&amp;gt;&amp;lt;font size=&amp;quot;1&amp;quot;&amp;gt;&#039;&#039;News erstellt am 06.02.2009&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Gremienwahlen ===&lt;br /&gt;
Vom 27. bis 29. Januar 2009 sind Gremienwahlen. Gewählt werden der [[Fakultätsrat]], der [[Akademischer Senat|Akademische Senat]] und das [[Kuratorium]]. Bitte macht von eurem Wahlrecht Gebrauch.&lt;br /&gt;
Wählt am besten uns, damit wir auch weiterhin eure Interessen im Fakultätsrat vertreten können... Unsere Wahlplakate findet ihr übrigens [[Wahlplakate_2009|hier]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: right;&amp;quot;&amp;gt;&amp;lt;font size=&amp;quot;1&amp;quot;&amp;gt;&#039;&#039;News erstellt am 21.01.2009&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Linux-Installations-Party ===&lt;br /&gt;
Wir veranstalten eine Linux-Installations-Party! &amp;lt;br&amp;gt; Wer Lust hat, das freie Betriebssystem [[Linux]] zu installieren (auch parallel zu [[Windows]]), kann am Freitag,den 16. Januar 2009 mit seinem Rechner/Notebook ab 16h im [[FR 5516]] vorbeikommen. [[Linux-Installationsparty_2009|Mehr Infos]]&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: right;&amp;quot;&amp;gt;&amp;lt;font size=&amp;quot;1&amp;quot;&amp;gt;&#039;&#039;News erstellt am 11.01.2009&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Planet Freitagsrunde ===&lt;br /&gt;
Wir üben uns wieder mal ein bisschen in Public Relations. Um ein bisschen mehr in Kontakt mit euch (also allen Studenten der Fakultät IV) zu kommen und uns noch mehr zu öffnen haben wir zwei neue Erfindungen gemacht:&lt;br /&gt;
# unsere [[Freitagsrunde:fopen|fopen Liste]]&lt;br /&gt;
# den [[Freitagsrunde:Planet|Planet-Freitagsrunde]]&lt;br /&gt;
Die fopen Mailingliste soll irgendwas zwischen der [[Infoliste]] und unserer internen Kommunikation werden. Wir verschicken hier die Protokolle unserer Freitagstreffen und laden ein mit uns über die Themen darin zu diskutieren.&lt;br /&gt;
Wer immer noch nicht genug von uns hat, der kann den Planet-Freitagsrunde in seinen RSS-Reader aufnehmen und damit den gesammelten Spam von unseren privaten Blogs mitlesen. ;)&lt;br /&gt;
&lt;br /&gt;
Damit verabschieden wir uns auch ein bischen aus diesem Jahr -- es ist ja bald Weihnachten -- und wünschen frohe Feiertage!&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: right;&amp;quot;&amp;gt;&amp;lt;font size=&amp;quot;1&amp;quot;&amp;gt;&#039;&#039;News erstellt am 18.12.2008&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Weihnachtsrunde 2008 ===&lt;br /&gt;
Wie in den letzten zwei Jahren lädt die Freitagsrunde auch dieses Jahr wieder die gesamte Fakultät IV zu einer Adventsfeier ein. Termin unserer Runde der Besinnlichkeit ist Dienstag, der 16. Dezember 2008, ab 18 Uhr im [[Cafe_Shila|Café Shila]].&lt;br /&gt;
&lt;br /&gt;
Wir laden ein zu Kaffee, Keksen und Glühwein und würden uns freuen, wenn ihr kommt. Ihr könnt natürlich auch Geschenke mitbringen, wenn ihr diese teilen wollt.&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: right;&amp;quot;&amp;gt;&amp;lt;font size=&amp;quot;1&amp;quot;&amp;gt;&#039;&#039;News erstellt am 11.12.2008&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Kickerturnier 2008 ===&lt;br /&gt;
Nun ist es soweit! Die Freitagsrunde veranstaltet am 11.11.2008 ein [[Kickerturnier_2008 | Kickertunier]]. Alle Teams müssen sich bis zum 09.11.2008 [[Kickerturnier_2008#Anmeldung | anmelden]] - Natürlich kostenlos! Neben interessanten Preisen wartet ein spannender Kickerabend an mehreren Tischen auf euch. Für euer leibliches Wohl ist natürlich auch gesorgt.&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: right;&amp;quot;&amp;gt;&amp;lt;font size=&amp;quot;1&amp;quot;&amp;gt;&#039;&#039;News erstellt am 27.10.2008&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Eclipsekurs 2008 ===&lt;br /&gt;
&#039;&#039;27. Oktober 2008&#039;&#039; - Die Freitagsrunde veranstaltet auch dieses Jahr wieder einen Eclipsekurs! Er zeigt euch, wie ihr besser und effizienter mit Java programmieren könnt. Am 8. und 15. November finden die Vorträge und betreute Übungen statt. Mehr Informationen und ein Link zur Kurs-Anmeldung findet ihr [[Eclipsekurs 2008 | hier]]. &lt;br /&gt;
&lt;br /&gt;
[[Newsarchiv|Ältere Nachrichten finden sich im Archiv]]&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=TechTalks&amp;diff=11774</id>
		<title>TechTalks</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=TechTalks&amp;diff=11774"/>
		<updated>2009-04-05T14:15:46Z</updated>

		<summary type="html">&lt;p&gt;Dank: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der Freitagsrunden TechTalk ist eine monatlich stattfindene Vortragsreihe, in der Studenten technische und informatische Themen vorstellen mit denen sie sich im Beruf, Uni oder in der Freizeit beschäftigen. Der TechTalk soll dazu dienen Ideen und Erfahrung auszutauschen und über neue oder eher unbekannte Technologien zu informieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mitmachen ==&lt;br /&gt;
&lt;br /&gt;
Jeder ist herzlich willkommen den TechTalks beizuwohnen, eine Anmeldung ist nicht nötig, schaut einfach vorbei. Wenn ihr selbst einen Vortrag&lt;br /&gt;
halten wollt, dann schickt einfach eine Mail an &#039;&#039;&#039;techtalks()freitagsrunde.org&#039;&#039;&#039;.&lt;br /&gt;
Ein TechTalk besteht hauptsächlich aus zwei Kurzvorträgen und Zeit für Fragen und Diskussion. Die Kurzvorträge sollten dabei&lt;br /&gt;
nicht länger als 20 Minuten dauern.&lt;br /&gt;
&lt;br /&gt;
== Termine ==&lt;br /&gt;
&lt;br /&gt;
Der nächste TechTalk findet am Freitag, den &#039;&#039;&#039;8. Mai um 16:00 Uhr&#039;&#039;&#039; direkt nach dem Freitagsrundentreffen im &#039;&#039;&#039;FR5516&#039;&#039;&#039; statt und nicht wie zu erwarten am 1. Mai. Der Termin wird auf Grund des Maifeiertags also um eine Woche nach hinten verlegt.&lt;br /&gt;
&lt;br /&gt;
Die TechTalks werden ansonsten jeden ersten Freitag im Monat ab 16:00 Uhr stattfinden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Welche Vortragsthemen sind gewünscht? ==&lt;br /&gt;
&lt;br /&gt;
Als Themen ist alles gewünscht was in irgendeiner Weise mit&lt;br /&gt;
Elektrotechnik oder (technischer) Informatik zu tun hat. Das könnten sein:&lt;br /&gt;
&lt;br /&gt;
* Lieblings Linuxdistribution vorstellen, die wahrscheinlich eher unbekannt ist&lt;br /&gt;
* Coole Software die man auf andere Architekturen portiert hat&lt;br /&gt;
* Jemand kennt eine ungewöhnliche Programmiersprache und möchte sie einfach mal vorstellen (Lisp, Groovy, Erlang, F#, Eiffel, ... )&lt;br /&gt;
* Experimente mit Hardware, Mikrocontrollern und Robotern die Bier holen&lt;br /&gt;
* amüsanten Bug + Exploit vorstellen den man gefunden hat&lt;br /&gt;
* eigenes Softwareprojekt präsentieren&lt;br /&gt;
* Aktuelle politische Themen aus der Informatik vorstellen, zB: Softwarepatente, Raubkopieren, Überwachung, etc&lt;br /&gt;
&lt;br /&gt;
== Vorträge == &lt;br /&gt;
&lt;br /&gt;
* 3. April &lt;br /&gt;
** &amp;quot;Einführung TechTalk &amp;amp; Funktionales Programmieren mit Python&amp;quot; -Daniel&lt;br /&gt;
* 8. Mai&lt;br /&gt;
** &amp;quot;How To Talk About Source-Code With LaTeX Beamer&amp;quot; - Kai&lt;br /&gt;
** (noch nicht vergeben)&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Benutzer:Dank&amp;diff=9940</id>
		<title>Benutzer:Dank</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Benutzer:Dank&amp;diff=9940"/>
		<updated>2009-04-01T20:28:42Z</updated>

		<summary type="html">&lt;p&gt;Dank: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Daniel Käs&lt;br /&gt;
&lt;br /&gt;
Ihr erreicht mich per E-Mail unter dkaes im CS-Netz.&lt;br /&gt;
&lt;br /&gt;
Mein Blog&lt;br /&gt;
&lt;br /&gt;
http://danielkaes.wordpress.com/&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=TechTalks&amp;diff=11773</id>
		<title>TechTalks</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=TechTalks&amp;diff=11773"/>
		<updated>2009-03-18T19:54:35Z</updated>

		<summary type="html">&lt;p&gt;Dank: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der Freitagsrunden TechTalk ist eine monatlich stattfindene Vortragsreihe, in der Studenten technische und informatische Themen vorstellen mit denen sie sich im Beruf, Uni oder in der Freizeit beschäftigen. Der TechTalk soll dazu dienen Ideen und Erfahrung auszutauschen und über neue oder eher unbekannte Technologien zu informieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ablauf ==&lt;br /&gt;
&lt;br /&gt;
Jeder ist herzlich willkommen den TechTalks beizuwohnen, eine Anmeldung ist nicht nötig, schaut einfach vorbei. Wenn ihr selbst einen Vortrag&lt;br /&gt;
halten wollt, dann schickt einfach eine Mail an &#039;&#039;&#039;techtalks()freitagsrunde.org&#039;&#039;&#039;.&lt;br /&gt;
Ein TechTalk besteht hauptsächlich aus zwei Kurzvorträgen und Zeit für Fragen und Diskussion. Die Kurzvorträge sollten dabei&lt;br /&gt;
nicht länger als 20 Minuten dauern.&lt;br /&gt;
&lt;br /&gt;
== Termine ==&lt;br /&gt;
&lt;br /&gt;
Der nächste und damit erste TechTalk findet am Freitag, den &#039;&#039;&#039;3. April um 16:00 Uhr&#039;&#039;&#039; direkt nach dem Freitagsrundentreffen im &#039;&#039;&#039;FR5516&#039;&#039;&#039; statt.&lt;br /&gt;
&lt;br /&gt;
Die TechTalks werden damit zukünftigt jeden ersten Freitag im Monat ab 16:00 Uhr stattfinden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Welche Vortragsthemen sind gewünscht? ==&lt;br /&gt;
&lt;br /&gt;
Als Themen ist alles gewünscht was in irgendeiner Weise mit&lt;br /&gt;
Elektrotechnik oder (technischer) Informatik zu tun hat. Das könnten sein:&lt;br /&gt;
&lt;br /&gt;
* Lieblings Linuxdistribution vorstellen, die wahrscheinlich eher unbekannt ist&lt;br /&gt;
* Coole Software die man auf andere Architekturen portiert hat&lt;br /&gt;
* Jemand kennt eine ungewöhnliche Programmiersprache und möchte sie einfach mal vorstellen (Lisp, Groovy, Erlang, F#, Eiffel, ... )&lt;br /&gt;
* Experimente mit Hardware, Mikrocontrollern und Robotern die Bier holen&lt;br /&gt;
* amüsanten Bug + Exploit vorstellen den man gefunden hat&lt;br /&gt;
* eigenes Softwareprojekt präsentieren&lt;br /&gt;
* Aktuelle politische Themen aus der Informatik vorstellen, zB: Softwarepatente, Raubkopieren, Überwachung, etc&lt;br /&gt;
&lt;br /&gt;
== Vorträge == &lt;br /&gt;
&lt;br /&gt;
* 3. April &lt;br /&gt;
** &amp;quot;Einführung TechTalk &amp;amp; Funktionales Programmieren mit Python&amp;quot; -Daniel&lt;br /&gt;
** noch nicht vergeben (evtl. Paludis - Thorsten)&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=TechTalks&amp;diff=11772</id>
		<title>TechTalks</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=TechTalks&amp;diff=11772"/>
		<updated>2009-03-18T19:38:18Z</updated>

		<summary type="html">&lt;p&gt;Dank: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der Freitagsrunden TechTalk ist eine monatlich stattfindene Vortragsreihe, in der Studenten technische und informatische Themen vorstellen mit denen sie sich im Beruf, Uni oder in der Freizeit beschäftigen. Der TechTalk soll dazu dienen Ideen und Erfahrung auszutauschen und über neue oder eher unbekannte Technologien zu informieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ablauf ==&lt;br /&gt;
&lt;br /&gt;
Jeder ist herzlich willkommen den TechTalks beizuwohnen, eine Anmeldung ist nicht nötig, schaut einfach vorbei. Wenn ihr selbst einen Vortrag&lt;br /&gt;
halten wollt, dann schickt einfach eine Mail an techtalks()freitagsrunde.org.&lt;br /&gt;
Ein TechTalk besteht hauptsächlich aus zwei Kurzvorträgen und Zeit für Fragen und Diskussion. Die Kurzvorträge sollten dabei&lt;br /&gt;
nicht länger als 20 Minuten dauern.&lt;br /&gt;
&lt;br /&gt;
== Termine ==&lt;br /&gt;
&lt;br /&gt;
Der nächste und damit erste TechTalk findet am Freitag, den 3. April um 16:00 Uhr direkt nach dem Freitagsrundentreffen statt. Die Veranstaltung findet im FR5516 statt.&lt;br /&gt;
&lt;br /&gt;
Die TechTalks werden damit jeden ersten Freitag im Monat ab 16:00 Uhr stattfinden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Welche Vortragsthemen sind gewünscht? ==&lt;br /&gt;
&lt;br /&gt;
Als Themen ist alles gewünscht was in irgendeiner Weise mit&lt;br /&gt;
Elektrotechnik oder (technischer) Informatik zu tun hat. Das könnten sein:&lt;br /&gt;
&lt;br /&gt;
* Lieblings Linuxdistribution vorstellen, die wahrscheinlich eher unbekannt ist&lt;br /&gt;
* Coole Software die man auf andere Architekturen portiert hat&lt;br /&gt;
* Jemand kennt eine ungewöhnliche Programmiersprache und möchte sie einfach mal vorstellen (Lisp, Groovy, Erlang, F#, Eiffel, ... )&lt;br /&gt;
* Experimente mit Hardware, Mikrocontrollern und Robotern die Bier holen&lt;br /&gt;
* amüsanten Bug + Exploit vorstellen den man gefunden hat&lt;br /&gt;
* eigenes Softwareprojekt präsentieren&lt;br /&gt;
* Aktuelle politische Themen aus der Informatik vorstellen, zB: Softwarepatente, Raubkopieren, Überwachung, etc&lt;br /&gt;
&lt;br /&gt;
== Vorträge == &lt;br /&gt;
&lt;br /&gt;
* 3. April &lt;br /&gt;
** &amp;quot;Einführung TechTalk &amp;amp; Funktionales Programmieren mit Python&amp;quot; -Daniel&lt;br /&gt;
** noch nicht vergeben&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=TechTalks&amp;diff=11771</id>
		<title>TechTalks</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=TechTalks&amp;diff=11771"/>
		<updated>2009-03-18T19:26:33Z</updated>

		<summary type="html">&lt;p&gt;Dank: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der Freitagsrunden TechTalk ist eine monatlich stattfindene Vortragsreihe, in der Studenten technische und informatische Themen vorstellen mit denen sie sich im Beruf, Uni oder in der Freizeit beschäftigen. Der TechTalk soll dazu dienen Ideen und Erfahrung auszutauschen und über neue oder eher unbekannte Technologien zu informieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ablauf ==&lt;br /&gt;
&lt;br /&gt;
Jeder ist herzlich willkommen den TechTalks beizuwohnen, eine Anmeldung ist nicht nötig, schaut einfach vorbei. Wenn ihr selbst einen Vortrag&lt;br /&gt;
halten wollt, dann schickt einfach eine Mail an techtalks@freitagsrunde.org.&lt;br /&gt;
Ein TechTalk besteht hauptsächlich aus zwei Kurzvorträgen und Zeit für Fragen und Diskussion. Die Kurzvorträge sollten dabei&lt;br /&gt;
nicht länger als 20 Minuten dauern.&lt;br /&gt;
&lt;br /&gt;
== Termine ==&lt;br /&gt;
&lt;br /&gt;
Der nächste und damit erste TechTalk findet am Freitag, den 3. April um 16:00 Uhr direkt nach dem Freitagsrundentreffen statt. Die Veranstaltung findet im FR5516 statt.&lt;br /&gt;
&lt;br /&gt;
Die TechTalks werden damit jeden ersten Freitag im Monat ab 16:00 Uhr stattfinden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Welche Vortragsthemen sind gewünscht? ==&lt;br /&gt;
&lt;br /&gt;
Als Themen ist alles gewünscht was in irgendeiner Weise mit&lt;br /&gt;
Elektrotechnik oder (technischer) Informatik zu tun hat. Das könnten sein:&lt;br /&gt;
&lt;br /&gt;
* Lieblings Linuxdistribution vorstellen, die wahrscheinlich eher unbekannt ist&lt;br /&gt;
* Coole Software die man auf andere Architekturen portiert hat&lt;br /&gt;
* Jemand kennt eine ungewöhnliche Programmiersprache und möchte sie einfach mal vorstellen (Lisp, Groovy, Erlang, F#, Eiffel, ... )&lt;br /&gt;
* Experimente mit Hardware, Mikrocontrollern und Robotern die Bier holen&lt;br /&gt;
* amüsanten Bug + Exploit vorstellen den man gefunden hat&lt;br /&gt;
* eigenes Softwareprojekt präsentieren&lt;br /&gt;
* Aktuelle politische Themen aus der Informatik vorstellen, zB: Softwarepatente, Raubkopieren, Überwachung, etc&lt;br /&gt;
&lt;br /&gt;
== Vorträge == &lt;br /&gt;
&lt;br /&gt;
* 3. April &lt;br /&gt;
** &amp;quot;Einführung TechTalk &amp;amp; Funktionales Programmieren mit Python&amp;quot; -Daniel&lt;br /&gt;
** noch nicht vergeben&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Javakurs2006/Java_Kurzreferenz&amp;diff=7254</id>
		<title>Javakurs2006/Java Kurzreferenz</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Javakurs2006/Java_Kurzreferenz&amp;diff=7254"/>
		<updated>2008-04-10T10:06:25Z</updated>

		<summary type="html">&lt;p&gt;Dank: /* Wozu ist der Stringarray args in der Mainmethode gut? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier befindet sich eine kleine &#039;&#039;&#039;Referenz für Java&#039;&#039;&#039; speziell für den Javakurs der Freitagsrunde.&lt;br /&gt;
&lt;br /&gt;
== Kommentare ==&lt;br /&gt;
Ein &#039;&#039;&#039;Kommentar&#039;&#039;&#039; ist ein Abschnitt des Java-Codes, der vom Java-Compiler ignoriert wird.  Man kann in ein Kommentar also schreiben was man will.  Kommentare sind nützlich, um den Quellcode zu dokumentieren.  &lt;br /&gt;
&lt;br /&gt;
In Java gibt es zwei Arten von Kommentaren: &lt;br /&gt;
&lt;br /&gt;
===Kommentare über eine Zeile===&lt;br /&gt;
&lt;br /&gt;
 // Diese ganze Zeile wird vom Compiler ignoriert.&lt;br /&gt;
 int x= 5;  // Dieser  Kommentar beginnt mit »//«.  Alles davor wird vom Compiler nicht ignoriert.&lt;br /&gt;
&lt;br /&gt;
===Kommentare über mehrere Zeilen===&lt;br /&gt;
&lt;br /&gt;
 /* Dieser &lt;br /&gt;
    Kommentar&lt;br /&gt;
    erstreckt &lt;br /&gt;
    sich &lt;br /&gt;
    über&lt;br /&gt;
    mehrere&lt;br /&gt;
    Zeilen.&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
Zum Vergleich: in Opal werden Kommentare mit -- eingeführt.&lt;br /&gt;
&lt;br /&gt;
=== Javadoc-Kommentare ===&lt;br /&gt;
Um Programme zu dokumentieren gibt es in Java ein Tool: Javadoc. Damit lassen sich HTML-Seiten generieren, die informationen über eure Methoden und Klassen beinhalten.&lt;br /&gt;
&lt;br /&gt;
 /**&lt;br /&gt;
  Dies ist ein Javadoc-Kommentar &lt;br /&gt;
  und erscheint später in eurer Dokumentation.&lt;br /&gt;
  Was es für Optionen gibt, fragt eure Tutoren ;)&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
== Datentypen (Variablen) ==&lt;br /&gt;
{| border=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; width=&amp;quot;80%&amp;quot; rules=&amp;quot;all&amp;quot; style=&amp;quot;margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse; background-color:#F9F9F9; font-size:95%; empty-cells:show;&amp;quot;&lt;br /&gt;
! style=&amp;quot;background-color:#ABCDEF;&amp;quot; | Typ &lt;br /&gt;
! style=&amp;quot;background-color:#ABCDEF;&amp;quot; | Speicherbedarf&lt;br /&gt;
! style=&amp;quot;background-color:#ABCDEF;&amp;quot; | Bereich&lt;br /&gt;
|- &lt;br /&gt;
|void&lt;br /&gt;
|0 Byte&lt;br /&gt;
|keiner&lt;br /&gt;
|- &lt;br /&gt;
|boolean&lt;br /&gt;
|1 Byte&lt;br /&gt;
|true, false&lt;br /&gt;
|-&lt;br /&gt;
|int&lt;br /&gt;
|4 Byte&lt;br /&gt;
| -2.147.483.648 bis 2.147.483.647&lt;br /&gt;
|- &lt;br /&gt;
|short&lt;br /&gt;
|2 Byte&lt;br /&gt;
| -32.768 bis 32.787&lt;br /&gt;
|- &lt;br /&gt;
|long&lt;br /&gt;
|8 Byte&lt;br /&gt;
| -9.223.372.036.854.775.808L bis 9.223.372.036.854.775.807L&lt;br /&gt;
|- &lt;br /&gt;
|byte&lt;br /&gt;
|1 Byte&lt;br /&gt;
| -128 bis 127&lt;br /&gt;
|- &lt;br /&gt;
|float&lt;br /&gt;
|4 Byte&lt;br /&gt;
| +/-3,40282347E+38F&lt;br /&gt;
|- &lt;br /&gt;
|double&lt;br /&gt;
|8 Byte&lt;br /&gt;
| +/-1,79769313486231570E+308&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Boolsche Operatoren ==&lt;br /&gt;
{| border=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; width=&amp;quot;80%&amp;quot; rules=&amp;quot;all&amp;quot; style=&amp;quot;margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse; background-color:#F9F9F9; font-size:95%; empty-cells:show;&amp;quot;&lt;br /&gt;
! style=&amp;quot;background-color:#ABCDEF;&amp;quot; | Operator&lt;br /&gt;
! style=&amp;quot;background-color:#ABCDEF;&amp;quot; | Beispiel&lt;br /&gt;
! style=&amp;quot;background-color:#ABCDEF;&amp;quot; | Ergebnis des Beispiels&lt;br /&gt;
|- &lt;br /&gt;
| ==  &lt;br /&gt;
&#039;&#039;(gleich)&#039;&#039;&lt;br /&gt;
| 4 == 9&lt;br /&gt;
| false&lt;br /&gt;
|-&lt;br /&gt;
| !=  &lt;br /&gt;
&#039;&#039;(ungleich)&#039;&#039;&lt;br /&gt;
| 4 != 8&lt;br /&gt;
| true&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;&amp;amp;  &lt;br /&gt;
&#039;&#039;(logisches UND)&#039;&#039;&lt;br /&gt;
| false &amp;amp;&amp;amp; true&lt;br /&gt;
| false, es wird erst der linke Ausdruck ausgewertet. Wenn die Auswertung false ergibt, wird der rechte Ausdruck nicht mehr geprüft, da das Ergebnis nicht mehr true werden kann.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;||&amp;lt;/nowiki&amp;gt;  &lt;br /&gt;
&#039;&#039;(logisches ODER)&#039;&#039;&lt;br /&gt;
| true &amp;lt;nowiki&amp;gt;||&amp;lt;/nowiki&amp;gt; false&lt;br /&gt;
| true,  es wird erst der linke Ausdruck ausgewertet. Wenn die Auswertung true ergibt, wird der rechte Ausdruck nicht mehr geprüft, da das Ergebnis nicht mehr false werden kann.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;, &amp;lt;=, &amp;gt;, &amp;gt;=, &amp;lt;&amp;gt;&lt;br /&gt;
| 1 &amp;lt; 3  &#039;&#039;(hier exempalrisch nur eins)&#039;&#039;&lt;br /&gt;
| true&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Bitoperatoren ==&lt;br /&gt;
{| border=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; width=&amp;quot;80%&amp;quot; rules=&amp;quot;all&amp;quot; style=&amp;quot;margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse; background-color:#F9F9F9; font-size:95%; empty-cells:show;&amp;quot;&lt;br /&gt;
! style=&amp;quot;background-color:#ABCDEF;&amp;quot; | Operator&lt;br /&gt;
! style=&amp;quot;background-color:#ABCDEF;&amp;quot; | Beschreibung&lt;br /&gt;
! style=&amp;quot;background-color:#ABCDEF;&amp;quot; | Erklärung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;&lt;br /&gt;
| AND&lt;br /&gt;
| Wie das logische UND, jedoch werden auf jeden Fall beide Seiten ausgewertet.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| OR&lt;br /&gt;
| Wie das logische ODER, jedoch werden auf jeden Fall beide Seiten ausgewertet.&lt;br /&gt;
|-&lt;br /&gt;
| ^&lt;br /&gt;
| XOR&lt;br /&gt;
| Exklusives ODER&lt;br /&gt;
|-&lt;br /&gt;
| ~&lt;br /&gt;
| NOT&lt;br /&gt;
| Negation des Wertes.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Konstanten ==&lt;br /&gt;
* In Java werden Konstanten mit dem Schlüsselwort &#039;&#039;&#039;final&#039;&#039;&#039; bezeichnet. In Java gibt es die Konvention Konstanten komplett groß zu schreiben:&lt;br /&gt;
&lt;br /&gt;
 final double PI = 3.14;&lt;br /&gt;
&lt;br /&gt;
== Zuweisungen und Initialisierungen ==&lt;br /&gt;
Wenn man eine Variable erstellt und sie mit Werten füllen will, wird man auf folgende Syntax stoßen:&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;Datentyp&#039;&#039; Variablenname = &#039;&#039;Initialisierungswert&#039;&#039;;&lt;br /&gt;
&lt;br /&gt;
Es gibt zwei Möglichkeiten diese Aktion durchzuführen:&lt;br /&gt;
* lange Variante:&lt;br /&gt;
 int zahl;&lt;br /&gt;
 zahl = 23;&lt;br /&gt;
&lt;br /&gt;
* kurze Variante:&lt;br /&gt;
 int zahl = 23;&lt;br /&gt;
&lt;br /&gt;
= if-Anweisung =&lt;br /&gt;
* Die einfachste Variante:&lt;br /&gt;
&lt;br /&gt;
 if (condition) {&lt;br /&gt;
    &#039;&#039;Anweisungen;&#039;&#039;	&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
* Zusätzlich hat diese Variante einen alternativen Anweisungsblock. Wenn &#039;&#039;condition&#039;&#039; nicht erfüllt gehe in den &#039;&#039;else&#039;&#039;-Zweig und führe dort die Anweisungen aus.&lt;br /&gt;
&lt;br /&gt;
 if (condition) {&lt;br /&gt;
    &#039;&#039;Anweisungen;&#039;&#039;	&lt;br /&gt;
 } else {&lt;br /&gt;
    &#039;&#039;Anweisungen;&#039;&#039;&lt;br /&gt;
 }&lt;br /&gt;
	&lt;br /&gt;
* Natürlich lassen sich beide Varianten schachteln. Man kann also auf zwei Bedingungen prüfen und bei nicht Eintreffen in den &#039;&#039;else&#039;&#039;-Zweig gehen.&lt;br /&gt;
		&lt;br /&gt;
 if (condition) {&lt;br /&gt;
    &#039;&#039;Anweisungen;&#039;&#039;	&lt;br /&gt;
 } else if (condition) {&lt;br /&gt;
    &#039;&#039;Anweisungen;&#039;&#039;			&lt;br /&gt;
 } else {&lt;br /&gt;
    &#039;&#039;Anweisungen;&#039;&#039;		&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
= Schleifen =&lt;br /&gt;
== for-Schleife ==&lt;br /&gt;
* Um über Array&#039;s zu wandern bietet sich die for-Schleife an. Als erstes in der Klammer muß eine Laufvariable deklariert und mit einem Wert initialisiert werden (hier int i= 0). Danach muß eine Bedingung erfüllen, um festzulegen bis wann die Schleife ausgeführt wird (i &amp;lt; 10). Als letztes muß die Laufvariable verändert werden, so daß irgendwann der Abbruch eintritt (i++).&lt;br /&gt;
&lt;br /&gt;
 for (int i = 0; i &amp;lt; 10; i++) {&lt;br /&gt;
 &lt;br /&gt;
    &#039;&#039;Anweisungen;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== while-Schleife ==&lt;br /&gt;
* Die while-Schleife wird meistens dafür benutzt, Anweisungen auszuführen bis irgendetwas eintrifft (z.B. EOF -End Of File). Für Arrays sollte man die for-Schleife nehmen. Die while-Schleife lässt sich auch als for-Schleife schreiben.&lt;br /&gt;
&lt;br /&gt;
 while (condition) {&lt;br /&gt;
     &#039;&#039;Anweisungen;&#039;&#039;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
= switch-case =&lt;br /&gt;
* Wenn man verschiedene Werte abfangen möchte, wie zum Beispiel verschiedene Zahlen (bei einem Menü). Gehen wir mal davon aus, daß wir drei Menüeinträge haben: &lt;br /&gt;
# &#039;&#039;1&#039;&#039;&lt;br /&gt;
# &#039;&#039;2&#039;&#039;&lt;br /&gt;
# &#039;&#039;0&#039;&#039; &lt;br /&gt;
&#039;&#039;1&#039;&#039; gibt die Zahl &#039;&#039;&#039;1&#039;&#039;&#039;, &#039;&#039;2&#039;&#039; gibt die Zahl &#039;&#039;&#039;2&#039;&#039;&#039; aus und &#039;&#039;0&#039;&#039; beendet das Programm, dann ist key zum Beispiel ein &#039;&#039;&#039;int&#039;&#039;&#039; und &#039;&#039;&#039;value&#039;&#039;&#039; würde den einzelnen Menüpunkten entsprechen. Das &#039;&#039;break&#039;&#039; bewirkt ein rausspringen aus dem switch-Konstrukt. Würde man das &#039;&#039;break&#039;&#039; weglassen, würden sämtliche Anweisungen die direkt darunter folgen, ausgeführt werden.&lt;br /&gt;
&lt;br /&gt;
 switch (key) {&lt;br /&gt;
    case value: {&lt;br /&gt;
       &#039;&#039;Anweisungen;&#039;&#039;&lt;br /&gt;
       break;&lt;br /&gt;
    }&lt;br /&gt;
    default: {&lt;br /&gt;
       &#039;&#039;Anweisungen;&#039;&#039;&lt;br /&gt;
       break;&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Leider ist switch/case in Java nicht wirklich konsequent umgesetzt, sodass sich wirklich nur Werte ganzahligen Typs (Byte, Short und Integer) mit dieser Art der Verzweigung abfragen/auswerten lassen.&lt;br /&gt;
&lt;br /&gt;
= Grundgerüst eines Javaprogramms=&lt;br /&gt;
&lt;br /&gt;
Da der Programmierer vom Kopieren lebt, schreibt er einmal eine Schablone und benutzt sie immer wieder, frei nach dem Motto: Man muß das Rad nicht zweimal erfinden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So sieht zum Beispiel ein simples Javaprogramm ohne Handlung aus:&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
 public class Klassenname {&lt;br /&gt;
 &lt;br /&gt;
 	/**&lt;br /&gt;
 	 * @param args&lt;br /&gt;
 	 */&lt;br /&gt;
 	public static void main(String[] args) {&lt;br /&gt;
 		// TODO Anweisungen&lt;br /&gt;
 &lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erläuterungen:&#039;&#039;&#039;&lt;br /&gt;
@param ist für das Dokumentationssystem Javadoc, wird im Javakurs vielleicht angesprochen, sollte aber erstmal zweitrangig sein. Dennoch ist Dokumentation wichtiger als der eigentliche Code und deshalb hier erwähnt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Funktionen (Methoden) =&lt;br /&gt;
In Java programmiert man meistens Objektorientiert, es sei denn man belegt Info2. Funktionen heißen bei Java Methoden und Methoden sind Objekten zugeordnet, es sei denn man programmiert nicht Objektorientiert.&lt;br /&gt;
Eine Methode hat immer folgenden Aufbau:&lt;br /&gt;
&lt;br /&gt;
 Spezialoption &#039;&#039;Veröffentlichungsart&#039;&#039; &#039;&#039;&#039;Rückgabewert&#039;&#039;&#039; Funktionsname &#039;&#039;&#039;(&#039;&#039;&#039; Parametertyp &#039;&#039;Parametername&#039;&#039; &#039;&#039;&#039;)&#039;&#039;&#039; {&lt;br /&gt;
 &lt;br /&gt;
    Methodenrumpf_mit_Anweisungen;&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Spezialoption:&lt;br /&gt;
* static&lt;br /&gt;
* final&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Veröffentlichungsart&#039;&#039;:&lt;br /&gt;
* public&lt;br /&gt;
* protected&lt;br /&gt;
* private&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Spezialoption&amp;quot; und &amp;quot;Veröffentlichungsart&amp;quot; werden in Java unter dem Begriff &#039;&#039;Modifier&#039;&#039; zusammengefasst. Eine Auflistung der Modifier gibt es [http://www.javacamp.org/javaI/modifier.html hier].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rückgabewert&#039;&#039;&#039;:&lt;br /&gt;
* sämtliche oben aufgeführte Datentypen &lt;br /&gt;
* eigene Datentypen&lt;br /&gt;
&lt;br /&gt;
Funktionsname:&lt;br /&gt;
* einen für die Funktion bezeichnenden Namen aus Buchstaben, Zahlen und dem Underscore ( &#039;&#039;_&#039;&#039; )&lt;br /&gt;
* darf nicht mit eine Zahl beginnen&lt;br /&gt;
&lt;br /&gt;
Parametertyp:&lt;br /&gt;
* wie &#039;&#039;&#039;Rückgabewert&#039;&#039;&#039;, siehe oben&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Parametername&#039;&#039;:&lt;br /&gt;
* wie Funtionsname, siehe oben&lt;br /&gt;
&lt;br /&gt;
= Ausgabe =&lt;br /&gt;
* Um Fehler finden zu können oder Ausgaben auf der Konsole zu machen, gibt es in Java &#039;&#039;print&#039;&#039;-Funktionen:&lt;br /&gt;
&lt;br /&gt;
 System.out.print(&amp;quot;Irgend ein String.&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
Gibt &#039;&#039;Irgend ein String.&#039;&#039; auf der Konsole aus ohne einen Zeilenumbruch.&lt;br /&gt;
&lt;br /&gt;
 System.out.println(&amp;quot;Noch ein String.&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
Gibt &#039;&#039;Noch ein String.&#039;&#039; auf der Konsole aus allerdings diesmal mit einem Zeilenumbruch.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Klassen =&lt;br /&gt;
&lt;br /&gt;
== Einfache Datenklasse ==&lt;br /&gt;
&lt;br /&gt;
Manchmal braucht man neue Datentypen, zum Beispiel um eine Farbe oder einen Punkt zu speichern und &lt;br /&gt;
damit arbeiten zu können.&lt;br /&gt;
&lt;br /&gt;
Die kann dann wie folgt aussehen:&lt;br /&gt;
&lt;br /&gt;
=== Eine Punktklasse ===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
class Punkt{&lt;br /&gt;
 int x;&lt;br /&gt;
 int y;&lt;br /&gt;
}&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Eine Farbenklasse ===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
class Farbe{&lt;br /&gt;
 double rotanteil;&lt;br /&gt;
 double gruenanteil;&lt;br /&gt;
 double blauanteil;&lt;br /&gt;
}&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Diese beiden Klassen kann man so schon tatsächlich verwenden. Allerdings sind sie alles andere &lt;br /&gt;
als objektorientiert. Sie sind simple Datencontainer und wenn man sie verwenden will, muss man alles über ihren &lt;br /&gt;
internen Aufbau wissen, wie folgendes Programm zeigt:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
class PundF{&lt;br /&gt;
&lt;br /&gt;
    public static void main(String[] args){&lt;br /&gt;
    &lt;br /&gt;
        Farbe farbe1 = new Farbe();&lt;br /&gt;
&lt;br /&gt;
        farbe1.rotanteil = 0.5;&lt;br /&gt;
        farbe1.blauanteil = 0.5;&lt;br /&gt;
        farbe1.gruenanteil = 0.5;&lt;br /&gt;
&lt;br /&gt;
        Punkt p = new Punkt();&lt;br /&gt;
&lt;br /&gt;
        p.x=123;&lt;br /&gt;
        p.y=321;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das ist nicht sehr praktisch, weil man sich vorstellen kann, dass man die Implementierung,&lt;br /&gt;
also den internen Aufbau z.B. des Punktes, ändern muss. Vielleicht verwendet man statt der&lt;br /&gt;
kartesischen Koordinaten nun Polarkoordinaten, oder man muss die Farben in einem anderen&lt;br /&gt;
Farbraum speichern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Damit jemand, der diese Klassen benutzt, sich nicht darum kuemmern braucht, wie die Daten intern gespeichert werden,&lt;br /&gt;
benutzt man zum Zugriff auf die Daten sogenannte &#039;&#039;getter&#039;&#039;- und &#039;&#039;setter&#039;&#039;-Methoden:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Eine bessere Punktklasse - getter und setter ===&lt;br /&gt;
&lt;br /&gt;
Man kann die Punktklasse nun wie folgt erweitern:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
class Punkt{&lt;br /&gt;
   private int x;&lt;br /&gt;
   private int y;&lt;br /&gt;
&lt;br /&gt;
   public int getX(){&lt;br /&gt;
    return this.x;&lt;br /&gt;
   }&lt;br /&gt;
   public int getY(){&lt;br /&gt;
    return this.y;&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   public void setX(int arg){&lt;br /&gt;
    this.x = arg;&lt;br /&gt;
   }&lt;br /&gt;
   public void setY(int arg){&lt;br /&gt;
    this.y = arg;&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Huch - was soll denn dieses ganze &#039;&#039;&#039;private&#039;&#039;&#039; und &#039;&#039;&#039;public&#039;&#039;&#039; ploetzlich?!&lt;br /&gt;
&lt;br /&gt;
Eigentlich ist das relativ einfach. Die Daten haben wir &#039;&#039;private&#039;&#039; deklariert, dass heisst, wir dürfen nur&lt;br /&gt;
noch innerhalb unserer Klasse darauf zugreifen. Damit wird verhindert, dass jemand von aussen versucht &lt;br /&gt;
direkt auf die x-Koordinate zuzugreifen, die ja vielleicht irgendwann gar nicht mehr direkt vorhanden ist,&lt;br /&gt;
wenn wir Polarkoordinaten verwenden:&lt;br /&gt;
&lt;br /&gt;
=== Punkt mit Polarkoordinaten ===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
class Punkt{&lt;br /&gt;
   private double length;&lt;br /&gt;
   private double angle;&lt;br /&gt;
&lt;br /&gt;
   public int getX(){&lt;br /&gt;
    return ...&lt;br /&gt;
   }&lt;br /&gt;
   public int getY(){&lt;br /&gt;
    return ...&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   public void setX(int arg){&lt;br /&gt;
    this.length = ... &lt;br /&gt;
   }&lt;br /&gt;
   public void setY(int arg){&lt;br /&gt;
    this.angle = ...&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der Vorteil: Alle anderen Programmteile und Klassen koennen wie bisher mit Hilfe der Getter und Setter &lt;br /&gt;
an die X und Y-Koordinaten kommen, obwohl intern nur Polarkoordinaten vorliegen. Dieses Beispiel &lt;br /&gt;
ist nicht vollständig, die Mathematik wurde absichtlich weggelassen um Verwirrung zu verhindern ;)&lt;br /&gt;
[Ausserdem braucht man fuer die Überführung in Polarkoordinaten immer x und y Werte, hat den Sonderfall,&lt;br /&gt;
dass x nicht 0 sein darf, etc...]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Konstruktor ==&lt;br /&gt;
&lt;br /&gt;
Ein Konstruktor ist eine besondere Methode, die beim erzeugen eines neuen Objektes (aus einer Klasse) aufgerufen&lt;br /&gt;
wird. Damit kann man Variables initialisieren/mit Werten vorbelegen, etc.&lt;br /&gt;
&lt;br /&gt;
Für unsere Punktklasse sieht ein Konstruktor zum Beispiel so aus:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
public Punkt(int x, int y){&lt;br /&gt;
    this.x = x;&lt;br /&gt;
    this.y = y;&lt;br /&gt;
}   &lt;br /&gt;
...&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das Schluesselwort this bringt damit zum Ausdruck, dass wir nicht auf die Parameter des&lt;br /&gt;
Konstruktors zugreifen wollen, sondern auf die Attribute dieser (this) Klasse.&lt;br /&gt;
&lt;br /&gt;
Im Zusammenhang sieht das dann wie folgt aus:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
class Punkt{&lt;br /&gt;
   private int x;&lt;br /&gt;
   private int y;&lt;br /&gt;
&lt;br /&gt;
   // Konstruktor:&lt;br /&gt;
   public Punkt(int x, int y){&lt;br /&gt;
    this.x = x;&lt;br /&gt;
    this.y = y;&lt;br /&gt;
   }   &lt;br /&gt;
&lt;br /&gt;
   public int getX(){&lt;br /&gt;
    return this.x;&lt;br /&gt;
   }&lt;br /&gt;
   public int getY(){&lt;br /&gt;
    return this.y;&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   public void setX(int arg){&lt;br /&gt;
    this.x = arg;&lt;br /&gt;
   }&lt;br /&gt;
   public void setY(int arg){&lt;br /&gt;
    this.y = arg;&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Anwendung ist ebenfalls relativ einfach:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
   ...&lt;br /&gt;
   Punkt p = new Punkt(5,5);&lt;br /&gt;
   Punkt ursprung = new Punkt(0,0);&lt;br /&gt;
   ...&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Komplexere Klasse ==&lt;br /&gt;
&lt;br /&gt;
Java ist ja eine Objektorientierte Sprache, bzw. unterstützt Objektorientiertes Programmieren.&lt;br /&gt;
Wodurch zeichnet sich das aus? &lt;br /&gt;
&lt;br /&gt;
Ein Effekt ist, dass eine Klasse alles mitbringt, um mit ihr zu arbeiten, man als Anwender aber nichts über die &lt;br /&gt;
Innereien der Klasse wissen muss. &lt;br /&gt;
&lt;br /&gt;
Im folgenden soll eine Klasse vorgestellt werden, die ein Postpaket darstellt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
class Postpaket{&lt;br /&gt;
&lt;br /&gt;
  private int breite;  // in cm&lt;br /&gt;
  private int hoehe;   // in cm&lt;br /&gt;
  private int tiefe;   // in cm&lt;br /&gt;
&lt;br /&gt;
  private int gewicht; // in Gramm&lt;br /&gt;
&lt;br /&gt;
  // Kontruktor, um beim erzeugen eines Paketes&lt;br /&gt;
  // direkt alle Werte vorzubelegen&lt;br /&gt;
  public Postpaket(int breite, int hoehe, int tiefe){&lt;br /&gt;
      this.breite = breite;&lt;br /&gt;
      this.hoehe  = hoehe;&lt;br /&gt;
      this.tiefe  = tiefe;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  public int getWeight(){&lt;br /&gt;
      return this.gewicht;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  public void setWeight(int weight){&lt;br /&gt;
      this.gewicht = weight;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // groesse in Kubikzentimeter&lt;br /&gt;
  public int getVolume(){&lt;br /&gt;
      return this.breite * this.hoehe * this.tiefe;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  // spezifisches Gewicht in Gramm Pro Kubikzentimeter&lt;br /&gt;
  public double getSpecSize ()&lt;br /&gt;
  {&lt;br /&gt;
    // wir muessen hier vol als double sichern, da sonst&lt;br /&gt;
    // von Java automatisch eine Integer-Division&lt;br /&gt;
    // durchgeführt wird, so dass die Nachkommastellen abgeschnitten werden!&lt;br /&gt;
    double vol = ( this.breite * this.hoehe * this.tiefe);&lt;br /&gt;
    return (this.gewicht / vol );&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wie verwendet man diese Klasse nun?&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
class Programm{&lt;br /&gt;
&lt;br /&gt;
    public static void main(String[] args){&lt;br /&gt;
&lt;br /&gt;
        Postpaket paket = new Postpaket(340,123,240);&lt;br /&gt;
        &lt;br /&gt;
        paket.setWeight(1420);&lt;br /&gt;
&lt;br /&gt;
        // wir haben jetzt ein Paket mit Gewicht...&lt;br /&gt;
&lt;br /&gt;
        System.out.println(&amp;quot;Das spezifische Gewicht des Pakets: &amp;quot; + paket.getSpecSize());&lt;br /&gt;
        System.out.println(&amp;quot;Das Volumen des Pakets            : &amp;quot; + paket.getVolume());&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= FAQ &amp;amp; Werkzeugkasten =&lt;br /&gt;
&lt;br /&gt;
== Wie kann man den Benutzer nach einer Eingabe fragen? ==&lt;br /&gt;
Die ist ganz einfach mit der [[Javakurs2007/Terminal|Terminal-Klasse]] möglich. Möchte man zum Beispiel einen Integerwert einlesen, so schreibt man:&lt;br /&gt;
&lt;br /&gt;
 int userInput = Terminal.readInt();&lt;br /&gt;
&lt;br /&gt;
Wenn man dem Benutzer noch eine Aufforderung geben möchte, was er genau eingeben soll, so ist dies mit askInt() möglich:&lt;br /&gt;
&lt;br /&gt;
 int age = Terminal.askInt(&amp;quot;Please enter your name:&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
Natürlich lassen sich auch andere Typen als Integer einlesen, für double und String würde der Code so aussehen:&lt;br /&gt;
&lt;br /&gt;
 double money = Terminal.readDouble();&lt;br /&gt;
 String name = Terminal.readString();&lt;br /&gt;
&lt;br /&gt;
Um die Terminal-Klasse nutzen zu können, muss diese in den gleichen Ordner kopiert werden, in dem sich auch euer Javacode befindet.&lt;br /&gt;
&lt;br /&gt;
Download der Klasse Terminal [http://docs.freitagsrunde.org/Veranstaltungen/javakurs_2007/vorgaben/Terminal.java].&lt;br /&gt;
&lt;br /&gt;
== Wie kann ich eine Datei einlesen? ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das Einlesen von Dateien gestaltet sich in Java etwas komplizierter. Wir haben euch aus diesem Grunde hier, ähnlich wie bei der Terminaleingabe, eine Bibliotheksklasse gebaut, die euch ein wenig Arbeit abnimmt.&lt;br /&gt;
&lt;br /&gt;
[http://docs.freitagsrunde.org/Veranstaltungen/javakurs_2007/vorgaben/EasyFileAccess.java http://docs.freitagsrunde.org/Veranstaltungen/javakurs_2007/vorgaben/EasyFileAccess.java]&lt;br /&gt;
&lt;br /&gt;
Mit Hilfe der Funktion getFileContent(String filename) könnt ihr so den Inhalt einer kompletten Datei in ein String-Array lesen, wobei ein Feld im Array jeweils eine Zeile im Text darstellt:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   String[] textContent = EasyFileAccess.getFileContent(&amp;quot;Dateipfad&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Häufige Fehlermeldungen ==&lt;br /&gt;
Wir haben eine [[Javakurs2007/Errors|kleine Übersicht]] an Fehlern zusammengestellt, die häufig auftreten und mögliche Lösungsmöglichkeiten dafür beschrieben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Wozu ist der Stringarray args in der Mainmethode gut? ==&lt;br /&gt;
&lt;br /&gt;
In args werden alle Parameter gespeichert, die euer Javaprogramm beim Aufruf aus der Konsole uebergeben bekommt. D.h. wenn ihr&lt;br /&gt;
 java ExampleProgram -h test&lt;br /&gt;
aufruft, dann wird in args[0] &amp;quot;-h&amp;quot; und in args[1] &amp;quot;test&amp;quot; gespeichert. Ihr koennt Parameter dann so auslesen (mit Integer.parseInt() kann man Strings in Integer umwandeln):&lt;br /&gt;
 public class Parameter {&lt;br /&gt;
    public static void main(String[] args) {&lt;br /&gt;
       if (args.length &amp;gt;= 1) {&lt;br /&gt;
           // wandel den String args[0] in eine Zahl um&lt;br /&gt;
           int parameter = Integer.parseInt(args[0]);&lt;br /&gt;
           System.out.println(&amp;quot;the first parameter is: &amp;quot;+parameter);&lt;br /&gt;
       } else {&lt;br /&gt;
           System.out.println(&amp;quot;usage: java Parameter NUMBER&amp;quot;);&lt;br /&gt;
       }&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Wie kann ich mit Java eine Grafik zeichnen? ==&lt;br /&gt;
Genau fuer diesen Zweck gibt es die Klasse [http://uebb.cs.tu-berlin.de/books/java/klassen/Pad.java Pad.java], die wie die Terminalklasse von Pepper bereitgestellt wird. Zusaetzlich benoetigt ihr allerdings noch die [http://uebb.cs.tu-berlin.de/books/java/klassen/Point.java Point.java].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lege die Dateien in dem Verzeichnis ab, in dem auch dein Programm entstehen soll.&lt;br /&gt;
Wenn du dies getan hast, steht dir die Grafikfunktionalität zur Verfuegung.&lt;br /&gt;
 //Mit&lt;br /&gt;
 Pad drawPad = new Pad();&lt;br /&gt;
 //wird ein neues Fenster erzeugt.&lt;br /&gt;
 &lt;br /&gt;
 drawPad.setPadSize(int width, int height);&lt;br /&gt;
 //setzt die Größe des Fensters.&lt;br /&gt;
 &lt;br /&gt;
 drawPad.setVisible(true);&lt;br /&gt;
 //zeigt das Fenster an.&lt;br /&gt;
 &lt;br /&gt;
 drawPad.drawDot(int x, int y);&lt;br /&gt;
 //zeichnet einen Punkt an der Stelle (x,y).&lt;br /&gt;
&lt;br /&gt;
Du musst noch nicht verstehen, was dies sprachlich genau bedeutet. In [[Javakurs2008/Vortrag05|Vorträgen 5]] und [[Javakurs2008/Vortrag06|6]] sollte dann klar werden was, drawPad genau ist.&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Javakurs2008&amp;diff=10624</id>
		<title>Javakurs2008</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Javakurs2008&amp;diff=10624"/>
		<updated>2008-04-08T17:13:08Z</updated>

		<summary type="html">&lt;p&gt;Dank: /* Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1&amp;gt;Vorlesung am 3. Tag: MA 004&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&#039;&#039;&#039;[[Javakurs2008/Übungspool | --&amp;gt; Zu den Übungsaufgaben &amp;lt;-- ]]&#039;&#039;&#039;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Links ====&lt;br /&gt;
* In der [[Javakurs2006/Java_Kurzreferenz|Kurzreferenz]] findet ihr eine Übersicht aller Sprachkonstrukte von Java, sowie Hilfe zu einigen typischen Fehlermeldungen und häufig gestellten Fragen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;2&amp;quot;&lt;br /&gt;
 |- bgcolor=&amp;quot;#D8D8D8&amp;quot;&lt;br /&gt;
 !Zeit&lt;br /&gt;
 !Mo&lt;br /&gt;
 !Di&lt;br /&gt;
 !Mi&lt;br /&gt;
 !Do&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 |9:00-10:00 [[C.t.]]&lt;br /&gt;
 |bgcolor=&amp;quot;#E8E8E8&amp;quot; |[[Javakurs2008/Vortrag01 | Vortrag]] (H 1058)&lt;br /&gt;
 |bgcolor=&amp;quot;#E8E8E8&amp;quot; |[[Javakurs2008/Vortrag03 | Vortrag]] (H 1058)&lt;br /&gt;
 |bgcolor=&amp;quot;#E8E8E8&amp;quot; |[[Javakurs2008/Vortrag04 | Vortrag]] (MA 004)&lt;br /&gt;
 |bgcolor=&amp;quot;#E8E8E8&amp;quot; |[[Javakurs2008/Vortrag06 | Vortrag]] (MA 004)&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 |10:00-11:00&lt;br /&gt;
 |rowspan=2 |Übung&lt;br /&gt;
 |rowspan=2 |Übung&lt;br /&gt;
 |rowspan=2 |Übung&lt;br /&gt;
 |rowspan=2 |Übung&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 |11.00-12:00&lt;br /&gt;
 |- bgcolor=&amp;quot;#FFFFFF&amp;quot;&lt;br /&gt;
 |12:00-13:00&lt;br /&gt;
 |Mittagspause&lt;br /&gt;
 |Mittagspause&lt;br /&gt;
 |Mittagspause&lt;br /&gt;
 |Mittagspause&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 |13:00-14:00 [[C.t.]]&lt;br /&gt;
 |[[Javakurs2008/Vortrag02 | Vortrag]] (H 1058)&lt;br /&gt;
 | bgcolor=&amp;quot;#F5F5F5&amp;quot; rowspan=3 |Übung&lt;br /&gt;
 |[[Javakurs2008/Vortrag05 | Vortrag]] (MA 004)&lt;br /&gt;
 | bgcolor=&amp;quot;#F5F5F5&amp;quot; rowspan=3 |Übung&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 |14:00-15:00&lt;br /&gt;
 |rowspan=2 | Übung&lt;br /&gt;
 |rowspan=2 | Übung&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 |15:00-16:00&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Herzlich Willkommen beim Java-Kurs der Freitagsrunde!====&lt;br /&gt;
&lt;br /&gt;
Dieses Jahr veranstalten wir wieder einen Einführungskurs in die imperative Programmierung mit Java.&lt;br /&gt;
Hauptzielgruppe des Kurses sind Studierende der Informatik, welche gerade im Begriff sind das zweite Semester zu beginnen. Es wird von uns allerdings kein Wissen in Java-Programmierung vorausgesetzt und Studierende anderer Studiengänge sind ebenfalls herzlich willkommen.&lt;br /&gt;
&lt;br /&gt;
Der Kurs beruht ursprünglich auf der Initiative einiger StudentInnen und wissenschaftlicher Mitarbeiter. Er ist aus der Erfahrung entstanden, dass viele Informatiker in den Übungsaufgaben des 2. Semesters nicht unbedingt Probleme mit dem Stoff des Semesters selbst haben, sich jedoch sehr beim Erlernen der Javaprogrammierung quälen. &lt;br /&gt;
&lt;br /&gt;
Was ursprünglich als rein ehrenamtliches Projekt begonnen hat wird mittlerweile vom OWL-Programm der TU-Berlin gefördert. Der Kurs wird wie im letzten Jahr komplett von engagierten StudentInnen geplant und durchgeführt. Insgesamt stehen euch in den Übungen zwanzig TutorInnen mit Rat und Tat zur Seite, im Schnitt also einer für fünf Studentierende. Aus den Reihen der TutorInnen rekrutieren sich auch unsere zwölf Vortragenden in den Vorlesungen. Wenige von uns haben schon einmal eine Vorlesung gehalten, um so mehr Vorbereitung und Mühe steckt jedoch in jeder Einzelnen ;)&lt;br /&gt;
&lt;br /&gt;
Der Kurs kann in der Kürze der Zeit bei weitem nicht alle Aspekte von Java beleuchten, hierfür sind die Lehrveranstaltungen da. Er stellt jedoch eine gute Starthilfe dar und hilft vor allem StudentInnen denen der Umgang mit Programmiersprachen noch ein wenig fremd ist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Es gibt für diesen Kurs keinerlei Scheine.&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
Es gibt auch keinerlei Anwesenheitspflicht. Dementsprechend entspannt ist allerdings auch die Atmosphäre.&lt;br /&gt;
&lt;br /&gt;
== Termine ==&lt;br /&gt;
&lt;br /&gt;
07. April bis 10. April 2008, jeweils von ca. 9 bis 16 Uhr. Weitere Daten folgen im Laufe der Zeit, sobald die Planungen unsererseits stehen ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Übungen ==&lt;br /&gt;
Die betreuten Übungen werden im [[Franklingebäude]] (FR) stattfinden, und zwar in den Rechnerräumen FR5539, FR5538, FR5535, FR5514, FR2516 und FR2517. Es soll für jeden Teilnehmer ein eigener Computerarbeitsplatz vorhanden sein.&lt;br /&gt;
&lt;br /&gt;
Wir werden jedem Teilnehmer zu Beginn des Kurses einen Arbeitsraum zuteilen. Wenn dadurch Arbeitsgruppen getrennt werden oder euch die Nase des jeweiligen Tutors nicht gefällt, könnt ihr, sofern genügend Arbeitsplätze vorhanden sind, die Räume wechseln. &lt;br /&gt;
Die anfängliche Raumeinteilung werden wir euch per Mail zusenden. Sie wird nach den Vorlesungen jedoch auch noch einmal in Papierform ausliegen.&lt;br /&gt;
&lt;br /&gt;
Um im Rechnernetz arbeiten zu können, benötigt ihr einen [[IRB|CS-Account]] den ihr euch als Student der TU-Berlin im [http://www.irb.cs.tu-berlin.de/leitfaden/antrag-rechnernutzung.html IRB] einrichten lassen könnt. Informatiker haben das zu Beginn ihres Studiums sowieso schon getan.&lt;br /&gt;
Solltet ihr keinen CS-Account haben, so meldet euch im Raum 5535. Notfalls kann natürlich auch mit einem mitgebrachten Notebook gearbeitet werden. Es sollte jedoch bereits [http://java.sun.com/javase/downloads/index.jsp Java JDK 1.5 oder höher] installiert sein.&lt;br /&gt;
&lt;br /&gt;
=== Übungsablauf ===&lt;br /&gt;
&lt;br /&gt;
Wir sind große Verfechter des selbstorganisierten Lernens. Jeder Teilnehmer hat einen anderen Kenntnisstand und eine andere Lerngeschwindigkeit. Aus diesem Grund gibt es keinen von uns vorgegebenen Übungsplan, sondern lediglich einen Pool von Übungsaufgaben, aus denen ihr selbst wählen könnt, was ihr für euch am Sinnvollsten haltet.&lt;br /&gt;
&#039;&#039;&#039;Versucht nicht, alle Aufgaben zu lösen! Wir haben absichtlich mehr produziert, als ihr schaffen könnt.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Um euch die Wahl zu erleichtern, haben wir die Aufgaben mit Vermerken zu ihrer Schwierigkeit versehen. &lt;br /&gt;
Wenn ihr euch unsicher seid, was ihr als nächstes machen sollt, fragt einfach euren Tutor um Rat.&lt;br /&gt;
&lt;br /&gt;
Wenn ihr irgendwann bei den späteren Vorträgen aussteigen solltet, ist das kein Grund zur Sorge. Übt einfach in der Geschwindigkeit weiter, die für euch angenehm ist. Wenn ihr den Stoff der ersten drei Vorträge anwenden könnt, habt ihr eigentlich schon gewonnen. Viel Spaß!&lt;br /&gt;
&lt;br /&gt;
=== Externe Studierende ===&lt;br /&gt;
Aufgrund dieser Organisiation der Übungen ist es nötig, das ihr eine Möglichkeit habt, Java Code zu schreiben. Dies kann entweder über den eigenen IRB-Account, oder aber mittels eines eigenen Laptops gehen. Falls ihr aus einer anderen Universität kommt und keinen Laptop habt, so gibt es die Möglichkeit euch temporäre Accounts für den Javakurs zu erstellen. Siehe dazu [[Javakurs2008/Externe|externe Studierende]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Anmeldung ==&lt;br /&gt;
&lt;br /&gt;
Zur Anmeldung kommt wieder unser bewährtes Double-Opt-In-Freitagsrunden-Anmelde-Script  (DOIFAS) zum Einsatz:&lt;br /&gt;
&lt;br /&gt;
* per http: [http://www.freitagsrunde.org/~florian/javakurs2008/anmeldung http://www.freitagsrunde.org/~florian/javakurs2008/anmeldung]&lt;br /&gt;
* per https: [https://www.freitagsrunde.org/~florian/javakurs2008/anmeldung https://www.freitagsrunde.org/~florian/javakurs2008/anmeldung]&lt;br /&gt;
&lt;br /&gt;
Die Anmeldung muss bis spätestens 4.4.08 erfolgt sein.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [http://java.sun.com/j2se/1.5.0/docs/api/ Java API 1.5] (wird in LE3 erklärt)&lt;br /&gt;
* [http://javadocs.org/ Seite zum Suchen in der API]&lt;br /&gt;
* [[Javakurs2006/Java_Kurzreferenz | Java Kurzreferenz]] (zum Lesen in den Pausen)&lt;br /&gt;
* [http://wiki.freitagsrunde.org/Javakurs2007/Errors Hilfe bei Fehlermeldungen]&lt;br /&gt;
&lt;br /&gt;
== Java-Download ==&lt;br /&gt;
* http://java.sun.com/javase/downloads/index.jsp (JDK = Development Kit)&lt;br /&gt;
&lt;br /&gt;
Ihr braucht das JDK (Java Development Kit), z.B. &amp;quot;JDK 6 Update 5&amp;quot; - die vorgängerversion, also &#039;Java5&#039; bzw. 1.5 reicht aber auch völlig aus.&lt;br /&gt;
&lt;br /&gt;
HINWEIS: Es wurde beobachtet, dass der Installer von Sun beim JDK 6 Update 5 unter Vista das Development-kit, also die javac.exe NICHT installiert, wenn man den Installationspfad aendert!&lt;br /&gt;
&lt;br /&gt;
== Freie Literatur ==&lt;br /&gt;
* [http://www.codeguru.com/java/tij/tij_c.shtml Thinking in Java]&lt;br /&gt;
* [http://www.galileocomputing.de/openbook/javainsel5/ Java ist auch eine Insel]&lt;br /&gt;
&lt;br /&gt;
== Orga ==&lt;br /&gt;
* [[Javakurs2008/Tutorenportal Javakurs 2008]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie: Veranstaltungen der Freitagsrunde]]&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Javakurs2006/Java_Kurzreferenz&amp;diff=7252</id>
		<title>Javakurs2006/Java Kurzreferenz</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Javakurs2006/Java_Kurzreferenz&amp;diff=7252"/>
		<updated>2008-04-08T17:10:24Z</updated>

		<summary type="html">&lt;p&gt;Dank: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier befindet sich eine kleine &#039;&#039;&#039;Referenz für Java&#039;&#039;&#039; speziell für den Javakurs der Freitagsrunde.&lt;br /&gt;
&lt;br /&gt;
== Kommentare ==&lt;br /&gt;
Ein &#039;&#039;&#039;Kommentar&#039;&#039;&#039; ist ein Abschnitt des Java-Codes, der vom Java-Compiler ignoriert wird.  Man kann in ein Kommentar also schreiben was man will.  Kommentare sind nützlich, um den Quellcode zu dokumentieren.  &lt;br /&gt;
&lt;br /&gt;
In Java gibt es zwei Arten von Kommentaren: &lt;br /&gt;
&lt;br /&gt;
===Kommentare über eine Zeile===&lt;br /&gt;
&lt;br /&gt;
 // Diese ganze Zeile wird vom Compiler ignoriert.&lt;br /&gt;
 int x= 5;  // Dieser  Kommentar beginnt mit »//«.  Alles davor wird vom Compiler nicht ignoriert.&lt;br /&gt;
&lt;br /&gt;
===Kommentare über mehrere Zeilen===&lt;br /&gt;
&lt;br /&gt;
 /* Dieser &lt;br /&gt;
    Kommentar&lt;br /&gt;
    erstreckt &lt;br /&gt;
    sich &lt;br /&gt;
    über&lt;br /&gt;
    mehrere&lt;br /&gt;
    Zeilen.&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
Zum Vergleich: in Opal werden Kommentare mit -- eingeführt.&lt;br /&gt;
&lt;br /&gt;
=== Javadoc-Kommentare ===&lt;br /&gt;
Um Programme zu dokumentieren gibt es in Java ein Tool: Javadoc. Damit lassen sich HTML-Seiten generieren, die informationen über eure Methoden und Klassen beinhalten.&lt;br /&gt;
&lt;br /&gt;
 /**&lt;br /&gt;
  Dies ist ein Javadoc-Kommentar &lt;br /&gt;
  und erscheint später in eurer Dokumentation.&lt;br /&gt;
  Was es für Optionen gibt, fragt eure Tutoren ;)&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
== Datentypen (Variablen) ==&lt;br /&gt;
{| border=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; width=&amp;quot;80%&amp;quot; rules=&amp;quot;all&amp;quot; style=&amp;quot;margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse; background-color:#F9F9F9; font-size:95%; empty-cells:show;&amp;quot;&lt;br /&gt;
! style=&amp;quot;background-color:#ABCDEF;&amp;quot; | Typ &lt;br /&gt;
! style=&amp;quot;background-color:#ABCDEF;&amp;quot; | Speicherbedarf&lt;br /&gt;
! style=&amp;quot;background-color:#ABCDEF;&amp;quot; | Bereich&lt;br /&gt;
|- &lt;br /&gt;
|void&lt;br /&gt;
|0 Byte&lt;br /&gt;
|keiner&lt;br /&gt;
|- &lt;br /&gt;
|boolean&lt;br /&gt;
|1 Byte&lt;br /&gt;
|true, false&lt;br /&gt;
|-&lt;br /&gt;
|int&lt;br /&gt;
|4 Byte&lt;br /&gt;
| -2.147.483.648 bis 2.147.483.647&lt;br /&gt;
|- &lt;br /&gt;
|short&lt;br /&gt;
|2 Byte&lt;br /&gt;
| -32.768 bis 32.787&lt;br /&gt;
|- &lt;br /&gt;
|long&lt;br /&gt;
|8 Byte&lt;br /&gt;
| -9.223.372.036.854.775.808L bis 9.223.372.036.854.775.807L&lt;br /&gt;
|- &lt;br /&gt;
|byte&lt;br /&gt;
|1 Byte&lt;br /&gt;
| -128 bis 127&lt;br /&gt;
|- &lt;br /&gt;
|float&lt;br /&gt;
|4 Byte&lt;br /&gt;
| +/-3,40282347E+38F&lt;br /&gt;
|- &lt;br /&gt;
|double&lt;br /&gt;
|8 Byte&lt;br /&gt;
| +/-1,79769313486231570E+308&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Boolsche Operatoren ==&lt;br /&gt;
{| border=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; width=&amp;quot;80%&amp;quot; rules=&amp;quot;all&amp;quot; style=&amp;quot;margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse; background-color:#F9F9F9; font-size:95%; empty-cells:show;&amp;quot;&lt;br /&gt;
! style=&amp;quot;background-color:#ABCDEF;&amp;quot; | Operator&lt;br /&gt;
! style=&amp;quot;background-color:#ABCDEF;&amp;quot; | Beispiel&lt;br /&gt;
! style=&amp;quot;background-color:#ABCDEF;&amp;quot; | Ergebnis des Beispiels&lt;br /&gt;
|- &lt;br /&gt;
| ==  &lt;br /&gt;
&#039;&#039;(gleich)&#039;&#039;&lt;br /&gt;
| 4 == 9&lt;br /&gt;
| false&lt;br /&gt;
|-&lt;br /&gt;
| !=  &lt;br /&gt;
&#039;&#039;(ungleich)&#039;&#039;&lt;br /&gt;
| 4 != 8&lt;br /&gt;
| true&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;&amp;amp;  &lt;br /&gt;
&#039;&#039;(logisches UND)&#039;&#039;&lt;br /&gt;
| false &amp;amp;&amp;amp; true&lt;br /&gt;
| false, es wird erst der linke Ausdruck ausgewertet. Wenn die Auswertung false ergibt, wird der rechte Ausdruck nicht mehr geprüft, da das Ergebnis nicht mehr true werden kann.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;||&amp;lt;/nowiki&amp;gt;  &lt;br /&gt;
&#039;&#039;(logisches ODER)&#039;&#039;&lt;br /&gt;
| true &amp;lt;nowiki&amp;gt;||&amp;lt;/nowiki&amp;gt; false&lt;br /&gt;
| true,  es wird erst der linke Ausdruck ausgewertet. Wenn die Auswertung true ergibt, wird der rechte Ausdruck nicht mehr geprüft, da das Ergebnis nicht mehr false werden kann.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;, &amp;lt;=, &amp;gt;, &amp;gt;=, &amp;lt;&amp;gt;&lt;br /&gt;
| 1 &amp;lt; 3  &#039;&#039;(hier exempalrisch nur eins)&#039;&#039;&lt;br /&gt;
| true&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Bitoperatoren ==&lt;br /&gt;
{| border=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; width=&amp;quot;80%&amp;quot; rules=&amp;quot;all&amp;quot; style=&amp;quot;margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse; background-color:#F9F9F9; font-size:95%; empty-cells:show;&amp;quot;&lt;br /&gt;
! style=&amp;quot;background-color:#ABCDEF;&amp;quot; | Operator&lt;br /&gt;
! style=&amp;quot;background-color:#ABCDEF;&amp;quot; | Beschreibung&lt;br /&gt;
! style=&amp;quot;background-color:#ABCDEF;&amp;quot; | Erklärung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;&lt;br /&gt;
| AND&lt;br /&gt;
| Wie das logische UND, jedoch werden auf jeden Fall beide Seiten ausgewertet.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| OR&lt;br /&gt;
| Wie das logische ODER, jedoch werden auf jeden Fall beide Seiten ausgewertet.&lt;br /&gt;
|-&lt;br /&gt;
| ^&lt;br /&gt;
| XOR&lt;br /&gt;
| Exklusives ODER&lt;br /&gt;
|-&lt;br /&gt;
| ~&lt;br /&gt;
| NOT&lt;br /&gt;
| Negation des Wertes.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Konstanten ==&lt;br /&gt;
* In Java werden Konstanten mit dem Schlüsselwort &#039;&#039;&#039;final&#039;&#039;&#039; bezeichnet. In Java gibt es die Konvention Konstanten komplett groß zu schreiben:&lt;br /&gt;
&lt;br /&gt;
 final double PI = 3.14;&lt;br /&gt;
&lt;br /&gt;
== Zuweisungen und Initialisierungen ==&lt;br /&gt;
Wenn man eine Variable erstellt und sie mit Werten füllen will, wird man auf folgende Syntax stoßen:&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;Datentyp&#039;&#039; Variablenname = &#039;&#039;Initialisierungswert&#039;&#039;;&lt;br /&gt;
&lt;br /&gt;
Es gibt zwei Möglichkeiten diese Aktion durchzuführen:&lt;br /&gt;
* lange Variante:&lt;br /&gt;
 int zahl;&lt;br /&gt;
 zahl = 23;&lt;br /&gt;
&lt;br /&gt;
* kurze Variante:&lt;br /&gt;
 int zahl = 23;&lt;br /&gt;
&lt;br /&gt;
= if-Anweisung =&lt;br /&gt;
* Die einfachste Variante:&lt;br /&gt;
&lt;br /&gt;
 if (condition) {&lt;br /&gt;
    &#039;&#039;Anweisungen;&#039;&#039;	&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
* Zusätzlich hat diese Variante einen alternativen Anweisungsblock. Wenn &#039;&#039;condition&#039;&#039; nicht erfüllt gehe in den &#039;&#039;else&#039;&#039;-Zweig und führe dort die Anweisungen aus.&lt;br /&gt;
&lt;br /&gt;
 if (condition) {&lt;br /&gt;
    &#039;&#039;Anweisungen;&#039;&#039;	&lt;br /&gt;
 } else {&lt;br /&gt;
    &#039;&#039;Anweisungen;&#039;&#039;&lt;br /&gt;
 }&lt;br /&gt;
	&lt;br /&gt;
* Natürlich lassen sich beide Varianten schachteln. Man kann also auf zwei Bedingungen prüfen und bei nicht Eintreffen in den &#039;&#039;else&#039;&#039;-Zweig gehen.&lt;br /&gt;
		&lt;br /&gt;
 if (condition) {&lt;br /&gt;
    &#039;&#039;Anweisungen;&#039;&#039;	&lt;br /&gt;
 } else if (condition) {&lt;br /&gt;
    &#039;&#039;Anweisungen;&#039;&#039;			&lt;br /&gt;
 } else {&lt;br /&gt;
    &#039;&#039;Anweisungen;&#039;&#039;		&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
= Schleifen =&lt;br /&gt;
== for-Schleife ==&lt;br /&gt;
* Um über Array&#039;s zu wandern bietet sich die for-Schleife an. Als erstes in der Klammer muß eine Laufvariable deklariert und mit einem Wert initialisiert werden (hier int i= 0). Danach muß eine Bedingung erfüllen, um festzulegen bis wann die Schleife ausgeführt wird (i &amp;lt; 10). Als letztes muß die Laufvariable verändert werden, so daß irgendwann der Abbruch eintritt (i++).&lt;br /&gt;
&lt;br /&gt;
 for (int i = 0; i &amp;lt; 10; i++) {&lt;br /&gt;
 &lt;br /&gt;
    &#039;&#039;Anweisungen;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== while-Schleife ==&lt;br /&gt;
* Die while-Schleife wird meistens dafür benutzt, Anweisungen auszuführen bis irgendetwas eintrifft (z.B. EOF -End Of File). Für Arrays sollte man die for-Schleife nehmen. Die while-Schleife lässt sich auch als for-Schleife schreiben.&lt;br /&gt;
&lt;br /&gt;
 while (condition) {&lt;br /&gt;
     &#039;&#039;Anweisungen;&#039;&#039;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
= switch-case =&lt;br /&gt;
* Wenn man verschiedene Werte abfangen möchte, wie zum Beispiel verschiedene Zahlen (bei einem Menü). Gehen wir mal davon aus, daß wir drei Menüeinträge haben: &lt;br /&gt;
# &#039;&#039;1&#039;&#039;&lt;br /&gt;
# &#039;&#039;2&#039;&#039;&lt;br /&gt;
# &#039;&#039;0&#039;&#039; &lt;br /&gt;
&#039;&#039;1&#039;&#039; gibt die Zahl &#039;&#039;&#039;1&#039;&#039;&#039;, &#039;&#039;2&#039;&#039; gibt die Zahl &#039;&#039;&#039;2&#039;&#039;&#039; aus und &#039;&#039;0&#039;&#039; beendet das Programm, dann ist key zum Beispiel ein &#039;&#039;&#039;int&#039;&#039;&#039; und &#039;&#039;&#039;value&#039;&#039;&#039; würde den einzelnen Menüpunkten entsprechen. Das &#039;&#039;break&#039;&#039; bewirkt ein rausspringen aus dem switch-Konstrukt. Würde man das &#039;&#039;break&#039;&#039; weglassen, würden sämtliche Anweisungen die direkt darunter folgen, ausgeführt werden.&lt;br /&gt;
&lt;br /&gt;
 switch (key) {&lt;br /&gt;
    case value: {&lt;br /&gt;
       &#039;&#039;Anweisungen;&#039;&#039;&lt;br /&gt;
       break;&lt;br /&gt;
    }&lt;br /&gt;
    default: {&lt;br /&gt;
       &#039;&#039;Anweisungen;&#039;&#039;&lt;br /&gt;
       break;&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Leider ist switch/case in Java nicht wirklich konsequent umgesetzt, sodass sich wirklich nur Werte ganzahligen Typs (Byte, Short und Integer) mit dieser Art der Verzweigung abfragen/auswerten lassen.&lt;br /&gt;
&lt;br /&gt;
= Grundgerüst eines Javaprogramms=&lt;br /&gt;
&lt;br /&gt;
Da der Programmierer vom Kopieren lebt, schreibt er einmal eine Schablone und benutzt sie immer wieder, frei nach dem Motto: Man muß das Rad nicht zweimal erfinden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So sieht zum Beispiel ein simples Javaprogramm ohne Handlung aus:&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
 public class Klassenname {&lt;br /&gt;
 &lt;br /&gt;
 	/**&lt;br /&gt;
 	 * @param args&lt;br /&gt;
 	 */&lt;br /&gt;
 	public static void main(String[] args) {&lt;br /&gt;
 		// TODO Anweisungen&lt;br /&gt;
 &lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Erläuterungen:&#039;&#039;&#039;&lt;br /&gt;
@param ist für das Dokumentationssystem Javadoc, wird im Javakurs vielleicht angesprochen, sollte aber erstmal zweitrangig sein. Dennoch ist Dokumentation wichtiger als der eigentliche Code und deshalb hier erwähnt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Funktionen (Methoden) =&lt;br /&gt;
In Java programmiert man meistens Objektorientiert, es sei denn man belegt Info2. Funktionen heißen bei Java Methoden und Methoden sind Objekten zugeordnet, es sei denn man programmiert nicht Objektorientiert.&lt;br /&gt;
Eine Methode hat immer folgenden Aufbau:&lt;br /&gt;
&lt;br /&gt;
 Spezialoption &#039;&#039;Veröffentlichungsart&#039;&#039; &#039;&#039;&#039;Rückgabewert&#039;&#039;&#039; Funktionsname &#039;&#039;&#039;(&#039;&#039;&#039; Parametertyp &#039;&#039;Parametername&#039;&#039; &#039;&#039;&#039;)&#039;&#039;&#039; {&lt;br /&gt;
 &lt;br /&gt;
    Methodenrumpf_mit_Anweisungen;&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Spezialoption:&lt;br /&gt;
* static&lt;br /&gt;
* final&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Veröffentlichungsart&#039;&#039;:&lt;br /&gt;
* public&lt;br /&gt;
* protected&lt;br /&gt;
* private&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Spezialoption&amp;quot; und &amp;quot;Veröffentlichungsart&amp;quot; werden in Java unter dem Begriff &#039;&#039;Modifier&#039;&#039; zusammengefasst. Eine Auflistung der Modifier gibt es [http://www.javacamp.org/javaI/modifier.html hier].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rückgabewert&#039;&#039;&#039;:&lt;br /&gt;
* sämtliche oben aufgeführte Datentypen &lt;br /&gt;
* eigene Datentypen&lt;br /&gt;
&lt;br /&gt;
Funktionsname:&lt;br /&gt;
* einen für die Funktion bezeichnenden Namen aus Buchstaben, Zahlen und dem Underscore ( &#039;&#039;_&#039;&#039; )&lt;br /&gt;
* darf nicht mit eine Zahl beginnen&lt;br /&gt;
&lt;br /&gt;
Parametertyp:&lt;br /&gt;
* wie &#039;&#039;&#039;Rückgabewert&#039;&#039;&#039;, siehe oben&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Parametername&#039;&#039;:&lt;br /&gt;
* wie Funtionsname, siehe oben&lt;br /&gt;
&lt;br /&gt;
= Ausgabe =&lt;br /&gt;
* Um Fehler finden zu können oder Ausgaben auf der Konsole zu machen, gibt es in Java &#039;&#039;print&#039;&#039;-Funktionen:&lt;br /&gt;
&lt;br /&gt;
 System.out.print(&amp;quot;Irgend ein String.&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
Gibt &#039;&#039;Irgend ein String.&#039;&#039; auf der Konsole aus ohne einen Zeilenumbruch.&lt;br /&gt;
&lt;br /&gt;
 System.out.println(&amp;quot;Noch ein String.&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
Gibt &#039;&#039;Noch ein String.&#039;&#039; auf der Konsole aus allerdings diesmal mit einem Zeilenumbruch.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Klassen =&lt;br /&gt;
&lt;br /&gt;
== Einfache Datenklasse ==&lt;br /&gt;
&lt;br /&gt;
Manchmal braucht man neue Datentypen, zum Beispiel um eine Farbe oder einen Punkt zu speichern und &lt;br /&gt;
damit arbeiten zu können.&lt;br /&gt;
&lt;br /&gt;
Die kann dann wie folgt aussehen:&lt;br /&gt;
&lt;br /&gt;
=== Eine Punktklasse ===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
class Punkt{&lt;br /&gt;
 int x;&lt;br /&gt;
 int y;&lt;br /&gt;
}&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Eine Farbenklasse ===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
class Farbe{&lt;br /&gt;
 double rotanteil;&lt;br /&gt;
 double gruenanteil;&lt;br /&gt;
 double blauanteil;&lt;br /&gt;
}&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Diese beiden Klassen kann man so schon tatsächlich verwenden. Allerdings sind sie alles andere &lt;br /&gt;
als objektorientiert. Sie sind simple Datencontainer und wenn man sie verwenden will, muss man alles über ihren &lt;br /&gt;
internen Aufbau wissen, wie folgendes Programm zeigt:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
class PundF{&lt;br /&gt;
&lt;br /&gt;
    public static void main(String[] args){&lt;br /&gt;
    &lt;br /&gt;
        Farbe farbe1 = new Farbe();&lt;br /&gt;
&lt;br /&gt;
        farbe1.rotanteil = 0.5;&lt;br /&gt;
        farbe1.blauanteil = 0.5;&lt;br /&gt;
        farbe1.gruenanteil = 0.5;&lt;br /&gt;
&lt;br /&gt;
        Punkt p = new Punkt();&lt;br /&gt;
&lt;br /&gt;
        p.x=123;&lt;br /&gt;
        p.y=321;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das ist nicht sehr praktisch, weil man sich vorstellen kann, dass man die Implementierung,&lt;br /&gt;
also den internen Aufbau z.B. des Punktes, ändern muss. Vielleicht verwendet man statt der&lt;br /&gt;
kartesischen Koordinaten nun Polarkoordinaten, oder man muss die Farben in einem anderen&lt;br /&gt;
Farbraum speichern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Damit jemand, der diese Klassen benutzt, sich nicht darum kuemmern braucht, wie die Daten intern gespeichert werden,&lt;br /&gt;
benutzt man zum Zugriff auf die Daten sogenannte &#039;&#039;getter&#039;&#039;- und &#039;&#039;setter&#039;&#039;-Methoden:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Eine bessere Punktklasse - getter und setter ===&lt;br /&gt;
&lt;br /&gt;
Man kann die Punktklasse nun wie folgt erweitern:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
class Punkt{&lt;br /&gt;
   private int x;&lt;br /&gt;
   private int y;&lt;br /&gt;
&lt;br /&gt;
   public int getX(){&lt;br /&gt;
    return this.x;&lt;br /&gt;
   }&lt;br /&gt;
   public int getY(){&lt;br /&gt;
    return this.y;&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   public void setX(int arg){&lt;br /&gt;
    this.x = arg;&lt;br /&gt;
   }&lt;br /&gt;
   public void setY(int arg){&lt;br /&gt;
    this.y = arg;&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Huch - was soll denn dieses ganze &#039;&#039;&#039;private&#039;&#039;&#039; und &#039;&#039;&#039;public&#039;&#039;&#039; ploetzlich?!&lt;br /&gt;
&lt;br /&gt;
Eigentlich ist das relativ einfach. Die Daten haben wir &#039;&#039;private&#039;&#039; deklariert, dass heisst, wir dürfen nur&lt;br /&gt;
noch innerhalb unserer Klasse darauf zugreifen. Damit wird verhindert, dass jemand von aussen versucht &lt;br /&gt;
direkt auf die x-Koordinate zuzugreifen, die ja vielleicht irgendwann gar nicht mehr direkt vorhanden ist,&lt;br /&gt;
wenn wir Polarkoordinaten verwenden:&lt;br /&gt;
&lt;br /&gt;
=== Punkt mit Polarkoordinaten ===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
class Punkt{&lt;br /&gt;
   private double length;&lt;br /&gt;
   private double angle;&lt;br /&gt;
&lt;br /&gt;
   public int getX(){&lt;br /&gt;
    return ...&lt;br /&gt;
   }&lt;br /&gt;
   public int getY(){&lt;br /&gt;
    return ...&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   public void setX(int arg){&lt;br /&gt;
    this.length = ... &lt;br /&gt;
   }&lt;br /&gt;
   public void setY(int arg){&lt;br /&gt;
    this.angle = ...&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der Vorteil: Alle anderen Programmteile und Klassen koennen wie bisher mit Hilfe der Getter und Setter &lt;br /&gt;
an die X und Y-Koordinaten kommen, obwohl intern nur Polarkoordinaten vorliegen. Dieses Beispiel &lt;br /&gt;
ist nicht vollständig, die Mathematik wurde absichtlich weggelassen um Verwirrung zu verhindern ;)&lt;br /&gt;
[Ausserdem braucht man fuer die Überführung in Polarkoordinaten immer x und y Werte, hat den Sonderfall,&lt;br /&gt;
dass x nicht 0 sein darf, etc...]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Konstruktor ==&lt;br /&gt;
&lt;br /&gt;
Ein Konstruktor ist eine besondere Methode, die beim erzeugen eines neuen Objektes (aus einer Klasse) aufgerufen&lt;br /&gt;
wird. Damit kann man Variables initialisieren/mit Werten vorbelegen, etc.&lt;br /&gt;
&lt;br /&gt;
Für unsere Punktklasse sieht ein Konstruktor zum Beispiel so aus:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
public Punkt(int x, int y){&lt;br /&gt;
    this.x = x;&lt;br /&gt;
    this.y = y;&lt;br /&gt;
}   &lt;br /&gt;
...&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das Schluesselwort this bringt damit zum Ausdruck, dass wir nicht auf die Parameter des&lt;br /&gt;
Konstruktors zugreifen wollen, sondern auf die Attribute dieser (this) Klasse.&lt;br /&gt;
&lt;br /&gt;
Im Zusammenhang sieht das dann wie folgt aus:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
class Punkt{&lt;br /&gt;
   private int x;&lt;br /&gt;
   private int y;&lt;br /&gt;
&lt;br /&gt;
   // Konstruktor:&lt;br /&gt;
   public Punkt(int x, int y){&lt;br /&gt;
    this.x = x;&lt;br /&gt;
    this.y = y;&lt;br /&gt;
   }   &lt;br /&gt;
&lt;br /&gt;
   public int getX(){&lt;br /&gt;
    return this.x;&lt;br /&gt;
   }&lt;br /&gt;
   public int getY(){&lt;br /&gt;
    return this.y;&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   public void setX(int arg){&lt;br /&gt;
    this.x = arg;&lt;br /&gt;
   }&lt;br /&gt;
   public void setY(int arg){&lt;br /&gt;
    this.y = arg;&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Anwendung ist ebenfalls relativ einfach:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
   ...&lt;br /&gt;
   Punkt p = new Punkt(5,5);&lt;br /&gt;
   Punkt ursprung = new Punkt(0,0);&lt;br /&gt;
   ...&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Komplexere Klasse ==&lt;br /&gt;
&lt;br /&gt;
Java ist ja eine Objektorientierte Sprache, bzw. unterstützt Objektorientiertes Programmieren.&lt;br /&gt;
Wodurch zeichnet sich das aus? &lt;br /&gt;
&lt;br /&gt;
Ein Effekt ist, dass eine Klasse alles mitbringt, um mit ihr zu arbeiten, man als Anwender aber nichts über die &lt;br /&gt;
Innereien der Klasse wissen muss. &lt;br /&gt;
&lt;br /&gt;
Im folgenden soll eine Klasse vorgestellt werden, die ein Postpaket darstellt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
class Postpaket{&lt;br /&gt;
&lt;br /&gt;
  private int breite;  // in cm&lt;br /&gt;
  private int hoehe;   // in cm&lt;br /&gt;
  private int tiefe;   // in cm&lt;br /&gt;
&lt;br /&gt;
  private int gewicht; // in Gramm&lt;br /&gt;
&lt;br /&gt;
  // Kontruktor, um beim erzeugen eines Paketes&lt;br /&gt;
  // direkt alle Werte vorzubelegen&lt;br /&gt;
  public Postpaket(int breite, int hoehe, int tiefe){&lt;br /&gt;
      this.breite = breite;&lt;br /&gt;
      this.hoehe  = hoehe;&lt;br /&gt;
      this.tiefe  = tiefe;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  public int getWeight(){&lt;br /&gt;
      return this.gewicht;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  public void setWeight(int weight){&lt;br /&gt;
      this.gewicht = weight;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // groesse in Kubikzentimeter&lt;br /&gt;
  public int getVolume(){&lt;br /&gt;
      return this.breite * this.hoehe * this.tiefe;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  // spezifisches Gewicht in Gramm Pro Kubikzentimeter&lt;br /&gt;
  public double getSpecSize ()&lt;br /&gt;
  {&lt;br /&gt;
    // wir muessen hier vol als double sichern, da sonst&lt;br /&gt;
    // von Java automatisch eine Integer-Division&lt;br /&gt;
    // durchgeführt wird, so dass die Nachkommastellen abgeschnitten werden!&lt;br /&gt;
    double vol = ( this.breite * this.hoehe * this.tiefe);&lt;br /&gt;
    return (this.gewicht / vol );&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wie verwendet man diese Klasse nun?&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
class Programm{&lt;br /&gt;
&lt;br /&gt;
    public static void main(String[] args){&lt;br /&gt;
&lt;br /&gt;
        Postpaket paket = new Postpaket(340,123,240);&lt;br /&gt;
        &lt;br /&gt;
        paket.setWeight(1420);&lt;br /&gt;
&lt;br /&gt;
        // wir haben jetzt ein Paket mit Gewicht...&lt;br /&gt;
&lt;br /&gt;
        System.out.println(&amp;quot;Das spezifische Gewicht des Pakets: &amp;quot; + paket.getSpecSize());&lt;br /&gt;
        System.out.println(&amp;quot;Das Volumen des Pakets            : &amp;quot; + paket.getVolume());&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= FAQ &amp;amp; Werkzeugkasten =&lt;br /&gt;
&lt;br /&gt;
== Wi kann man den Benutzer nach einer Eingabe fragen? ==&lt;br /&gt;
Die ist ganz einfach mit der [[Javakurs2007/Terminal|Terminal-Klasse]] möglich. Möchte man zum Beispiel einen Integerwert einlesen, so schreibt man:&lt;br /&gt;
&lt;br /&gt;
 int userInput = Terminal.readInt();&lt;br /&gt;
&lt;br /&gt;
Wenn man dem Benutzer noch eine Aufforderung geben möchte, was er genau eingeben soll, so ist dies mit askInt() möglich:&lt;br /&gt;
&lt;br /&gt;
 int age = Terminal.askInt(&amp;quot;Please enter your name:&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
Natürlich lassen sich auch andere Typen als Integer einlesen, für double und String würde der Code so aussehen:&lt;br /&gt;
&lt;br /&gt;
 double money = Terminal.readDouble();&lt;br /&gt;
 String name = Terminal.readString();&lt;br /&gt;
&lt;br /&gt;
Um die Terminal-Klasse nutzen zu können, muss diese in den gleichen Ordner kopiert werden, in dem sich auch euer Javacode befindet.&lt;br /&gt;
&lt;br /&gt;
Download der Klasse Terminal [http://docs.freitagsrunde.org/Veranstaltungen/javakurs_2007/vorgaben/Terminal.java].&lt;br /&gt;
&lt;br /&gt;
== Wie kann ich eine Datei einlesen? ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das Einlesen von Dateien gestaltet sich in Java etwas komplizierter. Wir haben euch aus diesem Grunde hier, ähnlich wie bei der Terminaleingabe, eine Bibliotheksklasse gebaut, die euch ein wenig Arbeit abnimmt.&lt;br /&gt;
&lt;br /&gt;
[http://docs.freitagsrunde.org/Veranstaltungen/javakurs_2007/vorgaben/EasyFileAccess.java http://docs.freitagsrunde.org/Veranstaltungen/javakurs_2007/vorgaben/EasyFileAccess.java]&lt;br /&gt;
&lt;br /&gt;
Mit Hilfe der Funktion getFileContent(String filename) könnt ihr so den Inhalt einer kompletten Datei in ein String-Array lesen, wobei ein Feld im Array jeweils eine Zeile im Text darstellt:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   String[] textContent = EasyFileAccess.getFileContent(&amp;quot;Dateipfad&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Häufige Fehlermeldungen ==&lt;br /&gt;
Wir haben eine [[Javakurs2007/Errors|kleine Übersicht]] an Fehlern zusammengestellt, die häufig auftreten und mögliche Lösungsmöglichkeiten dafür beschrieben.&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Javakurs/%C3%9Cbungsaufgaben/Errors&amp;diff=10016</id>
		<title>Javakurs/Übungsaufgaben/Errors</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Javakurs/%C3%9Cbungsaufgaben/Errors&amp;diff=10016"/>
		<updated>2008-04-08T16:55:46Z</updated>

		<summary type="html">&lt;p&gt;Dank: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ihr findet hier eine kurze Erklärung mit Lösungsansatz zu den häufigsten Compiler- und Laufzeitfehlern. Versucht diese Fehlermeldungen bitte immer zu lesen, Java gibt euch relativ aufschlussreiche Fehlermeldungen, sodass es durchaus möglich ist, von der Meldung auf den tatsächlichen Fehler zu schließen!&lt;br /&gt;
&lt;br /&gt;
=&#039;&#039;&#039;CompilerFehler&#039;&#039;&#039;=&lt;br /&gt;
&lt;br /&gt;
== Exception in thread &amp;quot;main&amp;quot; java.lang.NoClassDefFoundError ==&lt;br /&gt;
Beim Kompilieren (von Datei X.java, welche ein Objekt Y aus der Datei Y.class/Y.java einbinden will:&lt;br /&gt;
 X.java:5: cannot resolve symbol&lt;br /&gt;
 symbol  : class Y  &lt;br /&gt;
 location: class X&lt;br /&gt;
     Y y = new Y();&lt;br /&gt;
     ^&lt;br /&gt;
&lt;br /&gt;
:Mann kann das Problem auf zwei Arten lösen:&lt;br /&gt;
:* man schreibt &#039;&#039;&amp;quot;java -cp . Klasse&amp;quot;&#039;&#039; anstatt nur &#039;&#039;&amp;quot;java Klasse&amp;quot;&#039;&#039; um sie Auszuführen&lt;br /&gt;
:* verwendet man die bash: schreibt man &#039;&#039;export CLASSPATH=$CLASSPATH:.&#039;&#039; entweder in jeder shell einmal oder in die &#039;&#039;.bashrc&#039;&#039; eintragen und die shell mit &#039;&#039;exec bash&#039;&#039; neu starten.&lt;br /&gt;
:* verwendet man die tcsh: schreibt man &#039;&#039;setenv CLASSPATH &amp;quot;.:$CLASSPATH&amp;quot;&#039;&#039; entweder in jeder shell oder einmal in der &#039;&#039;.cshrc&#039;&#039; eintragen und die shell mit &#039;&#039;tcsh&#039;&#039; neu starten.&lt;br /&gt;
&lt;br /&gt;
:Der Fehler bedeutet, dass die Shell-Variable CLASSPATH gesetzt ist. Das hat zur Folge das Java den Standardwert &amp;quot;.&amp;quot; (das Verzeichnis in dem man gerade ist) nicht mehr in den CLASSPATH aufnimmt und diese Fehlermeldung auflöst.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fehlermeldung &amp;quot;unchecked or unsafe operations&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
 Note: Test.java uses unchecked or unsafe operations.&lt;br /&gt;
 Note: Recompile with -Xlint:unchecked for details.&lt;br /&gt;
:Dann könnt ihr die entweder ignorieren, oder aber ihr übergebt den zusätzlichen Parameter an den Java-Compiler (javac -Xlint:unchecked foo.java). &lt;br /&gt;
Normalerweise sollte man solche Konstrukte natürlich vermeiden, dazu ist ja die Fehlermeldung da, aber für den Kurs ist das erstmal nicht weiter wichtig.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== non-static method someMethod() cannot be referenced from a static context ==&lt;br /&gt;
 pepino felixf 3 (~/Desktop): javac Test.java&lt;br /&gt;
 Test.java:13: non-static method someMethod() cannot be referenced from a static context&lt;br /&gt;
                 someMethod();&lt;br /&gt;
                 ^&lt;br /&gt;
 1 error&lt;br /&gt;
&lt;br /&gt;
Diese Fehler tritt auf, wenn eine Objectmethode wie eine statische Methode aufgerufen wird, d.h. die Methode wir nicht auf eine Objekt aufgerufen, sondern wie eine statische Methode ohne Punktoperator.&lt;br /&gt;
Lösung:&lt;br /&gt;
 FooBar name = new FooBar();&lt;br /&gt;
 name.someMethod();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Falsche Parameter==&lt;br /&gt;
 bruja shabanov 23 (Desktop/JavaKurs): javac Errors.java&lt;br /&gt;
 Errors.java:4: setANumber(int) in Errors cannot be applied to (java.lang.String)                &lt;br /&gt;
                setANumber(&amp;quot;aNumber&amp;quot;);&lt;br /&gt;
                ^&lt;br /&gt;
 1 error&lt;br /&gt;
*Dieser Fehler tritt auf wenn ihr z.B. bei einem Methodenaufruf Parameter eines falschen Typs übergebt.&lt;br /&gt;
*Hier erwartet die Methode setANumber eine Zahl vom Typ int, bekommt aber einen String. Das geht nicht.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Inkompatible Typen==&lt;br /&gt;
 bruja shabanov 18 (Desktop/JavaKurs): javac Errors.java&lt;br /&gt;
 Errors.java:6: incompatible types&lt;br /&gt;
 found   : java.lang.String&lt;br /&gt;
 required: double&lt;br /&gt;
                 double aDouble = anInt + aString;&lt;br /&gt;
                                        ^&lt;br /&gt;
 1 error &lt;br /&gt;
*Dieser Fehler tritt dann auf, wenn bei einer Zuweisung die Datentypen der Variablen nicht übereinstimmen, wie in diesem fehlerhaften Code:&lt;br /&gt;
                String aString= &amp;quot;47&amp;quot;;&lt;br /&gt;
 		int anInt = 11;		&lt;br /&gt;
 		double aDouble = anInt + aString;&lt;br /&gt;
*Es ist zwar möglich, aus einer Zahl einen String zu erzeugen und umgekehrt. Da dies aber relativ kompliziert ist, behandeln wir das im Rahmen dieses Kurses nicht. Versucht einfach, Zahlen mit Zahlen und Strings mit Strings zu verknüpfen, dann wird euch auch der Compiler danken.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Klammer fehlt==&lt;br /&gt;
&lt;br /&gt;
 bruja shabanov 10 (Desktop/JavaKurs): javac Errors.java&lt;br /&gt;
 Errors.java:&#039;&#039;&#039;7&#039;&#039;&#039;: &#039;}&#039; expected&lt;br /&gt;
 &#039;&#039;&#039;^&#039;&#039;&#039;&lt;br /&gt;
 1 error&lt;br /&gt;
* Es fehlt einfach eine geschweifte Klammer.&lt;br /&gt;
* Jedes Mal, wenn ihr eine geschweifte Klammer aufmacht, macht sie gleich wieder zu, damit ihr das später nicht vergesst.&lt;br /&gt;
* Bei Klammerfehlern solltet ihr nach jedem korrigierten Fehler neu kompilieren, da es normalerweise zu sehr vielen Folgefehlern kommt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semikolon fehlt==&lt;br /&gt;
 bruja shabanov 25 (Desktop/JavaKurs): javac Errors.java&lt;br /&gt;
 Errors.java:5: &#039;;&#039; expected&lt;br /&gt;
         }&lt;br /&gt;
         ^&lt;br /&gt;
 1 error&lt;br /&gt;
*Es fehlt einfach ein Semikolon.&lt;br /&gt;
*Sucht &#039;&#039;vor&#039;&#039; der angegebenen Zeile nach einer Anweisung, die kein Semikolon am Ende hat.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Doppelte Deklaration==&lt;br /&gt;
 bruja shabanov 11 (Desktop/JavaKurs): javac Errors.java Errors.java:5: i is already defined in main(java.lang.String[])&lt;br /&gt;
                 for( int i = 0 ; i &amp;lt; 10 ; i++ ){&lt;br /&gt;
                          ^&lt;br /&gt;
 1 error&lt;br /&gt;
&lt;br /&gt;
* Die Variable i ist irgendwo bereits definiert gewesen. Sucht also vor dieser Zeile nach einem:&lt;br /&gt;
 int i = ..&lt;br /&gt;
* Ihr müsst dann den Variablennamen in der Schleife z.B. ändern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Definition fehlt==&lt;br /&gt;
 bruja shabanov 5 (Desktop/JavaKurs): javac Errors.java&lt;br /&gt;
 Errors.java:15: variable ret might not have been initialized&lt;br /&gt;
                 return ret;&lt;br /&gt;
                        ^&lt;br /&gt;
 1 error&lt;br /&gt;
* Ihr habt eine Variable nicht richtig initialisiert, das passiert oft, wenn ihr einer Variable innerhalb einer if-Anweisung Werte zuweist, wie in diesem Code (der zudem obigen Fehler führt):&lt;br /&gt;
 	public static String someMethod( int x ){&lt;br /&gt;
 		String ret;&lt;br /&gt;
 		if( x ==  4711 ){&lt;br /&gt;
 			ret = &amp;quot;foobar&amp;quot;;&lt;br /&gt;
 		}&lt;br /&gt;
 		return ret;&lt;br /&gt;
 	}&lt;br /&gt;
* Die Variable &amp;lt;code&amp;gt;ret&amp;lt;/code&amp;gt; bekommt nur dann einen Wert zugeordnet, wenn x == 4711 gilt, da dies nicht immer der Fall sein muss, könnte der Fall auftreten, dass &amp;lt;code&amp;gt;ret&amp;lt;/code&amp;gt; gar keinen Wert zugeordnet bekommt.&lt;br /&gt;
* Fügt einen default-Wert für &amp;lt;code&amp;gt;ret&amp;lt;/code&amp;gt; hinzu um diesen Fehler zu beheben, z.B. so:&lt;br /&gt;
  		String ret = &amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
==verwirrender Vergleichsfehler==&lt;br /&gt;
Hangman.java:36: unexpected type&lt;br /&gt;
required: variable&lt;br /&gt;
found   : value&lt;br /&gt;
                        if (wort.charAt(i) = buchstabe) {&lt;br /&gt;
*Statt einem Vergleich hat man den Wert überspeichert und ein verwirrender Fehler ergötzt sich unser.&lt;br /&gt;
&lt;br /&gt;
==Missing return statement==&lt;br /&gt;
 bruja shabanov 6 (Desktop/JavaKurs): javac Errors.java&lt;br /&gt;
 Errors.java:17: missing return statement&lt;br /&gt;
         }&lt;br /&gt;
         ^&lt;br /&gt;
 1 error&lt;br /&gt;
* Ihr habt in einer Methode, die etwas zurückgeben soll, entweder das return vergessen, oder das return steht nur innerhalb von if-Anweisungen, wie hier:&lt;br /&gt;
 	public static boolean isPositive( int num ){&lt;br /&gt;
 		if( num &amp;gt; 0 ){&lt;br /&gt;
 			return true;&lt;br /&gt;
 		}else if( num &amp;lt; 0 ){&lt;br /&gt;
 			return false;&lt;br /&gt;
 		}			&lt;br /&gt;
 	}&lt;br /&gt;
* Da alle returns in einem if-Block stehen, könnte es theoretisch sein, dass keiner der Blöcke ausgeführt wird und Java somit nicht weiß, was es zurück geben soll.&lt;br /&gt;
* Fügt, um das Problem zu lösen, ein return am Ende eurer Methode ein, oder ändert ein else if in ein else.&lt;br /&gt;
        public static boolean isPositive( int num ){&lt;br /&gt;
 		if( num &amp;gt; 0 ){&lt;br /&gt;
 			return true;&lt;br /&gt;
 		}else if( num &amp;lt; 0 ){&lt;br /&gt;
 			return false;&lt;br /&gt;
 		}			&lt;br /&gt;
 		&#039;&#039;&#039;return false;&#039;&#039;&#039;&lt;br /&gt;
 	}&lt;br /&gt;
&lt;br /&gt;
=&#039;&#039;&#039;Laufzeit-Fehler oder Exceptions (sprich Äkssepschons)&#039;&#039;&#039;= &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==java.lang.NoClassDefFoundError==&lt;br /&gt;
 bruja shabanov 7 (Desktop/JavaKurs): java Errors&lt;br /&gt;
 Exception in thread &amp;quot;main&amp;quot; java.lang.NoClassDefFoundError: Errors&lt;br /&gt;
* Das heißt, Java kann die Klasse nicht finden, die ihr ausführen wollt.&lt;br /&gt;
* Schaut &#039;&#039;&#039;genau&#039;&#039;&#039; nach, ob der Dateiname und der Klassennamme gleich sind. Dabei ist auch wichtig, die Groß-/Kleinschreibung zu beachten. Außerdem achtet darauf, ob ihr in die Konsole die richtigen Namen eingetippt habt.&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
==java.lang.NoSuchMethodError==&lt;br /&gt;
 bruja shabanov 9 (Desktop/JavaKurs): java Errors&lt;br /&gt;
 Exception in thread &amp;quot;main&amp;quot; java.lang.NoSuchMethodError: main&lt;br /&gt;
* Java findet eine Methode nicht (hier speziell die main Methode).&lt;br /&gt;
* Schaut, ob ihr beim Aufruf den Methodennamen richtig geschrieben habt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==java.lang.ArrayIndexOutOfBoundsException==&lt;br /&gt;
 bruja shabanov 8 (Desktop/JavaKurs): java Errors&lt;br /&gt;
 Exception in thread &amp;quot;main&amp;quot; java.lang.ArrayIndexOutOfBoundsException: 2&lt;br /&gt;
         at Errors.main(Errors.java:5)&lt;br /&gt;
*Ihr versucht, auf ein Array Feld zuzugreifen, was außerhalb der Größe des Arrays liegt. &lt;br /&gt;
*Sucht in der angegeben Zeile nach dem Zugriff auf das Array und stellt fest, warum der Index zu groß geworden ist.&lt;br /&gt;
*&amp;quot;Printline-Debugging&amp;quot; hilft (Index vor jedem Zugriff ausgeben)!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==java.lang.NullPointerException==&lt;br /&gt;
 bruja shabanov 13 (Desktop/JavaKurs): java Errors&lt;br /&gt;
 Exception in thread &amp;quot;main&amp;quot; java.lang.NullPointerException&lt;br /&gt;
        at Errors.main(Errors.java:5)&lt;br /&gt;
*Ihr versucht, auf eine Variable zuzugreifen oder führt mit ihr Operationen aus, obwohl sie noch nicht initialisiert ist.&lt;br /&gt;
*Das passiert oft, wenn man mit z.B. String-Arrays arbeitet. Obwohl man das Array initialisiert hat, sind die Elemente darin noch nicht initialisiert.&lt;br /&gt;
 String[] stringArray = new String[12];&lt;br /&gt;
*Hier kann es helfen, den Array-Elementen entweder direkt Werte zuzuweisen oder mit einer Schleife alle auf einen default-Wert setzen:&lt;br /&gt;
 for(int i = 0 ; i &amp;lt; stringArray.length ; i++ ){&lt;br /&gt;
     stringArray[i] = &amp;quot;&amp;quot;;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==java.lang.ArithmeticException==&lt;br /&gt;
 bruja shabanov 15 (Desktop/JavaKurs): java Errors&lt;br /&gt;
 Exception in thread &amp;quot;main&amp;quot; java.lang.ArithmeticException: / by zero&lt;br /&gt;
         at Errors.main(Errors.java:4)&lt;br /&gt;
*Dieser Fehler tritt auf, wenn ihr versucht, ungültige arithmetische Operationen auszuführen, wie hier die Division durch 0.&lt;br /&gt;
*Ihr könnt euch Gedanken über das axiomatische Gerüst der Mathematik machen und nach einem Weg suchen, durch 0 zu teilen, einfacher ist es jedoch, wenn ihr nicht durch 0 teilt, keine Wurzeln aus negativen Zahlen zieht usw.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== java.lang.StackOverflowError ==&lt;br /&gt;
 Exception in thread &amp;quot;main&amp;quot; java.lang.StackOverflowError&lt;br /&gt;
&lt;br /&gt;
Diese Fehler tritt auf, wenn ihr eine Enlosrekursion produziert habt. Im Zweifelsfall sehr ihr diese Fehlermeldung aber nicht, da nach dieser der Bildschirm undlos mit der Zeilenangabe vollgeschrieben wird.&lt;br /&gt;
&lt;br /&gt;
== Exception in thread &amp;quot;main&amp;quot; java.lang.OutOfMemoryError: Requested array size exceeds VM limit ==&lt;br /&gt;
 pepino felixf 17 (~/Desktop): java Test&lt;br /&gt;
 Exception in thread &amp;quot;main&amp;quot; java.lang.OutOfMemoryError: Requested array size exceeds VM limit&lt;br /&gt;
&lt;br /&gt;
Ihr solltet etwas sorgsamer mit eurem Speicherplatz (RAM) umgehen ;-)&lt;br /&gt;
&lt;br /&gt;
== Exception in thread &amp;quot;main&amp;quot; java.lang.NoClassDefFoundError ==&lt;br /&gt;
 Exception in thread &amp;quot;main&amp;quot; java.lang.NoClassDefFoundError:KlassennameDenIhrGeradeKompiliertHabt&lt;br /&gt;
Die Lösung dieses Fehlers verhält sich äquivalent wie der NoClassDefFoundError zur Compile-Zeit, welche weiter oben beschrieben wird.&lt;br /&gt;
&lt;br /&gt;
Sollte der CLASSPATH korrekt gesetzt sein und sich eure Java-Dateien alle am richtigen Ort befinden, so könnte es trotzdem sein, dass eine Klasse nicht gefunden wird:&lt;br /&gt;
&lt;br /&gt;
 Exception in thread &amp;quot;main&amp;quot; java.lang.NoClassDefFoundError:KlassennameDenIhrGeradeKompiliertHabt/class&lt;br /&gt;
:dann habt ihr das Programm mit &amp;quot;java KlassennameDenIhrGeradeKompiliertHabt.class&amp;quot; aufgerufen, was falsch ist. Man darf hier das &amp;quot;class&amp;quot; nicht an den Befehl anhängen.&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Javakurs/%C3%9Cbungsaufgaben/Errors&amp;diff=10015</id>
		<title>Javakurs/Übungsaufgaben/Errors</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Javakurs/%C3%9Cbungsaufgaben/Errors&amp;diff=10015"/>
		<updated>2008-04-08T16:52:47Z</updated>

		<summary type="html">&lt;p&gt;Dank: /* &amp;#039;&amp;#039;&amp;#039;CompilerFehler&amp;#039;&amp;#039;&amp;#039; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ihr findet hier eine kurze Erklärung mit Lösungsansatz zu den häufigsten Compiler- und Laufzeitfehlern. Versucht diese Fehlermeldungen bitte immer zu lesen, Java gibt euch relativ aufschlussreiche Fehlermeldungen, sodass es durchaus möglich ist, von der Meldung auf den tatsächlichen Fehler zu schließen!&lt;br /&gt;
&lt;br /&gt;
=&#039;&#039;&#039;CompilerFehler&#039;&#039;&#039;=&lt;br /&gt;
&lt;br /&gt;
== Klassen werden nicht gefunden (NoClassDefFoundError) ==&lt;br /&gt;
Beim Kompilieren (von Datei X.java, welche ein Objekt Y aus der Datei Y.class/Y.java einbinden will:&lt;br /&gt;
 X.java:5: cannot resolve symbol&lt;br /&gt;
 symbol  : class Y  &lt;br /&gt;
 location: class X&lt;br /&gt;
     Y y = new Y();&lt;br /&gt;
     ^&lt;br /&gt;
&lt;br /&gt;
:Mann kann das Problem auf zwei Arten lösen:&lt;br /&gt;
:* man schreibt &#039;&#039;&amp;quot;java -cp . Klasse&amp;quot;&#039;&#039; anstatt nur &#039;&#039;&amp;quot;java Klasse&amp;quot;&#039;&#039; um sie Auszuführen&lt;br /&gt;
:* verwendet man die bash: schreibt man &#039;&#039;export CLASSPATH=$CLASSPATH:.&#039;&#039; entweder in jeder shell einmal oder in die &#039;&#039;.bashrc&#039;&#039; eintragen und die shell mit &#039;&#039;exec bash&#039;&#039; neu starten.&lt;br /&gt;
:* verwendet man die tcsh: schreibt man &#039;&#039;setenv CLASSPATH &amp;quot;.:$CLASSPATH&amp;quot;&#039;&#039; entweder in jeder shell oder einmal in der &#039;&#039;.cshrc&#039;&#039; eintragen und die shell mit &#039;&#039;tcsh&#039;&#039; neu starten.&lt;br /&gt;
&lt;br /&gt;
:Der Fehler bedeutet, dass die Shell-Variable CLASSPATH gesetzt ist. Das hat zur Folge das Java den Standardwert &amp;quot;.&amp;quot; (das Verzeichnis in dem man gerade ist) nicht mehr in den CLASSPATH aufnimmt und diese Fehlermeldung auflöst.&lt;br /&gt;
&lt;br /&gt;
Sollte der CLASSPATH korrekt gesetzt sein und sich eure Java-Dateien alle am richtigen Ort befinden, so könnte es trotzdem sein, dass eine Klasse nicht gefunden wird:&lt;br /&gt;
&lt;br /&gt;
 Exception in thread &amp;quot;main&amp;quot; java.lang.NoClassDefFoundError:KlassennameDenIhrGeradeKompiliertHabt/class&lt;br /&gt;
:dann habt ihr das Programm mit &amp;quot;java KlassennameDenIhrGeradeKompiliertHabt.class&amp;quot; aufgerufen, was falsch ist. Man darf hier das &amp;quot;class&amp;quot; nicht an den Befehl anhängen.&lt;br /&gt;
&lt;br /&gt;
== Fehlermeldung &amp;quot;unchecked or unsafe operations&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
 Note: Test.java uses unchecked or unsafe operations.&lt;br /&gt;
 Note: Recompile with -Xlint:unchecked for details.&lt;br /&gt;
:Dann könnt ihr die entweder ignorieren, oder aber ihr übergebt den zusätzlichen Parameter an den Java-Compiler (javac -Xlint:unchecked foo.java). &lt;br /&gt;
Normalerweise sollte man solche Konstrukte natürlich vermeiden, dazu ist ja die Fehlermeldung da, aber für den Kurs ist das erstmal nicht weiter wichtig.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== non-static method someMethod() cannot be referenced from a static context ==&lt;br /&gt;
 pepino felixf 3 (~/Desktop): javac Test.java&lt;br /&gt;
 Test.java:13: non-static method someMethod() cannot be referenced from a static context&lt;br /&gt;
                 someMethod();&lt;br /&gt;
                 ^&lt;br /&gt;
 1 error&lt;br /&gt;
&lt;br /&gt;
Diese Fehler tritt auf, wenn eine Objectmethode wie eine statische Methode aufgerufen wird, d.h. die Methode wir nicht auf eine Objekt aufgerufen, sondern wie eine statische Methode ohne Punktoperator.&lt;br /&gt;
Lösung:&lt;br /&gt;
 FooBar name = new FooBar();&lt;br /&gt;
 name.someMethod();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Falsche Parameter==&lt;br /&gt;
 bruja shabanov 23 (Desktop/JavaKurs): javac Errors.java&lt;br /&gt;
 Errors.java:4: setANumber(int) in Errors cannot be applied to (java.lang.String)                &lt;br /&gt;
                setANumber(&amp;quot;aNumber&amp;quot;);&lt;br /&gt;
                ^&lt;br /&gt;
 1 error&lt;br /&gt;
*Dieser Fehler tritt auf wenn ihr z.B. bei einem Methodenaufruf Parameter eines falschen Typs übergebt.&lt;br /&gt;
*Hier erwartet die Methode setANumber eine Zahl vom Typ int, bekommt aber einen String. Das geht nicht.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Inkompatible Typen==&lt;br /&gt;
 bruja shabanov 18 (Desktop/JavaKurs): javac Errors.java&lt;br /&gt;
 Errors.java:6: incompatible types&lt;br /&gt;
 found   : java.lang.String&lt;br /&gt;
 required: double&lt;br /&gt;
                 double aDouble = anInt + aString;&lt;br /&gt;
                                        ^&lt;br /&gt;
 1 error &lt;br /&gt;
*Dieser Fehler tritt dann auf, wenn bei einer Zuweisung die Datentypen der Variablen nicht übereinstimmen, wie in diesem fehlerhaften Code:&lt;br /&gt;
                String aString= &amp;quot;47&amp;quot;;&lt;br /&gt;
 		int anInt = 11;		&lt;br /&gt;
 		double aDouble = anInt + aString;&lt;br /&gt;
*Es ist zwar möglich, aus einer Zahl einen String zu erzeugen und umgekehrt. Da dies aber relativ kompliziert ist, behandeln wir das im Rahmen dieses Kurses nicht. Versucht einfach, Zahlen mit Zahlen und Strings mit Strings zu verknüpfen, dann wird euch auch der Compiler danken.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Klammer fehlt==&lt;br /&gt;
&lt;br /&gt;
 bruja shabanov 10 (Desktop/JavaKurs): javac Errors.java&lt;br /&gt;
 Errors.java:&#039;&#039;&#039;7&#039;&#039;&#039;: &#039;}&#039; expected&lt;br /&gt;
 &#039;&#039;&#039;^&#039;&#039;&#039;&lt;br /&gt;
 1 error&lt;br /&gt;
* Es fehlt einfach eine geschweifte Klammer.&lt;br /&gt;
* Jedes Mal, wenn ihr eine geschweifte Klammer aufmacht, macht sie gleich wieder zu, damit ihr das später nicht vergesst.&lt;br /&gt;
* Bei Klammerfehlern solltet ihr nach jedem korrigierten Fehler neu kompilieren, da es normalerweise zu sehr vielen Folgefehlern kommt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semikolon fehlt==&lt;br /&gt;
 bruja shabanov 25 (Desktop/JavaKurs): javac Errors.java&lt;br /&gt;
 Errors.java:5: &#039;;&#039; expected&lt;br /&gt;
         }&lt;br /&gt;
         ^&lt;br /&gt;
 1 error&lt;br /&gt;
*Es fehlt einfach ein Semikolon.&lt;br /&gt;
*Sucht &#039;&#039;vor&#039;&#039; der angegebenen Zeile nach einer Anweisung, die kein Semikolon am Ende hat.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Doppelte Deklaration==&lt;br /&gt;
 bruja shabanov 11 (Desktop/JavaKurs): javac Errors.java Errors.java:5: i is already defined in main(java.lang.String[])&lt;br /&gt;
                 for( int i = 0 ; i &amp;lt; 10 ; i++ ){&lt;br /&gt;
                          ^&lt;br /&gt;
 1 error&lt;br /&gt;
&lt;br /&gt;
* Die Variable i ist irgendwo bereits definiert gewesen. Sucht also vor dieser Zeile nach einem:&lt;br /&gt;
 int i = ..&lt;br /&gt;
* Ihr müsst dann den Variablennamen in der Schleife z.B. ändern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Definition fehlt==&lt;br /&gt;
 bruja shabanov 5 (Desktop/JavaKurs): javac Errors.java&lt;br /&gt;
 Errors.java:15: variable ret might not have been initialized&lt;br /&gt;
                 return ret;&lt;br /&gt;
                        ^&lt;br /&gt;
 1 error&lt;br /&gt;
* Ihr habt eine Variable nicht richtig initialisiert, das passiert oft, wenn ihr einer Variable innerhalb einer if-Anweisung Werte zuweist, wie in diesem Code (der zudem obigen Fehler führt):&lt;br /&gt;
 	public static String someMethod( int x ){&lt;br /&gt;
 		String ret;&lt;br /&gt;
 		if( x ==  4711 ){&lt;br /&gt;
 			ret = &amp;quot;foobar&amp;quot;;&lt;br /&gt;
 		}&lt;br /&gt;
 		return ret;&lt;br /&gt;
 	}&lt;br /&gt;
* Die Variable &amp;lt;code&amp;gt;ret&amp;lt;/code&amp;gt; bekommt nur dann einen Wert zugeordnet, wenn x == 4711 gilt, da dies nicht immer der Fall sein muss, könnte der Fall auftreten, dass &amp;lt;code&amp;gt;ret&amp;lt;/code&amp;gt; gar keinen Wert zugeordnet bekommt.&lt;br /&gt;
* Fügt einen default-Wert für &amp;lt;code&amp;gt;ret&amp;lt;/code&amp;gt; hinzu um diesen Fehler zu beheben, z.B. so:&lt;br /&gt;
  		String ret = &amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
==verwirrender Vergleichsfehler==&lt;br /&gt;
Hangman.java:36: unexpected type&lt;br /&gt;
required: variable&lt;br /&gt;
found   : value&lt;br /&gt;
                        if (wort.charAt(i) = buchstabe) {&lt;br /&gt;
*Statt einem Vergleich hat man den Wert überspeichert und ein verwirrender Fehler ergötzt sich unser.&lt;br /&gt;
&lt;br /&gt;
==Missing return statement==&lt;br /&gt;
 bruja shabanov 6 (Desktop/JavaKurs): javac Errors.java&lt;br /&gt;
 Errors.java:17: missing return statement&lt;br /&gt;
         }&lt;br /&gt;
         ^&lt;br /&gt;
 1 error&lt;br /&gt;
* Ihr habt in einer Methode, die etwas zurückgeben soll, entweder das return vergessen, oder das return steht nur innerhalb von if-Anweisungen, wie hier:&lt;br /&gt;
 	public static boolean isPositive( int num ){&lt;br /&gt;
 		if( num &amp;gt; 0 ){&lt;br /&gt;
 			return true;&lt;br /&gt;
 		}else if( num &amp;lt; 0 ){&lt;br /&gt;
 			return false;&lt;br /&gt;
 		}			&lt;br /&gt;
 	}&lt;br /&gt;
* Da alle returns in einem if-Block stehen, könnte es theoretisch sein, dass keiner der Blöcke ausgeführt wird und Java somit nicht weiß, was es zurück geben soll.&lt;br /&gt;
* Fügt, um das Problem zu lösen, ein return am Ende eurer Methode ein, oder ändert ein else if in ein else.&lt;br /&gt;
        public static boolean isPositive( int num ){&lt;br /&gt;
 		if( num &amp;gt; 0 ){&lt;br /&gt;
 			return true;&lt;br /&gt;
 		}else if( num &amp;lt; 0 ){&lt;br /&gt;
 			return false;&lt;br /&gt;
 		}			&lt;br /&gt;
 		&#039;&#039;&#039;return false;&#039;&#039;&#039;&lt;br /&gt;
 	}&lt;br /&gt;
&lt;br /&gt;
=&#039;&#039;&#039;Laufzeit-Fehler oder Exceptions (sprich Äkssepschons)&#039;&#039;&#039;= &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==java.lang.NoClassDefFoundError==&lt;br /&gt;
 bruja shabanov 7 (Desktop/JavaKurs): java Errors&lt;br /&gt;
 Exception in thread &amp;quot;main&amp;quot; java.lang.NoClassDefFoundError: Errors&lt;br /&gt;
* Das heißt, Java kann die Klasse nicht finden, die ihr ausführen wollt.&lt;br /&gt;
* Schaut &#039;&#039;&#039;genau&#039;&#039;&#039; nach, ob der Dateiname und der Klassennamme gleich sind. Dabei ist auch wichtig, die Groß-/Kleinschreibung zu beachten. Außerdem achtet darauf, ob ihr in die Konsole die richtigen Namen eingetippt habt.&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
==java.lang.NoSuchMethodError==&lt;br /&gt;
 bruja shabanov 9 (Desktop/JavaKurs): java Errors&lt;br /&gt;
 Exception in thread &amp;quot;main&amp;quot; java.lang.NoSuchMethodError: main&lt;br /&gt;
* Java findet eine Methode nicht (hier speziell die main Methode).&lt;br /&gt;
* Schaut, ob ihr beim Aufruf den Methodennamen richtig geschrieben habt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==java.lang.ArrayIndexOutOfBoundsException==&lt;br /&gt;
 bruja shabanov 8 (Desktop/JavaKurs): java Errors&lt;br /&gt;
 Exception in thread &amp;quot;main&amp;quot; java.lang.ArrayIndexOutOfBoundsException: 2&lt;br /&gt;
         at Errors.main(Errors.java:5)&lt;br /&gt;
*Ihr versucht, auf ein Array Feld zuzugreifen, was außerhalb der Größe des Arrays liegt. &lt;br /&gt;
*Sucht in der angegeben Zeile nach dem Zugriff auf das Array und stellt fest, warum der Index zu groß geworden ist.&lt;br /&gt;
*&amp;quot;Printline-Debugging&amp;quot; hilft (Index vor jedem Zugriff ausgeben)!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==java.lang.NullPointerException==&lt;br /&gt;
 bruja shabanov 13 (Desktop/JavaKurs): java Errors&lt;br /&gt;
 Exception in thread &amp;quot;main&amp;quot; java.lang.NullPointerException&lt;br /&gt;
        at Errors.main(Errors.java:5)&lt;br /&gt;
*Ihr versucht, auf eine Variable zuzugreifen oder führt mit ihr Operationen aus, obwohl sie noch nicht initialisiert ist.&lt;br /&gt;
*Das passiert oft, wenn man mit z.B. String-Arrays arbeitet. Obwohl man das Array initialisiert hat, sind die Elemente darin noch nicht initialisiert.&lt;br /&gt;
 String[] stringArray = new String[12];&lt;br /&gt;
*Hier kann es helfen, den Array-Elementen entweder direkt Werte zuzuweisen oder mit einer Schleife alle auf einen default-Wert setzen:&lt;br /&gt;
 for(int i = 0 ; i &amp;lt; stringArray.length ; i++ ){&lt;br /&gt;
     stringArray[i] = &amp;quot;&amp;quot;;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==java.lang.ArithmeticException==&lt;br /&gt;
 bruja shabanov 15 (Desktop/JavaKurs): java Errors&lt;br /&gt;
 Exception in thread &amp;quot;main&amp;quot; java.lang.ArithmeticException: / by zero&lt;br /&gt;
         at Errors.main(Errors.java:4)&lt;br /&gt;
*Dieser Fehler tritt auf, wenn ihr versucht, ungültige arithmetische Operationen auszuführen, wie hier die Division durch 0.&lt;br /&gt;
*Ihr könnt euch Gedanken über das axiomatische Gerüst der Mathematik machen und nach einem Weg suchen, durch 0 zu teilen, einfacher ist es jedoch, wenn ihr nicht durch 0 teilt, keine Wurzeln aus negativen Zahlen zieht usw.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== java.lang.StackOverflowError ==&lt;br /&gt;
 Exception in thread &amp;quot;main&amp;quot; java.lang.StackOverflowError&lt;br /&gt;
&lt;br /&gt;
Diese Fehler tritt auf, wenn ihr eine Enlosrekursion produziert habt. Im Zweifelsfall sehr ihr diese Fehlermeldung aber nicht, da nach dieser der Bildschirm undlos mit der Zeilenangabe vollgeschrieben wird.&lt;br /&gt;
&lt;br /&gt;
== Exception in thread &amp;quot;main&amp;quot; java.lang.OutOfMemoryError: Requested array size exceeds VM limit ==&lt;br /&gt;
 pepino felixf 17 (~/Desktop): java Test&lt;br /&gt;
 Exception in thread &amp;quot;main&amp;quot; java.lang.OutOfMemoryError: Requested array size exceeds VM limit&lt;br /&gt;
&lt;br /&gt;
Ihr solltet etwas sorgsamer mit eurem Speicherplatz (RAM) umgehen ;-)&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Javakurs2008/Tutorenportal&amp;diff=10804</id>
		<title>Javakurs2008/Tutorenportal</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Javakurs2008/Tutorenportal&amp;diff=10804"/>
		<updated>2008-04-05T17:43:50Z</updated>

		<summary type="html">&lt;p&gt;Dank: /* Review von Aufgaben */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links ==&lt;br /&gt;
&lt;br /&gt;
* [[Javakurs2008]]&lt;br /&gt;
* [[Javakurs2008/Orga]]&lt;br /&gt;
* [[Javakurs2008/Gliederung_Javakurs_2008]]&lt;br /&gt;
* [[Javakurs2008/%C3%9Cbungspool]]&lt;br /&gt;
&lt;br /&gt;
== Raumauslastung + Tutorenverteilung ==&lt;br /&gt;
Die Auslastung der Räume mit Tutanden wird dynamisch von den jeweiligen Tutoren eingetragen, um ein &amp;quot;load balancing&amp;quot; von Tutanden zu ermöglichen.&lt;br /&gt;
&lt;br /&gt;
Eine Hilfe zum Eintragen der Raumauslastung steht im Quelltext der Tabelle.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rote Zeilen bedeuten dass hier die eine Umverteilung statt finden sollte ....&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Montag:&#039;&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;2&amp;quot;&lt;br /&gt;
 |- bgcolor=&amp;quot;#D8D8D8&amp;quot;&lt;br /&gt;
 ! Raum&lt;br /&gt;
 ! Tutoren&lt;br /&gt;
 ! Tut#&lt;br /&gt;
 ! Plätze&lt;br /&gt;
 ! Motto&lt;br /&gt;
 ! Tutanden anwesend&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#FFE8E8&amp;quot;&lt;br /&gt;
 | MA241&lt;br /&gt;
 | Sebastian D&lt;br /&gt;
 | 3&lt;br /&gt;
 | ~40&lt;br /&gt;
 | &#039;&#039;&#039;UNIX POOL&#039;&#039;&#039;&lt;br /&gt;
 |                     &amp;lt;!-- Hier Tutanden für FR2516 eintragen--&amp;gt;&lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#FFE8E8&amp;quot;&lt;br /&gt;
 | FR2516&lt;br /&gt;
 | Reiner&lt;br /&gt;
 | 3&lt;br /&gt;
 | ~25&lt;br /&gt;
 | &#039;&#039;&#039;Notebookraum A&#039;&#039;&#039;&lt;br /&gt;
 |                     &amp;lt;!-- Hier Tutanden für FR2516 eintragen--&amp;gt;&lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | FR2517&lt;br /&gt;
 | Björn L., Michael&lt;br /&gt;
 | 2&lt;br /&gt;
 | 12&lt;br /&gt;
 |&lt;br /&gt;
 |                     &amp;lt;!-- Hier Tutanden für FR2517 eintragen--&amp;gt;&lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | FR5083&lt;br /&gt;
 | Florian&lt;br /&gt;
 | 1&lt;br /&gt;
 | 6&lt;br /&gt;
 |&lt;br /&gt;
 |                     &amp;lt;!-- Hier Tutanden für FR2516 eintragen--&amp;gt;&lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#FFE8E8&amp;quot;&lt;br /&gt;
 | FR5087&lt;br /&gt;
 | Martin Z., Gert&lt;br /&gt;
 | 2-3&lt;br /&gt;
 | ~15&lt;br /&gt;
 | &#039;&#039;&#039;Notebookraum B&#039;&#039;&#039;&lt;br /&gt;
 |                     &amp;lt;!-- Hier Tutanden für 5087 eintragen--&amp;gt;&lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | FR5535&lt;br /&gt;
 | Felix, Milan, Dan&lt;br /&gt;
 | 3&lt;br /&gt;
 | 14&lt;br /&gt;
 | Sprache: Englisch, Deutsch; &#039;&#039;&#039;Zentrale für eventuelle Probleme und Kommunikation&#039;&#039;&#039;&lt;br /&gt;
 |                          &amp;lt;!-- Hier Tutanden für FR5535 eintragen--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | FR5538&lt;br /&gt;
 | Daniel, Katrin&lt;br /&gt;
 | 2&lt;br /&gt;
 | 12&lt;br /&gt;
 | Eisentölpel &lt;br /&gt;
 |                          &amp;lt;!-- Hier Tutanden für FR5538 eintragen--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | FR5539&lt;br /&gt;
 | Kai, Nadim&lt;br /&gt;
 | 2&lt;br /&gt;
 | 12&lt;br /&gt;
 | (C)Ulli&lt;br /&gt;
 |                          &amp;lt;!-- Hier Tutanden für FR5539 eintragen--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | FR6514&lt;br /&gt;
 | Mario, Rbubert&lt;br /&gt;
 | 2&lt;br /&gt;
 | 13&lt;br /&gt;
 | Emerge The Gimp. But the Gimp&#039;s Masked! Well, ACCEPT_KEYWORD....&lt;br /&gt;
 |                          &amp;lt;!-- Hier Tutanden für FR5514 eintragen--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | &amp;lt;strike&amp;gt;FR2516&amp;lt;/strike&amp;gt;&lt;br /&gt;
 | &amp;lt;strike&amp;gt;Alex, Björn B.&amp;lt;/strike&amp;gt;&lt;br /&gt;
 | &amp;lt;strike&amp;gt;3&amp;lt;/strike&amp;gt;&lt;br /&gt;
 | &amp;lt;strike&amp;gt;18&amp;lt;/strike&amp;gt;&lt;br /&gt;
 |&lt;br /&gt;
 |                         &amp;lt;!-- Hier Tutanden für FR2516 eintragen--&amp;gt;&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tabellen für jeden Tag duplizieren.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Orga-Raum:&#039;&#039;&#039; FR5535&lt;br /&gt;
&lt;br /&gt;
== Abwesenheiten ==&lt;br /&gt;
* Zeiträume in denen Tutoren aus diversen Gründen vorraussichtlich nicht anwesend sein können werden hier aufgelistet (Es geht um mehrstündige Abwesenheit, nicht um früher gehen oder Mittagspäuschen ;) )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kommunikation ==&lt;br /&gt;
&lt;br /&gt;
Zur Kommunikation während der Tutorien stehen uns mehrere Medien zur Verfügung (siehe unten). Diese wird nötig sein, um z.B. auf (gefixte) Bugs in Aufgabenstellungen aufmerksam zu machen. (!)&lt;br /&gt;
Solche &amp;quot;Broadcast&amp;quot;-Nachrichten sollten über die Mailingliste ( siehe unten) gehen. Andere Kommunikation, wie z.B. wenn man Mal auf eine Frage keine Antwort weiss und einen anderen Tutor fragen will, könnte übers IRC gehen.&lt;br /&gt;
Auch der Weg zu Fuß in einen anderen Raum um dort zu fragen, sollte natürlich nicht ausgeschlossen werden ;-)&lt;br /&gt;
&lt;br /&gt;
=== Mailingliste ===&lt;br /&gt;
* javakurs-vl at lists.freitagsrunde.org&lt;br /&gt;
* javakurs-tut at lists.freitagsrunde.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== IRC ===&lt;br /&gt;
* Server: irc.freenode.net  [http://freenode.net/irc_servers.shtml mehr Server...]&lt;br /&gt;
* Channel: #freitagsrunde&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
* Nachbesprechung täglich 16.15 im Freitagsrundenraum ([[FR 5046]]).&lt;br /&gt;
* [http://docs.freitagsrunde.org/Veranstaltungen/javakurs_2007/orga/Bsp_Stunden.JPG Beispiel-Abrechnung] für Kursveranstalter/Tutoren&lt;br /&gt;
&lt;br /&gt;
== Review von Aufgaben ==&lt;br /&gt;
&lt;br /&gt;
# [[Javakurs2007/Von der Console zum HelloWorld | Vom Arbeiten mit der Konsole bis &amp;quot;Hallo Welt&amp;quot;]]&lt;br /&gt;
# [[Javakurs2007/Variablen_und_Zuweisungen | Variablen und Zuweisungen]]&lt;br /&gt;
# [[Javakurs2007/Cowsay | Cowsay oder &amp;quot;Wie macht die Kuh?&amp;quot;]]&lt;br /&gt;
# [[Javakurs2007/Kassenbon | Erstellen eines Kassenbons]] (Daniel K)&lt;br /&gt;
# [[Javakurs2007/Javamenue | Ein eigenes Menü]] (Daniel K)&lt;br /&gt;
# [[Javakurs2007/Glücksspiel | Glücksspiel]] (Daniel K)&lt;br /&gt;
# [[Javakurs2007/Arrays | Quickies Arrays]] (Daniel K)&lt;br /&gt;
# [[Javakurs2007/Verschachtelte_Schleifen | Verschachtelte Schleifen]]&lt;br /&gt;
# [[Javakurs2007/Primzahlenaufgabe | Primzahlen]] (Björn L.)&lt;br /&gt;
# [[Javakurs2007/Wetterstation | Wetterstation]] (Daniel K)&lt;br /&gt;
# [[Javakurs2007/Geometrie | Geometrie]]&lt;br /&gt;
# [[Javakurs2007/Zweierpotenzen | Zweierpotenzen]]&lt;br /&gt;
# [[Javakurs2007/Schleifen_und_Modulo | Schleifen und Modulo]] (Björn L.)&lt;br /&gt;
# [[Javakurs2007/Methoden | Quickies zu Methoden]]&lt;br /&gt;
# [[Javakurs2007/MathematischeMethoden | Eigene Methoden]]&lt;br /&gt;
# [[Javakurs2007/Schaltjahr | Schaltjahr]] Nadim&lt;br /&gt;
# [[Javakurs2007/Crack_the_Password | Crack the Password]] (Daniel K)&lt;br /&gt;
# [[Javakurs2007/Rekursion_vs._Iteration | Rekursion vs. Iteration]]&lt;br /&gt;
# [[Javakurs2007/Lineare_Funktionen | Lineare Funktionen]]&lt;br /&gt;
# [[Javakurs2007/Fibonacci | Fibonaccizahlen]] Alex&lt;br /&gt;
# [[Javakurs2007/Brainfuck | Brainfuck vs Turingmaschine]] (Daniel K)&lt;br /&gt;
# [[Javakurs2007/Gau%C3%9F-Algorithmus | Gauß-Algorithmus]] Alex&lt;br /&gt;
# [[Javakurs2007/Zahlenumrechner | Zahlenumrechner]]&lt;br /&gt;
# [[Javakurs 2007/Democracy | Der Fehler im System]] (Björn L.)&lt;br /&gt;
# [[Javakurs2007/Quersumme | Spaß mit Quersummen]] Nadim&lt;br /&gt;
# [[Javakurs2007/Appleman | Appleman und Fraktale]]&lt;br /&gt;
# [[Javakurs2007/DiffusionLimitedAggregation | Diffusion Limited Aggregation]]&lt;br /&gt;
# [[Javakurs2007/Palindrome | Palindrome]] Nadim&lt;br /&gt;
# [[Javakurs2007/Hangman | Hangman]] Alex&lt;br /&gt;
# [[Javakurs2007/SelectionSort | Selection Sort]]&lt;br /&gt;
# [[Javakurs2007/Cäsar-Chiffre | Chiffrierung/Dechiffrierung (Cäsar)]]&lt;br /&gt;
# [[Javakurs2007/Abzaehlspiel | Abzählspiel]]&lt;br /&gt;
# [[Javakurs2006/Rennschnecke | Schneckenrennen]] (Daniel K)&lt;br /&gt;
# [[Javakurs2007/Studentendatenbank_LE5 | Studentendatenbank]]&lt;br /&gt;
# [[Javakurs2007/Multiarray| Mehrdimensionale Arrays]]&lt;br /&gt;
# [[Javakurs2007/Canvas | Virtuelles Canvas mit 3D-Objekten]]&lt;br /&gt;
# [[Javakurs2007/Doom | ASCII DOOM ]]&lt;br /&gt;
# [[Javakurs2007/Textwordcount | Texte lesen und analysieren]] (Daniel K)&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Javakurs/%C3%9Cbungsaufgaben/Textwordcount&amp;diff=9341</id>
		<title>Javakurs/Übungsaufgaben/Textwordcount</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Javakurs/%C3%9Cbungsaufgaben/Textwordcount&amp;diff=9341"/>
		<updated>2008-04-05T17:43:26Z</updated>

		<summary type="html">&lt;p&gt;Dank: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Aufgabe ===&lt;br /&gt;
&lt;br /&gt;
In dieser Aufgabe sollen verschiedene Texte von [[wikipedia:Johann Wolfgang von Goethe|Johann Wolfgang von Goethe]] mit Texten von [[wikipedia:Karl May|Karl May]] verglichen werden.&lt;br /&gt;
Der Vergleich soll mit Hilfe eines Programms geschehen, welches in Java zu schreiben ist und welches für einen bestimmten Text ausgibt:&lt;br /&gt;
* aus wievielen Wörtern der Text besteht&lt;br /&gt;
* welches die 20 Wörter sind, die am häufigsten verwendet wurden&lt;br /&gt;
* wie viele unterschiedliche Wörter benutzt wurden&lt;br /&gt;
&lt;br /&gt;
=== Hinweise ===&lt;br /&gt;
&lt;br /&gt;
* Testet euer Programm erst mit selbstgeschrieben Texten, lasst dann die Texte der genannten Autoren durchlaufen.&lt;br /&gt;
* Die zu vergleichenden Texte müssen natürlich runtergeladen werden. Ihr findet Texte dieser Autoren unter Wikisource:&lt;br /&gt;
** http://de.wikisource.org/wiki/Goethe&lt;br /&gt;
** http://de.wikisource.org/wiki/Karl_May&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das Einlesen von Dateien gestaltet sich in Java etwas komplizierter. Wir haben euch aus diesem Grunde hier, ähnlich wie bei der Terminaleingabe, eine Bibliotheksklasse gebaut, die euch ein wenig Arbeit abnimmt.&lt;br /&gt;
&lt;br /&gt;
[http://docs.freitagsrunde.org/Veranstaltungen/javakurs_2007/vorgaben/EasyFileAccess.java http://docs.freitagsrunde.org/Veranstaltungen/javakurs_2007/vorgaben/EasyFileAccess.java]&lt;br /&gt;
&lt;br /&gt;
Mit Hilfe der Funktion getFileContent(String filename) könnt ihr so den Inhalt einer kompletten Datei in ein String-Array lesen, wobei ein Feld im Array jeweils eine Zeile im Text darstellt:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   String[] textContent = EasyFileAccess.getFileContent(&amp;quot;Dateipfad&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kommentare ==&lt;br /&gt;
Wenn du Anmerkungen zur Aufgabe hast oder Lob und Kritik loswerden möchtest, ist hier die richtige Stelle dafür. Klicke einfach ganz rechts auf &amp;quot;bearbeiten&amp;quot; und schreibe deinen Kommentar direkt ins Wiki. Keine Scheu, es geht nichts kaputt ;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Als kleine Starthilfe folgt ein Beispiel, wie so ein Kommentar formatiert sein könnte. Mit &amp;quot;Vorschau zeigen&amp;quot; kannst du dir ansehen, was deine Änderung bewirken würde, ohne wirklich etwas zu ändern.&lt;br /&gt;
Du musst übrigens außerhalb dieses auskommentieren Bereichs schreiben ;)&lt;br /&gt;
&lt;br /&gt;
==== Robert ====&lt;br /&gt;
Na mal schauen, ob irgendjemand diese Funktion wirklich benutzt. Ich fände es jedenfalls toll.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Javakurs2008/Tutorenportal&amp;diff=10803</id>
		<title>Javakurs2008/Tutorenportal</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Javakurs2008/Tutorenportal&amp;diff=10803"/>
		<updated>2008-04-05T17:39:21Z</updated>

		<summary type="html">&lt;p&gt;Dank: /* Review von Aufgaben */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links ==&lt;br /&gt;
&lt;br /&gt;
* [[Javakurs2008]]&lt;br /&gt;
* [[Javakurs2008/Orga]]&lt;br /&gt;
* [[Javakurs2008/Gliederung_Javakurs_2008]]&lt;br /&gt;
* [[Javakurs2008/%C3%9Cbungspool]]&lt;br /&gt;
&lt;br /&gt;
== Raumauslastung + Tutorenverteilung ==&lt;br /&gt;
Die Auslastung der Räume mit Tutanden wird dynamisch von den jeweiligen Tutoren eingetragen, um ein &amp;quot;load balancing&amp;quot; von Tutanden zu ermöglichen.&lt;br /&gt;
&lt;br /&gt;
Eine Hilfe zum Eintragen der Raumauslastung steht im Quelltext der Tabelle.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rote Zeilen bedeuten dass hier die eine Umverteilung statt finden sollte ....&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Montag:&#039;&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;2&amp;quot;&lt;br /&gt;
 |- bgcolor=&amp;quot;#D8D8D8&amp;quot;&lt;br /&gt;
 ! Raum&lt;br /&gt;
 ! Tutoren&lt;br /&gt;
 ! Tut#&lt;br /&gt;
 ! Plätze&lt;br /&gt;
 ! Motto&lt;br /&gt;
 ! Tutanden anwesend&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#FFE8E8&amp;quot;&lt;br /&gt;
 | MA241&lt;br /&gt;
 | Sebastian D&lt;br /&gt;
 | 3&lt;br /&gt;
 | ~40&lt;br /&gt;
 | &#039;&#039;&#039;UNIX POOL&#039;&#039;&#039;&lt;br /&gt;
 |                     &amp;lt;!-- Hier Tutanden für FR2516 eintragen--&amp;gt;&lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#FFE8E8&amp;quot;&lt;br /&gt;
 | FR2516&lt;br /&gt;
 | Reiner&lt;br /&gt;
 | 3&lt;br /&gt;
 | ~25&lt;br /&gt;
 | &#039;&#039;&#039;Notebookraum A&#039;&#039;&#039;&lt;br /&gt;
 |                     &amp;lt;!-- Hier Tutanden für FR2516 eintragen--&amp;gt;&lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | FR2517&lt;br /&gt;
 | Björn L., Michael&lt;br /&gt;
 | 2&lt;br /&gt;
 | 12&lt;br /&gt;
 |&lt;br /&gt;
 |                     &amp;lt;!-- Hier Tutanden für FR2517 eintragen--&amp;gt;&lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | FR5083&lt;br /&gt;
 | Florian&lt;br /&gt;
 | 1&lt;br /&gt;
 | 6&lt;br /&gt;
 |&lt;br /&gt;
 |                     &amp;lt;!-- Hier Tutanden für FR2516 eintragen--&amp;gt;&lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#FFE8E8&amp;quot;&lt;br /&gt;
 | FR5087&lt;br /&gt;
 | Martin Z., Gert&lt;br /&gt;
 | 2-3&lt;br /&gt;
 | ~15&lt;br /&gt;
 | &#039;&#039;&#039;Notebookraum B&#039;&#039;&#039;&lt;br /&gt;
 |                     &amp;lt;!-- Hier Tutanden für 5087 eintragen--&amp;gt;&lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | FR5535&lt;br /&gt;
 | Felix, Milan, Dan&lt;br /&gt;
 | 3&lt;br /&gt;
 | 14&lt;br /&gt;
 | Sprache: Englisch, Deutsch; &#039;&#039;&#039;Zentrale für eventuelle Probleme und Kommunikation&#039;&#039;&#039;&lt;br /&gt;
 |                          &amp;lt;!-- Hier Tutanden für FR5535 eintragen--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | FR5538&lt;br /&gt;
 | Daniel, Katrin&lt;br /&gt;
 | 2&lt;br /&gt;
 | 12&lt;br /&gt;
 | Eisentölpel &lt;br /&gt;
 |                          &amp;lt;!-- Hier Tutanden für FR5538 eintragen--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | FR5539&lt;br /&gt;
 | Kai, Nadim&lt;br /&gt;
 | 2&lt;br /&gt;
 | 12&lt;br /&gt;
 | (C)Ulli&lt;br /&gt;
 |                          &amp;lt;!-- Hier Tutanden für FR5539 eintragen--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | FR6514&lt;br /&gt;
 | Mario, Rbubert&lt;br /&gt;
 | 2&lt;br /&gt;
 | 13&lt;br /&gt;
 | Emerge The Gimp. But the Gimp&#039;s Masked! Well, ACCEPT_KEYWORD....&lt;br /&gt;
 |                          &amp;lt;!-- Hier Tutanden für FR5514 eintragen--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | &amp;lt;strike&amp;gt;FR2516&amp;lt;/strike&amp;gt;&lt;br /&gt;
 | &amp;lt;strike&amp;gt;Alex, Björn B.&amp;lt;/strike&amp;gt;&lt;br /&gt;
 | &amp;lt;strike&amp;gt;3&amp;lt;/strike&amp;gt;&lt;br /&gt;
 | &amp;lt;strike&amp;gt;18&amp;lt;/strike&amp;gt;&lt;br /&gt;
 |&lt;br /&gt;
 |                         &amp;lt;!-- Hier Tutanden für FR2516 eintragen--&amp;gt;&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tabellen für jeden Tag duplizieren.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Orga-Raum:&#039;&#039;&#039; FR5535&lt;br /&gt;
&lt;br /&gt;
== Abwesenheiten ==&lt;br /&gt;
* Zeiträume in denen Tutoren aus diversen Gründen vorraussichtlich nicht anwesend sein können werden hier aufgelistet (Es geht um mehrstündige Abwesenheit, nicht um früher gehen oder Mittagspäuschen ;) )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kommunikation ==&lt;br /&gt;
&lt;br /&gt;
Zur Kommunikation während der Tutorien stehen uns mehrere Medien zur Verfügung (siehe unten). Diese wird nötig sein, um z.B. auf (gefixte) Bugs in Aufgabenstellungen aufmerksam zu machen. (!)&lt;br /&gt;
Solche &amp;quot;Broadcast&amp;quot;-Nachrichten sollten über die Mailingliste ( siehe unten) gehen. Andere Kommunikation, wie z.B. wenn man Mal auf eine Frage keine Antwort weiss und einen anderen Tutor fragen will, könnte übers IRC gehen.&lt;br /&gt;
Auch der Weg zu Fuß in einen anderen Raum um dort zu fragen, sollte natürlich nicht ausgeschlossen werden ;-)&lt;br /&gt;
&lt;br /&gt;
=== Mailingliste ===&lt;br /&gt;
* javakurs-vl at lists.freitagsrunde.org&lt;br /&gt;
* javakurs-tut at lists.freitagsrunde.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== IRC ===&lt;br /&gt;
* Server: irc.freenode.net  [http://freenode.net/irc_servers.shtml mehr Server...]&lt;br /&gt;
* Channel: #freitagsrunde&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
* Nachbesprechung täglich 16.15 im Freitagsrundenraum ([[FR 5046]]).&lt;br /&gt;
* [http://docs.freitagsrunde.org/Veranstaltungen/javakurs_2007/orga/Bsp_Stunden.JPG Beispiel-Abrechnung] für Kursveranstalter/Tutoren&lt;br /&gt;
&lt;br /&gt;
== Review von Aufgaben ==&lt;br /&gt;
&lt;br /&gt;
# [[Javakurs2007/Von der Console zum HelloWorld | Vom Arbeiten mit der Konsole bis &amp;quot;Hallo Welt&amp;quot;]]&lt;br /&gt;
# [[Javakurs2007/Variablen_und_Zuweisungen | Variablen und Zuweisungen]]&lt;br /&gt;
# [[Javakurs2007/Cowsay | Cowsay oder &amp;quot;Wie macht die Kuh?&amp;quot;]]&lt;br /&gt;
# [[Javakurs2007/Kassenbon | Erstellen eines Kassenbons]] (Daniel K)&lt;br /&gt;
# [[Javakurs2007/Javamenue | Ein eigenes Menü]] (Daniel K)&lt;br /&gt;
# [[Javakurs2007/Glücksspiel | Glücksspiel]] (Daniel K)&lt;br /&gt;
# [[Javakurs2007/Arrays | Quickies Arrays]] (Daniel K)&lt;br /&gt;
# [[Javakurs2007/Verschachtelte_Schleifen | Verschachtelte Schleifen]]&lt;br /&gt;
# [[Javakurs2007/Primzahlenaufgabe | Primzahlen]] (Björn L.)&lt;br /&gt;
# [[Javakurs2007/Wetterstation | Wetterstation]] (Daniel K)&lt;br /&gt;
# [[Javakurs2007/Geometrie | Geometrie]]&lt;br /&gt;
# [[Javakurs2007/Zweierpotenzen | Zweierpotenzen]]&lt;br /&gt;
# [[Javakurs2007/Schleifen_und_Modulo | Schleifen und Modulo]] (Björn L.)&lt;br /&gt;
# [[Javakurs2007/Methoden | Quickies zu Methoden]]&lt;br /&gt;
# [[Javakurs2007/MathematischeMethoden | Eigene Methoden]]&lt;br /&gt;
# [[Javakurs2007/Schaltjahr | Schaltjahr]] Nadim&lt;br /&gt;
# [[Javakurs2007/Crack_the_Password | Crack the Password]] (Daniel K)&lt;br /&gt;
# [[Javakurs2007/Rekursion_vs._Iteration | Rekursion vs. Iteration]]&lt;br /&gt;
# [[Javakurs2007/Lineare_Funktionen | Lineare Funktionen]]&lt;br /&gt;
# [[Javakurs2007/Fibonacci | Fibonaccizahlen]] Alex&lt;br /&gt;
# [[Javakurs2007/Brainfuck | Brainfuck vs Turingmaschine]] (Daniel K)&lt;br /&gt;
# [[Javakurs2007/Gau%C3%9F-Algorithmus | Gauß-Algorithmus]] Alex&lt;br /&gt;
# [[Javakurs2007/Zahlenumrechner | Zahlenumrechner]]&lt;br /&gt;
# [[Javakurs 2007/Democracy | Der Fehler im System]] (Björn L.)&lt;br /&gt;
# [[Javakurs2007/Quersumme | Spaß mit Quersummen]] Nadim&lt;br /&gt;
# [[Javakurs2007/Appleman | Appleman und Fraktale]]&lt;br /&gt;
# [[Javakurs2007/DiffusionLimitedAggregation | Diffusion Limited Aggregation]]&lt;br /&gt;
# [[Javakurs2007/Palindrome | Palindrome]] Nadim&lt;br /&gt;
# [[Javakurs2007/Hangman | Hangman]] Alex&lt;br /&gt;
# [[Javakurs2007/SelectionSort | Selection Sort]]&lt;br /&gt;
# [[Javakurs2007/Cäsar-Chiffre | Chiffrierung/Dechiffrierung (Cäsar)]]&lt;br /&gt;
# [[Javakurs2007/Abzaehlspiel | Abzählspiel]]&lt;br /&gt;
# [[Javakurs2006/Rennschnecke | Schneckenrennen]] (Daniel K)&lt;br /&gt;
# [[Javakurs2007/Studentendatenbank_LE5 | Studentendatenbank]]&lt;br /&gt;
# [[Javakurs2007/Multiarray| Mehrdimensionale Arrays]]&lt;br /&gt;
# [[Javakurs2007/Canvas | Virtuelles Canvas mit 3D-Objekten]]&lt;br /&gt;
# [[Javakurs2007/Doom | ASCII DOOM ]]&lt;br /&gt;
# [[Javakurs2007/Textwordcount | Texte lesen und analysieren]]&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Javakurs/%C3%9Cbungsaufgaben/Javamenue&amp;diff=9363</id>
		<title>Javakurs/Übungsaufgaben/Javamenue</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Javakurs/%C3%9Cbungsaufgaben/Javamenue&amp;diff=9363"/>
		<updated>2008-04-05T17:38:39Z</updated>

		<summary type="html">&lt;p&gt;Dank: /* Kommentare */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Handwerkszeug ===&lt;br /&gt;
In vielen deiner Javaprogramme wirst du vom Benutzer eine Eingabe per Tastatur erfragen wollen.&lt;br /&gt;
Da sich in Java das Lesen von Tastatureingaben normalerweise etwas umständlich gestaltet, haben wir dir an dieser Stelle etwas zur Erleichterung vorbereitet.&lt;br /&gt;
&lt;br /&gt;
* kopiere die Datei [http://uebb.cs.tu-berlin.de/books/java/klassen/Terminal.java Terminal.java] in Dein Arbeitsverzeichnis.&lt;br /&gt;
&lt;br /&gt;
Solange diese Datei in demselben Verzeichnis liegt, wie die java-Datei, an der Du arbeitest, stehen Dir einige Befehle zur Verfügung, die das Lesen von Tastatureingaben stark erleichtern. Wenn dich interessiert, warum das so ist, so erfährst du es [[Javakurs2007/Terminal | hier]].&lt;br /&gt;
&lt;br /&gt;
Falls das nicht funktioniert, ist der sogenannte CLASSPATH falsch gesetzt.&lt;br /&gt;
Gibt dazu in dem Terminal direkt nach dem Öffnen des Terminals folgendes Kommando ein: &lt;br /&gt;
  &lt;br /&gt;
 CLASSPATH=&amp;quot;.:$CLASSPATH&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zurück zum Thema: Einer dieser Befehle lautet &amp;quot;Terminal.readString()&amp;quot;. Er liest eine Tastatureingabe bis zum nächsten Zeilenumbruch von der Konsole und liefert ihn als String zurück.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
 // Einlesen einer Tastatureingabe bis zum nächsten Zeilenumbruch in die Variable &amp;quot;eingegebeneTextzeile&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 String eingegebeneTextzeile;&lt;br /&gt;
 eingegebeneTextzeile = Terminal.readString();&lt;br /&gt;
&lt;br /&gt;
=== Erste Konsolenabfrage ===&lt;br /&gt;
Probieren wir das ganze einmal aus.&lt;br /&gt;
&lt;br /&gt;
* Frage auf der Konsole nach dem Namen des Benutzers.&lt;br /&gt;
* speichere seine Eingabe mit Hilfe von &amp;quot;Terminal.readString()&amp;quot;.&lt;br /&gt;
* Begrüße den Benutzer mit seinem Namen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Menü mit Zahlen ===&lt;br /&gt;
Schonmal nicht schlecht. Nun zum interessanten Teil.&lt;br /&gt;
Ein weiterer Befehl zur Vereinfachung der Konsolenbenutzung lautet Terminal.readInt(). Er liest eine Zahl von der Konsole und gibt sie als int zurück.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
 // Einlesen einer Zahl per Tastatureingabe in die Variable &amp;quot;eingegebeneZahl&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 int eingegebeneZahl;&lt;br /&gt;
 eingegebeneZahl = Terminal.readInt();&lt;br /&gt;
&lt;br /&gt;
* Frage auf der Konsole, ob der Benutzer: &lt;br /&gt;
: 1) eine Frau ist.&lt;br /&gt;
: 2) ein Mann ist.&lt;br /&gt;
: 3) die Frage nicht beantworten möchte.&lt;br /&gt;
&lt;br /&gt;
* Begrüße den Benutzer abhängig von seiner Eingabe mit &amp;quot;Herr&amp;quot;, &amp;quot;Frau&amp;quot; oder geschlechtslos.&lt;br /&gt;
* Zeige eine Fehlermeldung an, wenn eine andere Zahl als 1,2 oder 3 eingegeben wird.&lt;br /&gt;
&lt;br /&gt;
=== Tipps ===&lt;br /&gt;
Einen Text auf der Konsole ausgeben:&lt;br /&gt;
 System.out.println(&amp;quot;text&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
Den Programmfluss abhängig vom Wahrheitsgehalt einer Bedingung lenken:&lt;br /&gt;
 &#039;&#039;&#039;if&#039;&#039;&#039; (bedingung) {&lt;br /&gt;
  fall1&lt;br /&gt;
 }&lt;br /&gt;
 &#039;&#039;&#039;else&#039;&#039;&#039; {&lt;br /&gt;
  fall2&lt;br /&gt;
 } &lt;br /&gt;
&lt;br /&gt;
Zwei Bedingungen logisch miteinander verknüpfen:&lt;br /&gt;
 &#039;&#039;&#039;if&#039;&#039;&#039; (bedingung1 &amp;amp;&amp;amp; bedingung2) {...} // Logisches Und&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;if&#039;&#039;&#039; (bedingung1 || bedingung2) {...} // logisches Oder&lt;br /&gt;
&lt;br /&gt;
== Kommentare ==&lt;br /&gt;
Wenn du Anmerkungen zur Aufgabe hast oder Lob und Kritik loswerden möchtest, ist hier die richtige Stelle dafür. Klicke einfach ganz rechts auf &amp;quot;bearbeiten&amp;quot; und schreibe deinen Kommentar direkt ins Wiki. Keine Scheu, es geht nichts kaputt ;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Als kleine Starthilfe folgt ein Beispiel, wie so ein Kommentar formatiert sein könnte. Mit &amp;quot;Vorschau zeigen&amp;quot; kannst du dir ansehen, was deine Änderung bewirken würde, ohne wirklich etwas zu ändern.&lt;br /&gt;
Du musst übrigens außerhalb dieses auskommentieren Bereichs schreiben ;)&lt;br /&gt;
&lt;br /&gt;
==== Robert ====&lt;br /&gt;
Na mal schauen, ob irgendjemand diese Funktion wirklich benutzt. Ich fände es jedenfalls toll.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Javakurs2008/Tutorenportal&amp;diff=10802</id>
		<title>Javakurs2008/Tutorenportal</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Javakurs2008/Tutorenportal&amp;diff=10802"/>
		<updated>2008-04-05T17:34:30Z</updated>

		<summary type="html">&lt;p&gt;Dank: /* Review von Aufgaben */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links ==&lt;br /&gt;
&lt;br /&gt;
* [[Javakurs2008]]&lt;br /&gt;
* [[Javakurs2008/Orga]]&lt;br /&gt;
* [[Javakurs2008/Gliederung_Javakurs_2008]]&lt;br /&gt;
* [[Javakurs2008/%C3%9Cbungspool]]&lt;br /&gt;
&lt;br /&gt;
== Raumauslastung + Tutorenverteilung ==&lt;br /&gt;
Die Auslastung der Räume mit Tutanden wird dynamisch von den jeweiligen Tutoren eingetragen, um ein &amp;quot;load balancing&amp;quot; von Tutanden zu ermöglichen.&lt;br /&gt;
&lt;br /&gt;
Eine Hilfe zum Eintragen der Raumauslastung steht im Quelltext der Tabelle.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rote Zeilen bedeuten dass hier die eine Umverteilung statt finden sollte ....&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Montag:&#039;&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;2&amp;quot;&lt;br /&gt;
 |- bgcolor=&amp;quot;#D8D8D8&amp;quot;&lt;br /&gt;
 ! Raum&lt;br /&gt;
 ! Tutoren&lt;br /&gt;
 ! Tut#&lt;br /&gt;
 ! Plätze&lt;br /&gt;
 ! Motto&lt;br /&gt;
 ! Tutanden anwesend&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#FFE8E8&amp;quot;&lt;br /&gt;
 | MA241&lt;br /&gt;
 | Sebastian D&lt;br /&gt;
 | 3&lt;br /&gt;
 | ~40&lt;br /&gt;
 | &#039;&#039;&#039;UNIX POOL&#039;&#039;&#039;&lt;br /&gt;
 |                     &amp;lt;!-- Hier Tutanden für FR2516 eintragen--&amp;gt;&lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#FFE8E8&amp;quot;&lt;br /&gt;
 | FR2516&lt;br /&gt;
 | Reiner&lt;br /&gt;
 | 3&lt;br /&gt;
 | ~25&lt;br /&gt;
 | &#039;&#039;&#039;Notebookraum A&#039;&#039;&#039;&lt;br /&gt;
 |                     &amp;lt;!-- Hier Tutanden für FR2516 eintragen--&amp;gt;&lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | FR2517&lt;br /&gt;
 | Björn L., Michael&lt;br /&gt;
 | 2&lt;br /&gt;
 | 12&lt;br /&gt;
 |&lt;br /&gt;
 |                     &amp;lt;!-- Hier Tutanden für FR2517 eintragen--&amp;gt;&lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | FR5083&lt;br /&gt;
 | Florian&lt;br /&gt;
 | 1&lt;br /&gt;
 | 6&lt;br /&gt;
 |&lt;br /&gt;
 |                     &amp;lt;!-- Hier Tutanden für FR2516 eintragen--&amp;gt;&lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#FFE8E8&amp;quot;&lt;br /&gt;
 | FR5087&lt;br /&gt;
 | Martin Z., Gert&lt;br /&gt;
 | 2-3&lt;br /&gt;
 | ~15&lt;br /&gt;
 | &#039;&#039;&#039;Notebookraum B&#039;&#039;&#039;&lt;br /&gt;
 |                     &amp;lt;!-- Hier Tutanden für 5087 eintragen--&amp;gt;&lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | FR5535&lt;br /&gt;
 | Felix, Milan, Dan&lt;br /&gt;
 | 3&lt;br /&gt;
 | 14&lt;br /&gt;
 | Sprache: Englisch, Deutsch; &#039;&#039;&#039;Zentrale für eventuelle Probleme und Kommunikation&#039;&#039;&#039;&lt;br /&gt;
 |                          &amp;lt;!-- Hier Tutanden für FR5535 eintragen--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | FR5538&lt;br /&gt;
 | Daniel, Katrin&lt;br /&gt;
 | 2&lt;br /&gt;
 | 12&lt;br /&gt;
 | Eisentölpel &lt;br /&gt;
 |                          &amp;lt;!-- Hier Tutanden für FR5538 eintragen--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | FR5539&lt;br /&gt;
 | Kai, Nadim&lt;br /&gt;
 | 2&lt;br /&gt;
 | 12&lt;br /&gt;
 | (C)Ulli&lt;br /&gt;
 |                          &amp;lt;!-- Hier Tutanden für FR5539 eintragen--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | FR6514&lt;br /&gt;
 | Mario, Rbubert&lt;br /&gt;
 | 2&lt;br /&gt;
 | 13&lt;br /&gt;
 | Emerge The Gimp. But the Gimp&#039;s Masked! Well, ACCEPT_KEYWORD....&lt;br /&gt;
 |                          &amp;lt;!-- Hier Tutanden für FR5514 eintragen--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | &amp;lt;strike&amp;gt;FR2516&amp;lt;/strike&amp;gt;&lt;br /&gt;
 | &amp;lt;strike&amp;gt;Alex, Björn B.&amp;lt;/strike&amp;gt;&lt;br /&gt;
 | &amp;lt;strike&amp;gt;3&amp;lt;/strike&amp;gt;&lt;br /&gt;
 | &amp;lt;strike&amp;gt;18&amp;lt;/strike&amp;gt;&lt;br /&gt;
 |&lt;br /&gt;
 |                         &amp;lt;!-- Hier Tutanden für FR2516 eintragen--&amp;gt;&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tabellen für jeden Tag duplizieren.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Orga-Raum:&#039;&#039;&#039; FR5535&lt;br /&gt;
&lt;br /&gt;
== Abwesenheiten ==&lt;br /&gt;
* Zeiträume in denen Tutoren aus diversen Gründen vorraussichtlich nicht anwesend sein können werden hier aufgelistet (Es geht um mehrstündige Abwesenheit, nicht um früher gehen oder Mittagspäuschen ;) )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kommunikation ==&lt;br /&gt;
&lt;br /&gt;
Zur Kommunikation während der Tutorien stehen uns mehrere Medien zur Verfügung (siehe unten). Diese wird nötig sein, um z.B. auf (gefixte) Bugs in Aufgabenstellungen aufmerksam zu machen. (!)&lt;br /&gt;
Solche &amp;quot;Broadcast&amp;quot;-Nachrichten sollten über die Mailingliste ( siehe unten) gehen. Andere Kommunikation, wie z.B. wenn man Mal auf eine Frage keine Antwort weiss und einen anderen Tutor fragen will, könnte übers IRC gehen.&lt;br /&gt;
Auch der Weg zu Fuß in einen anderen Raum um dort zu fragen, sollte natürlich nicht ausgeschlossen werden ;-)&lt;br /&gt;
&lt;br /&gt;
=== Mailingliste ===&lt;br /&gt;
* javakurs-vl at lists.freitagsrunde.org&lt;br /&gt;
* javakurs-tut at lists.freitagsrunde.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== IRC ===&lt;br /&gt;
* Server: irc.freenode.net  [http://freenode.net/irc_servers.shtml mehr Server...]&lt;br /&gt;
* Channel: #freitagsrunde&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
* Nachbesprechung täglich 16.15 im Freitagsrundenraum ([[FR 5046]]).&lt;br /&gt;
* [http://docs.freitagsrunde.org/Veranstaltungen/javakurs_2007/orga/Bsp_Stunden.JPG Beispiel-Abrechnung] für Kursveranstalter/Tutoren&lt;br /&gt;
&lt;br /&gt;
== Review von Aufgaben ==&lt;br /&gt;
&lt;br /&gt;
# [[Javakurs2007/Von der Console zum HelloWorld | Vom Arbeiten mit der Konsole bis &amp;quot;Hallo Welt&amp;quot;]]&lt;br /&gt;
# [[Javakurs2007/Variablen_und_Zuweisungen | Variablen und Zuweisungen]]&lt;br /&gt;
# [[Javakurs2007/Cowsay | Cowsay oder &amp;quot;Wie macht die Kuh?&amp;quot;]]&lt;br /&gt;
# [[Javakurs2007/Kassenbon | Erstellen eines Kassenbons]] (Daniel K)&lt;br /&gt;
# [[Javakurs2007/Javamenue | Ein eigenes Menü]]&lt;br /&gt;
# [[Javakurs2007/Glücksspiel | Glücksspiel]] (Daniel K)&lt;br /&gt;
# [[Javakurs2007/Arrays | Quickies Arrays]] (Daniel K)&lt;br /&gt;
# [[Javakurs2007/Verschachtelte_Schleifen | Verschachtelte Schleifen]]&lt;br /&gt;
# [[Javakurs2007/Primzahlenaufgabe | Primzahlen]] (Björn L.)&lt;br /&gt;
# [[Javakurs2007/Wetterstation | Wetterstation]] (Daniel K)&lt;br /&gt;
# [[Javakurs2007/Geometrie | Geometrie]]&lt;br /&gt;
# [[Javakurs2007/Zweierpotenzen | Zweierpotenzen]]&lt;br /&gt;
# [[Javakurs2007/Schleifen_und_Modulo | Schleifen und Modulo]] (Björn L.)&lt;br /&gt;
# [[Javakurs2007/Methoden | Quickies zu Methoden]]&lt;br /&gt;
# [[Javakurs2007/MathematischeMethoden | Eigene Methoden]]&lt;br /&gt;
# [[Javakurs2007/Schaltjahr | Schaltjahr]] Nadim&lt;br /&gt;
# [[Javakurs2007/Crack_the_Password | Crack the Password]] (Daniel K)&lt;br /&gt;
# [[Javakurs2007/Rekursion_vs._Iteration | Rekursion vs. Iteration]]&lt;br /&gt;
# [[Javakurs2007/Lineare_Funktionen | Lineare Funktionen]]&lt;br /&gt;
# [[Javakurs2007/Fibonacci | Fibonaccizahlen]] Alex&lt;br /&gt;
# [[Javakurs2007/Brainfuck | Brainfuck vs Turingmaschine]] (Daniel K)&lt;br /&gt;
# [[Javakurs2007/Gau%C3%9F-Algorithmus | Gauß-Algorithmus]] Alex&lt;br /&gt;
# [[Javakurs2007/Zahlenumrechner | Zahlenumrechner]]&lt;br /&gt;
# [[Javakurs 2007/Democracy | Der Fehler im System]] (Björn L.)&lt;br /&gt;
# [[Javakurs2007/Quersumme | Spaß mit Quersummen]] Nadim&lt;br /&gt;
# [[Javakurs2007/Appleman | Appleman und Fraktale]]&lt;br /&gt;
# [[Javakurs2007/DiffusionLimitedAggregation | Diffusion Limited Aggregation]]&lt;br /&gt;
# [[Javakurs2007/Palindrome | Palindrome]] Nadim&lt;br /&gt;
# [[Javakurs2007/Hangman | Hangman]] Alex&lt;br /&gt;
# [[Javakurs2007/SelectionSort | Selection Sort]]&lt;br /&gt;
# [[Javakurs2007/Cäsar-Chiffre | Chiffrierung/Dechiffrierung (Cäsar)]]&lt;br /&gt;
# [[Javakurs2007/Abzaehlspiel | Abzählspiel]]&lt;br /&gt;
# [[Javakurs2006/Rennschnecke | Schneckenrennen]] (Daniel K)&lt;br /&gt;
# [[Javakurs2007/Studentendatenbank_LE5 | Studentendatenbank]]&lt;br /&gt;
# [[Javakurs2007/Multiarray| Mehrdimensionale Arrays]]&lt;br /&gt;
# [[Javakurs2007/Canvas | Virtuelles Canvas mit 3D-Objekten]]&lt;br /&gt;
# [[Javakurs2007/Doom | ASCII DOOM ]]&lt;br /&gt;
# [[Javakurs2007/Textwordcount | Texte lesen und analysieren]]&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Javakurs2008/Tutorenportal&amp;diff=10801</id>
		<title>Javakurs2008/Tutorenportal</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Javakurs2008/Tutorenportal&amp;diff=10801"/>
		<updated>2008-04-05T17:26:49Z</updated>

		<summary type="html">&lt;p&gt;Dank: /* Review von Aufgaben */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links ==&lt;br /&gt;
&lt;br /&gt;
* [[Javakurs2008]]&lt;br /&gt;
* [[Javakurs2008/Orga]]&lt;br /&gt;
* [[Javakurs2008/Gliederung_Javakurs_2008]]&lt;br /&gt;
* [[Javakurs2008/%C3%9Cbungspool]]&lt;br /&gt;
&lt;br /&gt;
== Raumauslastung + Tutorenverteilung ==&lt;br /&gt;
Die Auslastung der Räume mit Tutanden wird dynamisch von den jeweiligen Tutoren eingetragen, um ein &amp;quot;load balancing&amp;quot; von Tutanden zu ermöglichen.&lt;br /&gt;
&lt;br /&gt;
Eine Hilfe zum Eintragen der Raumauslastung steht im Quelltext der Tabelle.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rote Zeilen bedeuten dass hier die eine Umverteilung statt finden sollte ....&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Montag:&#039;&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;2&amp;quot;&lt;br /&gt;
 |- bgcolor=&amp;quot;#D8D8D8&amp;quot;&lt;br /&gt;
 ! Raum&lt;br /&gt;
 ! Tutoren&lt;br /&gt;
 ! Tut#&lt;br /&gt;
 ! Plätze&lt;br /&gt;
 ! Motto&lt;br /&gt;
 ! Tutanden anwesend&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#FFE8E8&amp;quot;&lt;br /&gt;
 | MA241&lt;br /&gt;
 | Sebastian D&lt;br /&gt;
 | 3&lt;br /&gt;
 | ~40&lt;br /&gt;
 | &#039;&#039;&#039;UNIX POOL&#039;&#039;&#039;&lt;br /&gt;
 |                     &amp;lt;!-- Hier Tutanden für FR2516 eintragen--&amp;gt;&lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#FFE8E8&amp;quot;&lt;br /&gt;
 | FR2516&lt;br /&gt;
 | Reiner&lt;br /&gt;
 | 3&lt;br /&gt;
 | ~25&lt;br /&gt;
 | &#039;&#039;&#039;Notebookraum A&#039;&#039;&#039;&lt;br /&gt;
 |                     &amp;lt;!-- Hier Tutanden für FR2516 eintragen--&amp;gt;&lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | FR2517&lt;br /&gt;
 | Björn L., Michael&lt;br /&gt;
 | 2&lt;br /&gt;
 | 12&lt;br /&gt;
 |&lt;br /&gt;
 |                     &amp;lt;!-- Hier Tutanden für FR2517 eintragen--&amp;gt;&lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | FR5083&lt;br /&gt;
 | Florian&lt;br /&gt;
 | 1&lt;br /&gt;
 | 6&lt;br /&gt;
 |&lt;br /&gt;
 |                     &amp;lt;!-- Hier Tutanden für FR2516 eintragen--&amp;gt;&lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#FFE8E8&amp;quot;&lt;br /&gt;
 | FR5087&lt;br /&gt;
 | Martin Z., Gert&lt;br /&gt;
 | 2-3&lt;br /&gt;
 | ~15&lt;br /&gt;
 | &#039;&#039;&#039;Notebookraum B&#039;&#039;&#039;&lt;br /&gt;
 |                     &amp;lt;!-- Hier Tutanden für 5087 eintragen--&amp;gt;&lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | FR5535&lt;br /&gt;
 | Felix, Milan, Dan&lt;br /&gt;
 | 3&lt;br /&gt;
 | 14&lt;br /&gt;
 | Sprache: Englisch, Deutsch; &#039;&#039;&#039;Zentrale für eventuelle Probleme und Kommunikation&#039;&#039;&#039;&lt;br /&gt;
 |                          &amp;lt;!-- Hier Tutanden für FR5535 eintragen--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | FR5538&lt;br /&gt;
 | Daniel, Katrin&lt;br /&gt;
 | 2&lt;br /&gt;
 | 12&lt;br /&gt;
 | Eisentölpel &lt;br /&gt;
 |                          &amp;lt;!-- Hier Tutanden für FR5538 eintragen--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | FR5539&lt;br /&gt;
 | Kai, Nadim&lt;br /&gt;
 | 2&lt;br /&gt;
 | 12&lt;br /&gt;
 | (C)Ulli&lt;br /&gt;
 |                          &amp;lt;!-- Hier Tutanden für FR5539 eintragen--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | FR6514&lt;br /&gt;
 | Mario, Rbubert&lt;br /&gt;
 | 2&lt;br /&gt;
 | 13&lt;br /&gt;
 | Emerge The Gimp. But the Gimp&#039;s Masked! Well, ACCEPT_KEYWORD....&lt;br /&gt;
 |                          &amp;lt;!-- Hier Tutanden für FR5514 eintragen--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | &amp;lt;strike&amp;gt;FR2516&amp;lt;/strike&amp;gt;&lt;br /&gt;
 | &amp;lt;strike&amp;gt;Alex, Björn B.&amp;lt;/strike&amp;gt;&lt;br /&gt;
 | &amp;lt;strike&amp;gt;3&amp;lt;/strike&amp;gt;&lt;br /&gt;
 | &amp;lt;strike&amp;gt;18&amp;lt;/strike&amp;gt;&lt;br /&gt;
 |&lt;br /&gt;
 |                         &amp;lt;!-- Hier Tutanden für FR2516 eintragen--&amp;gt;&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tabellen für jeden Tag duplizieren.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Orga-Raum:&#039;&#039;&#039; FR5535&lt;br /&gt;
&lt;br /&gt;
== Abwesenheiten ==&lt;br /&gt;
* Zeiträume in denen Tutoren aus diversen Gründen vorraussichtlich nicht anwesend sein können werden hier aufgelistet (Es geht um mehrstündige Abwesenheit, nicht um früher gehen oder Mittagspäuschen ;) )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kommunikation ==&lt;br /&gt;
&lt;br /&gt;
Zur Kommunikation während der Tutorien stehen uns mehrere Medien zur Verfügung (siehe unten). Diese wird nötig sein, um z.B. auf (gefixte) Bugs in Aufgabenstellungen aufmerksam zu machen. (!)&lt;br /&gt;
Solche &amp;quot;Broadcast&amp;quot;-Nachrichten sollten über die Mailingliste ( siehe unten) gehen. Andere Kommunikation, wie z.B. wenn man Mal auf eine Frage keine Antwort weiss und einen anderen Tutor fragen will, könnte übers IRC gehen.&lt;br /&gt;
Auch der Weg zu Fuß in einen anderen Raum um dort zu fragen, sollte natürlich nicht ausgeschlossen werden ;-)&lt;br /&gt;
&lt;br /&gt;
=== Mailingliste ===&lt;br /&gt;
* javakurs-vl at lists.freitagsrunde.org&lt;br /&gt;
* javakurs-tut at lists.freitagsrunde.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== IRC ===&lt;br /&gt;
* Server: irc.freenode.net  [http://freenode.net/irc_servers.shtml mehr Server...]&lt;br /&gt;
* Channel: #freitagsrunde&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
* Nachbesprechung täglich 16.15 im Freitagsrundenraum ([[FR 5046]]).&lt;br /&gt;
* [http://docs.freitagsrunde.org/Veranstaltungen/javakurs_2007/orga/Bsp_Stunden.JPG Beispiel-Abrechnung] für Kursveranstalter/Tutoren&lt;br /&gt;
&lt;br /&gt;
== Review von Aufgaben ==&lt;br /&gt;
&lt;br /&gt;
# [[Javakurs2007/Von der Console zum HelloWorld | Vom Arbeiten mit der Konsole bis &amp;quot;Hallo Welt&amp;quot;]]&lt;br /&gt;
# [[Javakurs2007/Variablen_und_Zuweisungen | Variablen und Zuweisungen]]&lt;br /&gt;
# [[Javakurs2007/Cowsay | Cowsay oder &amp;quot;Wie macht die Kuh?&amp;quot;]]&lt;br /&gt;
# [[Javakurs2007/Kassenbon | Erstellen eines Kassenbons]] (Daniel K)&lt;br /&gt;
# [[Javakurs2007/Javamenue | Ein eigenes Menü]]&lt;br /&gt;
# [[Javakurs2007/Glücksspiel | Glücksspiel]]&lt;br /&gt;
# [[Javakurs2007/Arrays | Quickies Arrays]] (Daniel K)&lt;br /&gt;
# [[Javakurs2007/Verschachtelte_Schleifen | Verschachtelte Schleifen]]&lt;br /&gt;
# [[Javakurs2007/Primzahlenaufgabe | Primzahlen]] (Björn L.)&lt;br /&gt;
# [[Javakurs2007/Wetterstation | Wetterstation]] (Daniel K)&lt;br /&gt;
# [[Javakurs2007/Geometrie | Geometrie]]&lt;br /&gt;
# [[Javakurs2007/Zweierpotenzen | Zweierpotenzen]]&lt;br /&gt;
# [[Javakurs2007/Schleifen_und_Modulo | Schleifen und Modulo]] (Björn L.)&lt;br /&gt;
# [[Javakurs2007/Methoden | Quickies zu Methoden]]&lt;br /&gt;
# [[Javakurs2007/MathematischeMethoden | Eigene Methoden]]&lt;br /&gt;
# [[Javakurs2007/Schaltjahr | Schaltjahr]] Nadim&lt;br /&gt;
# [[Javakurs2007/Crack_the_Password | Crack the Password]] (Daniel K)&lt;br /&gt;
# [[Javakurs2007/Rekursion_vs._Iteration | Rekursion vs. Iteration]]&lt;br /&gt;
# [[Javakurs2007/Lineare_Funktionen | Lineare Funktionen]]&lt;br /&gt;
# [[Javakurs2007/Fibonacci | Fibonaccizahlen]] Alex&lt;br /&gt;
# [[Javakurs2007/Brainfuck | Brainfuck vs Turingmaschine]] (Daniel K)&lt;br /&gt;
# [[Javakurs2007/Gau%C3%9F-Algorithmus | Gauß-Algorithmus]] Alex&lt;br /&gt;
# [[Javakurs2007/Zahlenumrechner | Zahlenumrechner]]&lt;br /&gt;
# [[Javakurs 2007/Democracy | Der Fehler im System]] (Björn L.)&lt;br /&gt;
# [[Javakurs2007/Quersumme | Spaß mit Quersummen]] Nadim&lt;br /&gt;
# [[Javakurs2007/Appleman | Appleman und Fraktale]]&lt;br /&gt;
# [[Javakurs2007/DiffusionLimitedAggregation | Diffusion Limited Aggregation]]&lt;br /&gt;
# [[Javakurs2007/Palindrome | Palindrome]] Nadim&lt;br /&gt;
# [[Javakurs2007/Hangman | Hangman]] Alex&lt;br /&gt;
# [[Javakurs2007/SelectionSort | Selection Sort]]&lt;br /&gt;
# [[Javakurs2007/Cäsar-Chiffre | Chiffrierung/Dechiffrierung (Cäsar)]]&lt;br /&gt;
# [[Javakurs2007/Abzaehlspiel | Abzählspiel]]&lt;br /&gt;
# [[Javakurs2006/Rennschnecke | Schneckenrennen]] (Daniel K)&lt;br /&gt;
# [[Javakurs2007/Studentendatenbank_LE5 | Studentendatenbank]]&lt;br /&gt;
# [[Javakurs2007/Multiarray| Mehrdimensionale Arrays]]&lt;br /&gt;
# [[Javakurs2007/Canvas | Virtuelles Canvas mit 3D-Objekten]]&lt;br /&gt;
# [[Javakurs2007/Doom | ASCII DOOM ]]&lt;br /&gt;
# [[Javakurs2007/Textwordcount | Texte lesen und analysieren]]&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Javakurs/%C3%9Cbungsaufgaben/Rennschnecke&amp;diff=7296</id>
		<title>Javakurs/Übungsaufgaben/Rennschnecke</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Javakurs/%C3%9Cbungsaufgaben/Rennschnecke&amp;diff=7296"/>
		<updated>2008-04-05T17:24:48Z</updated>

		<summary type="html">&lt;p&gt;Dank: /* Wettbüro */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Rennschnecke ==&lt;br /&gt;
#Erstelle eine Klasse &amp;quot;Rennschnecke&amp;quot;&lt;br /&gt;
#:&lt;br /&gt;
#Rennschnecken sollen folgende Eigenschaften(Objektvariablen) besitzen:&lt;br /&gt;
#* einen Namen&lt;br /&gt;
#* eine Rasse&lt;br /&gt;
#* eine Maximalgeschwindigkeit&lt;br /&gt;
#* die Schnecke soll wissen welchen Weg sie bereits zurück gelegt hat&lt;br /&gt;
#:&lt;br /&gt;
# Erstelle für die Klasse Rennschnecke einen [[Javakurs2006/Java_Kurzreferenz#Konstruktor|Konstruktor]], der den Instanzvariablen beim Erstellen einer neuen Instanz (Objekt zu dieser Klasse) Werte zuweist.&lt;br /&gt;
#:&lt;br /&gt;
#Lege in der Klasse &amp;quot;Rennschnecke&amp;quot; eine Methode &amp;quot;krieche()&amp;quot; an, welche die Schnecke abhängig von ihrer Maximalgeschwindigkeit eine zufällige Strecke weiter bewegt. Soll heißen: Sie kriecht eine zufällige Strecke größer null und kleiner ihrer Maximalgeschwindigkeit.&lt;br /&gt;
#* Tipp: Schaut euch die Methode Math.random() aus der Java API an.&lt;br /&gt;
#:&lt;br /&gt;
#Lege in der Klasse &amp;quot;Rennschnecke&amp;quot; eine Methode &amp;quot;public String toString()&amp;quot; an, welche die Daten der Schnecke mit return als String zurückgibt.&lt;br /&gt;
#:&lt;br /&gt;
# Teste deine Klasse, indem du probehalber ein Rennschneckenobjekt erzeugst und seine Daten auf der Konsole ausgibst. &lt;br /&gt;
#*Tipp:Verwende zum Ausgeben der Daten die toString() Methode der Rennschnecke.&lt;br /&gt;
#:&lt;br /&gt;
#:&lt;br /&gt;
&lt;br /&gt;
== Rennen ==&lt;br /&gt;
&lt;br /&gt;
#Erstelle eine Klasse &amp;quot;Rennen&amp;quot;&lt;br /&gt;
#:&lt;br /&gt;
#Ein Rennen hat folgende Eigenschaften:&lt;br /&gt;
#*einen Namen&lt;br /&gt;
#*die Anzahl der teilnehmenden Schnecken&lt;br /&gt;
#*die teilnemenden Schnecken selbst (z.B. in einer [[Javakurs2007/ArrayList|ArrayList]])&lt;br /&gt;
#*die Länge der zu kriechenden Strecke&lt;br /&gt;
#:&lt;br /&gt;
#Überlege dir, welche dieser Werte bereits im Konstruktor gesetzt werden sollten.&lt;br /&gt;
#:&lt;br /&gt;
#Lege in der Klasse &amp;quot;Rennen&amp;quot; eine Methode &amp;quot;void addRennschnecke(Rennschnecke neueSchnecke)&amp;quot; an, welche dem Rennen eine Schnecke hinzufügt.&lt;br /&gt;
#:&lt;br /&gt;
#Lege in der Klasse &amp;quot;Rennen&amp;quot; eine Methode &amp;quot;void removeRennschnecke(String name)&amp;quot; an, welche eine Schnecke aus dem Rennen entfernt.&lt;br /&gt;
#:&lt;br /&gt;
#Lege in der Klasse &amp;quot;Rennen&amp;quot; eine Methode &amp;quot;public String toString()&amp;quot; an, welche die Daten des Rennens mit return als String zurückgibt. &lt;br /&gt;
#*Tipp: Um die Daten der beteiligten Schnecken zurückzugeben, könnt ihr deren toString() Funktion benutzen.&lt;br /&gt;
#:&lt;br /&gt;
#Teste deine Klasse vom Hauptprogramm aus!&lt;br /&gt;
#:&lt;br /&gt;
#Lege in der Klasse &amp;quot;Rennen&amp;quot; eine Methode &amp;quot;Rennschnecke ermittleGewinner()&amp;quot; an, welche &#039;&#039;&#039;null&#039;&#039;&#039; zurückliefert, wenn noch keine der teilnemenden Schnecken das Ziel erreicht hat und anderenfalls die Gewinnerschnecke zurückgibt.&lt;br /&gt;
#:&lt;br /&gt;
#Lege in der Klasse &amp;quot;Rennen&amp;quot; eine Methode &amp;quot;void lasseSchneckenKriechen()&amp;quot; an, welche alle teilnemenden Schnecken einmal kriechen lässt.&lt;br /&gt;
#:&lt;br /&gt;
#Lege in der Klasse &amp;quot;Rennen&amp;quot; eine Methode &amp;quot;void durchfuehren()&amp;quot; an, welche so lange lasseSchneckenKriechen() aufruft, bis eine der Schnecken das Ziel erreicht hat.&lt;br /&gt;
#* Tipp: Ob eine Schnecke im Ziel angekommen ist, kannst du mit deiner Methode ermittleGewinner() herrausfinden.&lt;br /&gt;
&lt;br /&gt;
== Wettbüro ==&lt;br /&gt;
&lt;br /&gt;
#Erstelle eine Klasse Wettbuero.&lt;br /&gt;
#:&lt;br /&gt;
#:Ein Wettbuero hat die folgenden Eigenschaften:&lt;br /&gt;
#* Es weiß, für welches Rennen es seine Wetten entgegennimmt.&lt;br /&gt;
#* Es verfügt über eine Liste (z.B. eine ArrayList) von angenommenen Wetten.&lt;br /&gt;
#* Es hat einen festen Faktor, mit welchem Wetteinsätze bei einem Gewinn multipliziert werden.&lt;br /&gt;
#:&lt;br /&gt;
#Lege in der Klasse &amp;quot;Wettbuero&amp;quot; eine Methode &amp;quot;wetteAnnehmen(String schneckenName, int wettEinsatz, String spieler)&amp;quot; an, welche eine Wette entgegennimmt. Die Wette ist bezogen auf eine Schnecke für das Rennen, das von dem Büro bearbeitet wird.&lt;br /&gt;
#* Um die einzelnen Wetten speichern zu können, sollten ihre Daten in eigenen Objekten der Klasse &amp;quot;Wette&amp;quot; gespeichert werden. Erstellt euch diese Klasse selbst. &lt;br /&gt;
#* Tipp: Denkt an toString().&lt;br /&gt;
#:&lt;br /&gt;
#Lege in der Klasse &amp;quot;Wettbuero&amp;quot; eine Methode &amp;quot;rennenDurchfuehren()&amp;quot; an, welche das betreute Rennen durchfuert.&lt;br /&gt;
#:&lt;br /&gt;
#Lege in der Klasse &amp;quot;Wettbuero&amp;quot; eine Methode &amp;quot;toString()&amp;quot; an, welche die Daten des Wettbueros, die Daten des Rennens sowie sämtliche abgeschlossende Wetten als String zurückgibt.&lt;br /&gt;
#:&lt;br /&gt;
# Teste dein Programm!&lt;br /&gt;
#:&lt;br /&gt;
# Tausche die Klasse Rennen mit einem Kommilitonen, der ebenfalls bereits fertig ist.&lt;br /&gt;
#* Sollten eure Programme immer noch laufen?&lt;br /&gt;
#* Treten Fehler auf? Wenn ja: ändert eure Programme so ab, dass ihr problemlos Klassen austauschen könnt.&lt;br /&gt;
&lt;br /&gt;
== Zusatz ==&lt;br /&gt;
&lt;br /&gt;
Es gibt noch ein paar Dinge, die in unserem Wettbüro nicht so laufen wie sie sollten. &lt;br /&gt;
Macht sie besser.&lt;br /&gt;
&lt;br /&gt;
* Dieselbe Schnecke kann in ein Rennen zweimal eingetragen werden.&lt;br /&gt;
* Es können negative Wetten abgeschlossen werden.&lt;br /&gt;
* Gehen zwei Schnecken gleichzeitig durchs Ziel, wird die Schnecke ausgegeben, auf die die Suche nach dem Gewinner zuerst stößt. Das ist ganz schön ungerecht.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== Zusatz Vererbung ==&lt;br /&gt;
&lt;br /&gt;
* Wo Geld im Spiel ist wird auch betrogen. Aus diesem Grund wollen wir jezt auch gedopte Rennschnecken an unseren Rennen teilnehmen lassen. &lt;br /&gt;
** Erstelle eine Klasse &amp;quot;Dopingschnecke&amp;quot;, welche alle Attribute und Methoden der gemeinen &amp;quot;Rennschnecke&amp;quot; erbt.&lt;br /&gt;
** Überschreibe den geerbten Constructor, so das &amp;quot;Dopingschnecken&amp;quot; eine wesentlich höhere Maximalgeschwindigkeit erhalten als normale &amp;quot;Rennschnecken&amp;quot;.&lt;br /&gt;
** Überschreibe die geerbte Methode &amp;quot;String toString()&amp;quot; so dass Dopingschnecken anders ausgegeben werden als Rennschnecken (z.B. durch einen zusatz wie &amp;quot;rote Augen&amp;quot; oder ähnliches)&lt;br /&gt;
** Mische in einem Rennen Dopingschnecken unter deine Rennschnecken. Du musst dafür keinerlei Funktionalitäten änder. Dein Programm muss nicht wissen ob es sich um eine Dopingschnecke handelt, denn sie ist ja auch eine Rennschnecke.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kommentare ==&lt;br /&gt;
Wenn du Anmerkungen zur Aufgabe hast oder Lob und Kritik loswerden möchtest, ist hier die richtige Stelle dafür. Klicke einfach ganz rechts auf &amp;quot;bearbeiten&amp;quot; und schreibe deinen Kommentar direkt ins Wiki. Keine Scheu, es geht nichts kaputt ;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Als kleine Starthilfe folgt ein Beispiel, wie so ein Kommentar formatiert sein könnte. Mit &amp;quot;Vorschau zeigen&amp;quot; kannst du dir ansehen, was deine Änderung bewirken würde, ohne wirklich etwas zu ändern.&lt;br /&gt;
Du musst übrigens außerhalb dieses auskommentieren Bereichs schreiben ;)&lt;br /&gt;
&lt;br /&gt;
==== Robert ====&lt;br /&gt;
Na mal schauen, ob irgendjemand diese Funktion wirklich benutzt. Ich fände es jedenfalls toll.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Felix S. ====&lt;br /&gt;
&amp;quot;abhängig von ihrer Maximalgeschwindigkeit&amp;quot; verwirrte mehrmals Teilnehmer. Mathematischen Bezug/Verfahren hinschreiben bzw. erst mal auf das Kriechen konzentrieren.&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Javakurs/%C3%9Cbungsaufgaben/Rennschnecke&amp;diff=7295</id>
		<title>Javakurs/Übungsaufgaben/Rennschnecke</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Javakurs/%C3%9Cbungsaufgaben/Rennschnecke&amp;diff=7295"/>
		<updated>2008-04-05T17:24:18Z</updated>

		<summary type="html">&lt;p&gt;Dank: /* Wettbüro */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Rennschnecke ==&lt;br /&gt;
#Erstelle eine Klasse &amp;quot;Rennschnecke&amp;quot;&lt;br /&gt;
#:&lt;br /&gt;
#Rennschnecken sollen folgende Eigenschaften(Objektvariablen) besitzen:&lt;br /&gt;
#* einen Namen&lt;br /&gt;
#* eine Rasse&lt;br /&gt;
#* eine Maximalgeschwindigkeit&lt;br /&gt;
#* die Schnecke soll wissen welchen Weg sie bereits zurück gelegt hat&lt;br /&gt;
#:&lt;br /&gt;
# Erstelle für die Klasse Rennschnecke einen [[Javakurs2006/Java_Kurzreferenz#Konstruktor|Konstruktor]], der den Instanzvariablen beim Erstellen einer neuen Instanz (Objekt zu dieser Klasse) Werte zuweist.&lt;br /&gt;
#:&lt;br /&gt;
#Lege in der Klasse &amp;quot;Rennschnecke&amp;quot; eine Methode &amp;quot;krieche()&amp;quot; an, welche die Schnecke abhängig von ihrer Maximalgeschwindigkeit eine zufällige Strecke weiter bewegt. Soll heißen: Sie kriecht eine zufällige Strecke größer null und kleiner ihrer Maximalgeschwindigkeit.&lt;br /&gt;
#* Tipp: Schaut euch die Methode Math.random() aus der Java API an.&lt;br /&gt;
#:&lt;br /&gt;
#Lege in der Klasse &amp;quot;Rennschnecke&amp;quot; eine Methode &amp;quot;public String toString()&amp;quot; an, welche die Daten der Schnecke mit return als String zurückgibt.&lt;br /&gt;
#:&lt;br /&gt;
# Teste deine Klasse, indem du probehalber ein Rennschneckenobjekt erzeugst und seine Daten auf der Konsole ausgibst. &lt;br /&gt;
#*Tipp:Verwende zum Ausgeben der Daten die toString() Methode der Rennschnecke.&lt;br /&gt;
#:&lt;br /&gt;
#:&lt;br /&gt;
&lt;br /&gt;
== Rennen ==&lt;br /&gt;
&lt;br /&gt;
#Erstelle eine Klasse &amp;quot;Rennen&amp;quot;&lt;br /&gt;
#:&lt;br /&gt;
#Ein Rennen hat folgende Eigenschaften:&lt;br /&gt;
#*einen Namen&lt;br /&gt;
#*die Anzahl der teilnehmenden Schnecken&lt;br /&gt;
#*die teilnemenden Schnecken selbst (z.B. in einer [[Javakurs2007/ArrayList|ArrayList]])&lt;br /&gt;
#*die Länge der zu kriechenden Strecke&lt;br /&gt;
#:&lt;br /&gt;
#Überlege dir, welche dieser Werte bereits im Konstruktor gesetzt werden sollten.&lt;br /&gt;
#:&lt;br /&gt;
#Lege in der Klasse &amp;quot;Rennen&amp;quot; eine Methode &amp;quot;void addRennschnecke(Rennschnecke neueSchnecke)&amp;quot; an, welche dem Rennen eine Schnecke hinzufügt.&lt;br /&gt;
#:&lt;br /&gt;
#Lege in der Klasse &amp;quot;Rennen&amp;quot; eine Methode &amp;quot;void removeRennschnecke(String name)&amp;quot; an, welche eine Schnecke aus dem Rennen entfernt.&lt;br /&gt;
#:&lt;br /&gt;
#Lege in der Klasse &amp;quot;Rennen&amp;quot; eine Methode &amp;quot;public String toString()&amp;quot; an, welche die Daten des Rennens mit return als String zurückgibt. &lt;br /&gt;
#*Tipp: Um die Daten der beteiligten Schnecken zurückzugeben, könnt ihr deren toString() Funktion benutzen.&lt;br /&gt;
#:&lt;br /&gt;
#Teste deine Klasse vom Hauptprogramm aus!&lt;br /&gt;
#:&lt;br /&gt;
#Lege in der Klasse &amp;quot;Rennen&amp;quot; eine Methode &amp;quot;Rennschnecke ermittleGewinner()&amp;quot; an, welche &#039;&#039;&#039;null&#039;&#039;&#039; zurückliefert, wenn noch keine der teilnemenden Schnecken das Ziel erreicht hat und anderenfalls die Gewinnerschnecke zurückgibt.&lt;br /&gt;
#:&lt;br /&gt;
#Lege in der Klasse &amp;quot;Rennen&amp;quot; eine Methode &amp;quot;void lasseSchneckenKriechen()&amp;quot; an, welche alle teilnemenden Schnecken einmal kriechen lässt.&lt;br /&gt;
#:&lt;br /&gt;
#Lege in der Klasse &amp;quot;Rennen&amp;quot; eine Methode &amp;quot;void durchfuehren()&amp;quot; an, welche so lange lasseSchneckenKriechen() aufruft, bis eine der Schnecken das Ziel erreicht hat.&lt;br /&gt;
#* Tipp: Ob eine Schnecke im Ziel angekommen ist, kannst du mit deiner Methode ermittleGewinner() herrausfinden.&lt;br /&gt;
&lt;br /&gt;
== Wettbüro ==&lt;br /&gt;
&lt;br /&gt;
#Erstelle eine Klasse Wettbuero.&lt;br /&gt;
#:&lt;br /&gt;
#:Ein Wettbuero hat die folgenden Eigenschaften:&lt;br /&gt;
#* Es weiß, für welches Rennen es seine Wetten entgegennimmt.&lt;br /&gt;
#* Es verfügt über eine Liste (z.B. eine ArrayList) von angenommenen Wetten.&lt;br /&gt;
#* Es hat einen festen Faktor, mit welchem Wetteinsätze bei einem Gewinn multipliziert werden.&lt;br /&gt;
#:&lt;br /&gt;
#Lege in der Klasse &amp;quot;Wettbuero&amp;quot; eine Methode &amp;quot;wetteAnnehmen(String schneckenName, int wetteinsatz, String spieler)&amp;quot; an, welche eine Wette entgegennimmt. Die Wette ist bezogen auf eine Schnecke für das Rennen, das von dem Büro bearbeitet wird.&lt;br /&gt;
#* Um die einzelnen Wetten speichern zu können, sollten ihre Daten in eigenen Objekten der Klasse &amp;quot;Wette&amp;quot; gespeichert werden. Erstellt euch diese Klasse selbst. &lt;br /&gt;
#* Tipp: Denkt an toString().&lt;br /&gt;
#:&lt;br /&gt;
#Lege in der Klasse &amp;quot;Wettbuero&amp;quot; eine Methode &amp;quot;rennenDurchfuehren()&amp;quot; an, welche das betreute Rennen durchfuert.&lt;br /&gt;
#:&lt;br /&gt;
#Lege in der Klasse &amp;quot;Wettbuero&amp;quot; eine Methode &amp;quot;toString()&amp;quot; an, welche die Daten des Wettbueros, die Daten des Rennens sowie sämtliche abgeschlossende Wetten als String zurückgibt.&lt;br /&gt;
#:&lt;br /&gt;
# Teste dein Programm!&lt;br /&gt;
#:&lt;br /&gt;
# Tausche die Klasse Rennen mit einem Kommilitonen, der ebenfalls bereits fertig ist.&lt;br /&gt;
#* Sollten eure Programme immer noch laufen?&lt;br /&gt;
#* Treten Fehler auf? Wenn ja: ändert eure Programme so ab, dass ihr problemlos Klassen austauschen könnt.&lt;br /&gt;
&lt;br /&gt;
== Zusatz ==&lt;br /&gt;
&lt;br /&gt;
Es gibt noch ein paar Dinge, die in unserem Wettbüro nicht so laufen wie sie sollten. &lt;br /&gt;
Macht sie besser.&lt;br /&gt;
&lt;br /&gt;
* Dieselbe Schnecke kann in ein Rennen zweimal eingetragen werden.&lt;br /&gt;
* Es können negative Wetten abgeschlossen werden.&lt;br /&gt;
* Gehen zwei Schnecken gleichzeitig durchs Ziel, wird die Schnecke ausgegeben, auf die die Suche nach dem Gewinner zuerst stößt. Das ist ganz schön ungerecht.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== Zusatz Vererbung ==&lt;br /&gt;
&lt;br /&gt;
* Wo Geld im Spiel ist wird auch betrogen. Aus diesem Grund wollen wir jezt auch gedopte Rennschnecken an unseren Rennen teilnehmen lassen. &lt;br /&gt;
** Erstelle eine Klasse &amp;quot;Dopingschnecke&amp;quot;, welche alle Attribute und Methoden der gemeinen &amp;quot;Rennschnecke&amp;quot; erbt.&lt;br /&gt;
** Überschreibe den geerbten Constructor, so das &amp;quot;Dopingschnecken&amp;quot; eine wesentlich höhere Maximalgeschwindigkeit erhalten als normale &amp;quot;Rennschnecken&amp;quot;.&lt;br /&gt;
** Überschreibe die geerbte Methode &amp;quot;String toString()&amp;quot; so dass Dopingschnecken anders ausgegeben werden als Rennschnecken (z.B. durch einen zusatz wie &amp;quot;rote Augen&amp;quot; oder ähnliches)&lt;br /&gt;
** Mische in einem Rennen Dopingschnecken unter deine Rennschnecken. Du musst dafür keinerlei Funktionalitäten änder. Dein Programm muss nicht wissen ob es sich um eine Dopingschnecke handelt, denn sie ist ja auch eine Rennschnecke.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kommentare ==&lt;br /&gt;
Wenn du Anmerkungen zur Aufgabe hast oder Lob und Kritik loswerden möchtest, ist hier die richtige Stelle dafür. Klicke einfach ganz rechts auf &amp;quot;bearbeiten&amp;quot; und schreibe deinen Kommentar direkt ins Wiki. Keine Scheu, es geht nichts kaputt ;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Als kleine Starthilfe folgt ein Beispiel, wie so ein Kommentar formatiert sein könnte. Mit &amp;quot;Vorschau zeigen&amp;quot; kannst du dir ansehen, was deine Änderung bewirken würde, ohne wirklich etwas zu ändern.&lt;br /&gt;
Du musst übrigens außerhalb dieses auskommentieren Bereichs schreiben ;)&lt;br /&gt;
&lt;br /&gt;
==== Robert ====&lt;br /&gt;
Na mal schauen, ob irgendjemand diese Funktion wirklich benutzt. Ich fände es jedenfalls toll.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Felix S. ====&lt;br /&gt;
&amp;quot;abhängig von ihrer Maximalgeschwindigkeit&amp;quot; verwirrte mehrmals Teilnehmer. Mathematischen Bezug/Verfahren hinschreiben bzw. erst mal auf das Kriechen konzentrieren.&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Javakurs/%C3%9Cbungsaufgaben/Rennschnecke&amp;diff=7294</id>
		<title>Javakurs/Übungsaufgaben/Rennschnecke</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Javakurs/%C3%9Cbungsaufgaben/Rennschnecke&amp;diff=7294"/>
		<updated>2008-04-05T17:23:57Z</updated>

		<summary type="html">&lt;p&gt;Dank: /* Wettbüro */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Rennschnecke ==&lt;br /&gt;
#Erstelle eine Klasse &amp;quot;Rennschnecke&amp;quot;&lt;br /&gt;
#:&lt;br /&gt;
#Rennschnecken sollen folgende Eigenschaften(Objektvariablen) besitzen:&lt;br /&gt;
#* einen Namen&lt;br /&gt;
#* eine Rasse&lt;br /&gt;
#* eine Maximalgeschwindigkeit&lt;br /&gt;
#* die Schnecke soll wissen welchen Weg sie bereits zurück gelegt hat&lt;br /&gt;
#:&lt;br /&gt;
# Erstelle für die Klasse Rennschnecke einen [[Javakurs2006/Java_Kurzreferenz#Konstruktor|Konstruktor]], der den Instanzvariablen beim Erstellen einer neuen Instanz (Objekt zu dieser Klasse) Werte zuweist.&lt;br /&gt;
#:&lt;br /&gt;
#Lege in der Klasse &amp;quot;Rennschnecke&amp;quot; eine Methode &amp;quot;krieche()&amp;quot; an, welche die Schnecke abhängig von ihrer Maximalgeschwindigkeit eine zufällige Strecke weiter bewegt. Soll heißen: Sie kriecht eine zufällige Strecke größer null und kleiner ihrer Maximalgeschwindigkeit.&lt;br /&gt;
#* Tipp: Schaut euch die Methode Math.random() aus der Java API an.&lt;br /&gt;
#:&lt;br /&gt;
#Lege in der Klasse &amp;quot;Rennschnecke&amp;quot; eine Methode &amp;quot;public String toString()&amp;quot; an, welche die Daten der Schnecke mit return als String zurückgibt.&lt;br /&gt;
#:&lt;br /&gt;
# Teste deine Klasse, indem du probehalber ein Rennschneckenobjekt erzeugst und seine Daten auf der Konsole ausgibst. &lt;br /&gt;
#*Tipp:Verwende zum Ausgeben der Daten die toString() Methode der Rennschnecke.&lt;br /&gt;
#:&lt;br /&gt;
#:&lt;br /&gt;
&lt;br /&gt;
== Rennen ==&lt;br /&gt;
&lt;br /&gt;
#Erstelle eine Klasse &amp;quot;Rennen&amp;quot;&lt;br /&gt;
#:&lt;br /&gt;
#Ein Rennen hat folgende Eigenschaften:&lt;br /&gt;
#*einen Namen&lt;br /&gt;
#*die Anzahl der teilnehmenden Schnecken&lt;br /&gt;
#*die teilnemenden Schnecken selbst (z.B. in einer [[Javakurs2007/ArrayList|ArrayList]])&lt;br /&gt;
#*die Länge der zu kriechenden Strecke&lt;br /&gt;
#:&lt;br /&gt;
#Überlege dir, welche dieser Werte bereits im Konstruktor gesetzt werden sollten.&lt;br /&gt;
#:&lt;br /&gt;
#Lege in der Klasse &amp;quot;Rennen&amp;quot; eine Methode &amp;quot;void addRennschnecke(Rennschnecke neueSchnecke)&amp;quot; an, welche dem Rennen eine Schnecke hinzufügt.&lt;br /&gt;
#:&lt;br /&gt;
#Lege in der Klasse &amp;quot;Rennen&amp;quot; eine Methode &amp;quot;void removeRennschnecke(String name)&amp;quot; an, welche eine Schnecke aus dem Rennen entfernt.&lt;br /&gt;
#:&lt;br /&gt;
#Lege in der Klasse &amp;quot;Rennen&amp;quot; eine Methode &amp;quot;public String toString()&amp;quot; an, welche die Daten des Rennens mit return als String zurückgibt. &lt;br /&gt;
#*Tipp: Um die Daten der beteiligten Schnecken zurückzugeben, könnt ihr deren toString() Funktion benutzen.&lt;br /&gt;
#:&lt;br /&gt;
#Teste deine Klasse vom Hauptprogramm aus!&lt;br /&gt;
#:&lt;br /&gt;
#Lege in der Klasse &amp;quot;Rennen&amp;quot; eine Methode &amp;quot;Rennschnecke ermittleGewinner()&amp;quot; an, welche &#039;&#039;&#039;null&#039;&#039;&#039; zurückliefert, wenn noch keine der teilnemenden Schnecken das Ziel erreicht hat und anderenfalls die Gewinnerschnecke zurückgibt.&lt;br /&gt;
#:&lt;br /&gt;
#Lege in der Klasse &amp;quot;Rennen&amp;quot; eine Methode &amp;quot;void lasseSchneckenKriechen()&amp;quot; an, welche alle teilnemenden Schnecken einmal kriechen lässt.&lt;br /&gt;
#:&lt;br /&gt;
#Lege in der Klasse &amp;quot;Rennen&amp;quot; eine Methode &amp;quot;void durchfuehren()&amp;quot; an, welche so lange lasseSchneckenKriechen() aufruft, bis eine der Schnecken das Ziel erreicht hat.&lt;br /&gt;
#* Tipp: Ob eine Schnecke im Ziel angekommen ist, kannst du mit deiner Methode ermittleGewinner() herrausfinden.&lt;br /&gt;
&lt;br /&gt;
== Wettbüro ==&lt;br /&gt;
&lt;br /&gt;
#Erstelle eine Klasse Wettbuero.&lt;br /&gt;
#:&lt;br /&gt;
#:Ein Wettbuero hat die folgenden Eigenschaften:&lt;br /&gt;
#* Es weiß, für welches Rennen es seine Wetten entgegennimmt.&lt;br /&gt;
#* Es verfügt über eine Liste (z.B. eine ArrayList) von angenommenden Wetten.&lt;br /&gt;
#* Es hat einen festen Faktor, mit welchem Wetteinsätze bei einem Gewinn multipliziert werden.&lt;br /&gt;
#:&lt;br /&gt;
#Lege in der Klasse &amp;quot;Wettbuero&amp;quot; eine Methode &amp;quot;wetteAnnehmen(String schneckenName, int wetteinsatz, String spieler)&amp;quot; an, welche eine Wette entgegennimmt. Die Wette ist bezogen auf eine Schnecke für das Rennen, das von dem Büro bearbeitet wird.&lt;br /&gt;
#* Um die einzelnen Wetten speichern zu können, sollten ihre Daten in eigenen Objekten der Klasse &amp;quot;Wette&amp;quot; gespeichert werden. Erstellt euch diese Klasse selbst. &lt;br /&gt;
#* Tipp: Denkt an toString().&lt;br /&gt;
#:&lt;br /&gt;
#Lege in der Klasse &amp;quot;Wettbuero&amp;quot; eine Methode &amp;quot;rennenDurchfuehren()&amp;quot; an, welche das betreute Rennen durchfuert.&lt;br /&gt;
#:&lt;br /&gt;
#Lege in der Klasse &amp;quot;Wettbuero&amp;quot; eine Methode &amp;quot;toString()&amp;quot; an, welche die Daten des Wettbueros, die Daten des Rennens sowie sämtliche abgeschlossende Wetten als String zurückgibt.&lt;br /&gt;
#:&lt;br /&gt;
# Teste dein Programm!&lt;br /&gt;
#:&lt;br /&gt;
# Tausche die Klasse Rennen mit einem Kommilitonen, der ebenfalls bereits fertig ist.&lt;br /&gt;
#* Sollten eure Programme immer noch laufen?&lt;br /&gt;
#* Treten Fehler auf? Wenn ja: ändert eure Programme so ab, dass ihr problemlos Klassen austauschen könnt.&lt;br /&gt;
&lt;br /&gt;
== Zusatz ==&lt;br /&gt;
&lt;br /&gt;
Es gibt noch ein paar Dinge, die in unserem Wettbüro nicht so laufen wie sie sollten. &lt;br /&gt;
Macht sie besser.&lt;br /&gt;
&lt;br /&gt;
* Dieselbe Schnecke kann in ein Rennen zweimal eingetragen werden.&lt;br /&gt;
* Es können negative Wetten abgeschlossen werden.&lt;br /&gt;
* Gehen zwei Schnecken gleichzeitig durchs Ziel, wird die Schnecke ausgegeben, auf die die Suche nach dem Gewinner zuerst stößt. Das ist ganz schön ungerecht.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== Zusatz Vererbung ==&lt;br /&gt;
&lt;br /&gt;
* Wo Geld im Spiel ist wird auch betrogen. Aus diesem Grund wollen wir jezt auch gedopte Rennschnecken an unseren Rennen teilnehmen lassen. &lt;br /&gt;
** Erstelle eine Klasse &amp;quot;Dopingschnecke&amp;quot;, welche alle Attribute und Methoden der gemeinen &amp;quot;Rennschnecke&amp;quot; erbt.&lt;br /&gt;
** Überschreibe den geerbten Constructor, so das &amp;quot;Dopingschnecken&amp;quot; eine wesentlich höhere Maximalgeschwindigkeit erhalten als normale &amp;quot;Rennschnecken&amp;quot;.&lt;br /&gt;
** Überschreibe die geerbte Methode &amp;quot;String toString()&amp;quot; so dass Dopingschnecken anders ausgegeben werden als Rennschnecken (z.B. durch einen zusatz wie &amp;quot;rote Augen&amp;quot; oder ähnliches)&lt;br /&gt;
** Mische in einem Rennen Dopingschnecken unter deine Rennschnecken. Du musst dafür keinerlei Funktionalitäten änder. Dein Programm muss nicht wissen ob es sich um eine Dopingschnecke handelt, denn sie ist ja auch eine Rennschnecke.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kommentare ==&lt;br /&gt;
Wenn du Anmerkungen zur Aufgabe hast oder Lob und Kritik loswerden möchtest, ist hier die richtige Stelle dafür. Klicke einfach ganz rechts auf &amp;quot;bearbeiten&amp;quot; und schreibe deinen Kommentar direkt ins Wiki. Keine Scheu, es geht nichts kaputt ;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Als kleine Starthilfe folgt ein Beispiel, wie so ein Kommentar formatiert sein könnte. Mit &amp;quot;Vorschau zeigen&amp;quot; kannst du dir ansehen, was deine Änderung bewirken würde, ohne wirklich etwas zu ändern.&lt;br /&gt;
Du musst übrigens außerhalb dieses auskommentieren Bereichs schreiben ;)&lt;br /&gt;
&lt;br /&gt;
==== Robert ====&lt;br /&gt;
Na mal schauen, ob irgendjemand diese Funktion wirklich benutzt. Ich fände es jedenfalls toll.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Felix S. ====&lt;br /&gt;
&amp;quot;abhängig von ihrer Maximalgeschwindigkeit&amp;quot; verwirrte mehrmals Teilnehmer. Mathematischen Bezug/Verfahren hinschreiben bzw. erst mal auf das Kriechen konzentrieren.&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Javakurs/%C3%9Cbungsaufgaben/Rennschnecke&amp;diff=7293</id>
		<title>Javakurs/Übungsaufgaben/Rennschnecke</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Javakurs/%C3%9Cbungsaufgaben/Rennschnecke&amp;diff=7293"/>
		<updated>2008-04-05T17:21:56Z</updated>

		<summary type="html">&lt;p&gt;Dank: /* Rennen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Rennschnecke ==&lt;br /&gt;
#Erstelle eine Klasse &amp;quot;Rennschnecke&amp;quot;&lt;br /&gt;
#:&lt;br /&gt;
#Rennschnecken sollen folgende Eigenschaften(Objektvariablen) besitzen:&lt;br /&gt;
#* einen Namen&lt;br /&gt;
#* eine Rasse&lt;br /&gt;
#* eine Maximalgeschwindigkeit&lt;br /&gt;
#* die Schnecke soll wissen welchen Weg sie bereits zurück gelegt hat&lt;br /&gt;
#:&lt;br /&gt;
# Erstelle für die Klasse Rennschnecke einen [[Javakurs2006/Java_Kurzreferenz#Konstruktor|Konstruktor]], der den Instanzvariablen beim Erstellen einer neuen Instanz (Objekt zu dieser Klasse) Werte zuweist.&lt;br /&gt;
#:&lt;br /&gt;
#Lege in der Klasse &amp;quot;Rennschnecke&amp;quot; eine Methode &amp;quot;krieche()&amp;quot; an, welche die Schnecke abhängig von ihrer Maximalgeschwindigkeit eine zufällige Strecke weiter bewegt. Soll heißen: Sie kriecht eine zufällige Strecke größer null und kleiner ihrer Maximalgeschwindigkeit.&lt;br /&gt;
#* Tipp: Schaut euch die Methode Math.random() aus der Java API an.&lt;br /&gt;
#:&lt;br /&gt;
#Lege in der Klasse &amp;quot;Rennschnecke&amp;quot; eine Methode &amp;quot;public String toString()&amp;quot; an, welche die Daten der Schnecke mit return als String zurückgibt.&lt;br /&gt;
#:&lt;br /&gt;
# Teste deine Klasse, indem du probehalber ein Rennschneckenobjekt erzeugst und seine Daten auf der Konsole ausgibst. &lt;br /&gt;
#*Tipp:Verwende zum Ausgeben der Daten die toString() Methode der Rennschnecke.&lt;br /&gt;
#:&lt;br /&gt;
#:&lt;br /&gt;
&lt;br /&gt;
== Rennen ==&lt;br /&gt;
&lt;br /&gt;
#Erstelle eine Klasse &amp;quot;Rennen&amp;quot;&lt;br /&gt;
#:&lt;br /&gt;
#Ein Rennen hat folgende Eigenschaften:&lt;br /&gt;
#*einen Namen&lt;br /&gt;
#*die Anzahl der teilnehmenden Schnecken&lt;br /&gt;
#*die teilnemenden Schnecken selbst (z.B. in einer [[Javakurs2007/ArrayList|ArrayList]])&lt;br /&gt;
#*die Länge der zu kriechenden Strecke&lt;br /&gt;
#:&lt;br /&gt;
#Überlege dir, welche dieser Werte bereits im Konstruktor gesetzt werden sollten.&lt;br /&gt;
#:&lt;br /&gt;
#Lege in der Klasse &amp;quot;Rennen&amp;quot; eine Methode &amp;quot;void addRennschnecke(Rennschnecke neueSchnecke)&amp;quot; an, welche dem Rennen eine Schnecke hinzufügt.&lt;br /&gt;
#:&lt;br /&gt;
#Lege in der Klasse &amp;quot;Rennen&amp;quot; eine Methode &amp;quot;void removeRennschnecke(String name)&amp;quot; an, welche eine Schnecke aus dem Rennen entfernt.&lt;br /&gt;
#:&lt;br /&gt;
#Lege in der Klasse &amp;quot;Rennen&amp;quot; eine Methode &amp;quot;public String toString()&amp;quot; an, welche die Daten des Rennens mit return als String zurückgibt. &lt;br /&gt;
#*Tipp: Um die Daten der beteiligten Schnecken zurückzugeben, könnt ihr deren toString() Funktion benutzen.&lt;br /&gt;
#:&lt;br /&gt;
#Teste deine Klasse vom Hauptprogramm aus!&lt;br /&gt;
#:&lt;br /&gt;
#Lege in der Klasse &amp;quot;Rennen&amp;quot; eine Methode &amp;quot;Rennschnecke ermittleGewinner()&amp;quot; an, welche &#039;&#039;&#039;null&#039;&#039;&#039; zurückliefert, wenn noch keine der teilnemenden Schnecken das Ziel erreicht hat und anderenfalls die Gewinnerschnecke zurückgibt.&lt;br /&gt;
#:&lt;br /&gt;
#Lege in der Klasse &amp;quot;Rennen&amp;quot; eine Methode &amp;quot;void lasseSchneckenKriechen()&amp;quot; an, welche alle teilnemenden Schnecken einmal kriechen lässt.&lt;br /&gt;
#:&lt;br /&gt;
#Lege in der Klasse &amp;quot;Rennen&amp;quot; eine Methode &amp;quot;void durchfuehren()&amp;quot; an, welche so lange lasseSchneckenKriechen() aufruft, bis eine der Schnecken das Ziel erreicht hat.&lt;br /&gt;
#* Tipp: Ob eine Schnecke im Ziel angekommen ist, kannst du mit deiner Methode ermittleGewinner() herrausfinden.&lt;br /&gt;
&lt;br /&gt;
== Wettbüro ==&lt;br /&gt;
&lt;br /&gt;
#Erstelle eine Klasse Wettbuero.&lt;br /&gt;
#:&lt;br /&gt;
#:Ein Wettbuero hat die folgenden Eigenschaften:&lt;br /&gt;
#* Es weiß, für welches Rennen es seine Wetten entgegennimmt.&lt;br /&gt;
#* Es verfügt über eine Liste (z.B. eine Arraylist) von angenommenden Wetten.&lt;br /&gt;
#* Es hat einen festen Faktor, mit welchem Wetteinsätze bei einem Gewinn multipliziert werden.&lt;br /&gt;
#:&lt;br /&gt;
#Lege in der Klasse &amp;quot;Wettbuero&amp;quot; eine Methode &amp;quot;wetteAnnehmen(String schneckenName, int wetteinsatz, String spieler)&amp;quot; an, welche eine Wette entgegennimmt. Die Wette ist bezogen auf eine Schnecke für das Rennen, das von dem Büro bearbeitet wird.&lt;br /&gt;
#* Um die einzelnen Wetten speichern zu können, sollten ihre Daten in eigenen Objekten der Klasse &amp;quot;Wette&amp;quot; gespeichert werden. Erstellt euch diese Klasse selbst. &lt;br /&gt;
#* Tipp: Denkt an toString().&lt;br /&gt;
#:&lt;br /&gt;
#Lege in der Klasse &amp;quot;Wettbuero&amp;quot; eine Methode &amp;quot;rennenDurchfuehren()&amp;quot; an, welche das betreute Rennen durchfuert.&lt;br /&gt;
#:&lt;br /&gt;
#Lege in der Klasse &amp;quot;Wettbuero&amp;quot; eine Methode &amp;quot;toString()&amp;quot; an, welche die Daten des Wettbueros, die Daten des Rennens sowie sämtliche abgeschlossende Wetten als String zurückgibt.&lt;br /&gt;
#:&lt;br /&gt;
# Teste dein Programm!&lt;br /&gt;
#:&lt;br /&gt;
# Tausche die Klasse Rennen mit einem Kommilitonen, der ebenfalls bereits fertig ist.&lt;br /&gt;
#* Sollten eure Programme immer noch laufen?&lt;br /&gt;
#* Treten Fehler auf? Wenn ja: ändert eure Programme so ab, dass ihr problemlos Klassen austauschen könnt.&lt;br /&gt;
&lt;br /&gt;
== Zusatz ==&lt;br /&gt;
&lt;br /&gt;
Es gibt noch ein paar Dinge, die in unserem Wettbüro nicht so laufen wie sie sollten. &lt;br /&gt;
Macht sie besser.&lt;br /&gt;
&lt;br /&gt;
* Dieselbe Schnecke kann in ein Rennen zweimal eingetragen werden.&lt;br /&gt;
* Es können negative Wetten abgeschlossen werden.&lt;br /&gt;
* Gehen zwei Schnecken gleichzeitig durchs Ziel, wird die Schnecke ausgegeben, auf die die Suche nach dem Gewinner zuerst stößt. Das ist ganz schön ungerecht.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== Zusatz Vererbung ==&lt;br /&gt;
&lt;br /&gt;
* Wo Geld im Spiel ist wird auch betrogen. Aus diesem Grund wollen wir jezt auch gedopte Rennschnecken an unseren Rennen teilnehmen lassen. &lt;br /&gt;
** Erstelle eine Klasse &amp;quot;Dopingschnecke&amp;quot;, welche alle Attribute und Methoden der gemeinen &amp;quot;Rennschnecke&amp;quot; erbt.&lt;br /&gt;
** Überschreibe den geerbten Constructor, so das &amp;quot;Dopingschnecken&amp;quot; eine wesentlich höhere Maximalgeschwindigkeit erhalten als normale &amp;quot;Rennschnecken&amp;quot;.&lt;br /&gt;
** Überschreibe die geerbte Methode &amp;quot;String toString()&amp;quot; so dass Dopingschnecken anders ausgegeben werden als Rennschnecken (z.B. durch einen zusatz wie &amp;quot;rote Augen&amp;quot; oder ähnliches)&lt;br /&gt;
** Mische in einem Rennen Dopingschnecken unter deine Rennschnecken. Du musst dafür keinerlei Funktionalitäten änder. Dein Programm muss nicht wissen ob es sich um eine Dopingschnecke handelt, denn sie ist ja auch eine Rennschnecke.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kommentare ==&lt;br /&gt;
Wenn du Anmerkungen zur Aufgabe hast oder Lob und Kritik loswerden möchtest, ist hier die richtige Stelle dafür. Klicke einfach ganz rechts auf &amp;quot;bearbeiten&amp;quot; und schreibe deinen Kommentar direkt ins Wiki. Keine Scheu, es geht nichts kaputt ;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Als kleine Starthilfe folgt ein Beispiel, wie so ein Kommentar formatiert sein könnte. Mit &amp;quot;Vorschau zeigen&amp;quot; kannst du dir ansehen, was deine Änderung bewirken würde, ohne wirklich etwas zu ändern.&lt;br /&gt;
Du musst übrigens außerhalb dieses auskommentieren Bereichs schreiben ;)&lt;br /&gt;
&lt;br /&gt;
==== Robert ====&lt;br /&gt;
Na mal schauen, ob irgendjemand diese Funktion wirklich benutzt. Ich fände es jedenfalls toll.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Felix S. ====&lt;br /&gt;
&amp;quot;abhängig von ihrer Maximalgeschwindigkeit&amp;quot; verwirrte mehrmals Teilnehmer. Mathematischen Bezug/Verfahren hinschreiben bzw. erst mal auf das Kriechen konzentrieren.&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Javakurs/%C3%9Cbungsaufgaben/Rennschnecke&amp;diff=7292</id>
		<title>Javakurs/Übungsaufgaben/Rennschnecke</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Javakurs/%C3%9Cbungsaufgaben/Rennschnecke&amp;diff=7292"/>
		<updated>2008-04-05T17:20:00Z</updated>

		<summary type="html">&lt;p&gt;Dank: /* Rennschnecke */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Rennschnecke ==&lt;br /&gt;
#Erstelle eine Klasse &amp;quot;Rennschnecke&amp;quot;&lt;br /&gt;
#:&lt;br /&gt;
#Rennschnecken sollen folgende Eigenschaften(Objektvariablen) besitzen:&lt;br /&gt;
#* einen Namen&lt;br /&gt;
#* eine Rasse&lt;br /&gt;
#* eine Maximalgeschwindigkeit&lt;br /&gt;
#* die Schnecke soll wissen welchen Weg sie bereits zurück gelegt hat&lt;br /&gt;
#:&lt;br /&gt;
# Erstelle für die Klasse Rennschnecke einen [[Javakurs2006/Java_Kurzreferenz#Konstruktor|Konstruktor]], der den Instanzvariablen beim Erstellen einer neuen Instanz (Objekt zu dieser Klasse) Werte zuweist.&lt;br /&gt;
#:&lt;br /&gt;
#Lege in der Klasse &amp;quot;Rennschnecke&amp;quot; eine Methode &amp;quot;krieche()&amp;quot; an, welche die Schnecke abhängig von ihrer Maximalgeschwindigkeit eine zufällige Strecke weiter bewegt. Soll heißen: Sie kriecht eine zufällige Strecke größer null und kleiner ihrer Maximalgeschwindigkeit.&lt;br /&gt;
#* Tipp: Schaut euch die Methode Math.random() aus der Java API an.&lt;br /&gt;
#:&lt;br /&gt;
#Lege in der Klasse &amp;quot;Rennschnecke&amp;quot; eine Methode &amp;quot;public String toString()&amp;quot; an, welche die Daten der Schnecke mit return als String zurückgibt.&lt;br /&gt;
#:&lt;br /&gt;
# Teste deine Klasse, indem du probehalber ein Rennschneckenobjekt erzeugst und seine Daten auf der Konsole ausgibst. &lt;br /&gt;
#*Tipp:Verwende zum Ausgeben der Daten die toString() Methode der Rennschnecke.&lt;br /&gt;
#:&lt;br /&gt;
#:&lt;br /&gt;
&lt;br /&gt;
== Rennen ==&lt;br /&gt;
&lt;br /&gt;
#Erstelle eine Klasse &amp;quot;Rennen&amp;quot;&lt;br /&gt;
#:&lt;br /&gt;
#Ein Rennen hat folgende Eigenschaften:&lt;br /&gt;
#*einen Namen&lt;br /&gt;
#*die Anzahl der teilnehmenden Schnecken&lt;br /&gt;
#*die teilnemenden Schnecken selbst (z.B. in einer [[Javakurs2007/ArrayList|ArrayList]])&lt;br /&gt;
#*die Länge der zu kriechenden Strecke&lt;br /&gt;
#:&lt;br /&gt;
#Überlege dir, welche dieser Werte bereits im Konstructor gesetzt werden sollten.&lt;br /&gt;
#:&lt;br /&gt;
#Lege in der Klasse &amp;quot;Rennen&amp;quot; eine Methode &amp;quot;void addRennschnecke(Rennschnecke neueSchnecke)&amp;quot; an, welche dem Rennen eine Schnecke hinzufügt.&lt;br /&gt;
#:&lt;br /&gt;
#Lege in der Klasse &amp;quot;Rennen&amp;quot; eine Methode &amp;quot;void removeRennschnecke(String name)&amp;quot; an, welche eine Schnecke aus dem Rennen entfernt.&lt;br /&gt;
#:&lt;br /&gt;
#Lege in der Klasse &amp;quot;Rennen&amp;quot; eine Methode &amp;quot;public String toString()&amp;quot; an, welche die Daten des Rennens mit return als String zurückgibt. &lt;br /&gt;
#*Tipp: Um die Daten der beteiligten Schnecken zurückzugeben, könnt ihr deren toString() Funktion benutzen.&lt;br /&gt;
#:&lt;br /&gt;
#Teste deine Klasse vom Hauptprogramm aus!&lt;br /&gt;
#:&lt;br /&gt;
#Lege in der Klasse &amp;quot;Rennen&amp;quot; eine Methode &amp;quot;Rennschnecke ermittleGewinner()&amp;quot; an, welche &#039;&#039;&#039;null&#039;&#039;&#039; zurückliefert, wenn noch keine der teilnemenden Schnecken das Ziel erreicht hat und anderenfalls die Gewinnerschnecke zurückgibt.&lt;br /&gt;
#:&lt;br /&gt;
#Lege in der Klasse &amp;quot;Rennen&amp;quot; eine Methode &amp;quot;void lasseSchneckenKriechen()&amp;quot; an, welche alle teilnemenden Schnecken einmal kriechen lässt.&lt;br /&gt;
#:&lt;br /&gt;
#Lege in der Klasse &amp;quot;Rennen&amp;quot; eine Methode &amp;quot;void durchfuehren()&amp;quot; an, welche so lange lasseSchneckenKriechen() aufruft, bis eine der Schnecken das Ziel erreicht hat.&lt;br /&gt;
#* Tipp: Ob eine Schnecke im Ziel angekommen ist, kannst du mit deiner Methode ermittleGewinner() herrausfinden.&lt;br /&gt;
&lt;br /&gt;
== Wettbüro ==&lt;br /&gt;
&lt;br /&gt;
#Erstelle eine Klasse Wettbuero.&lt;br /&gt;
#:&lt;br /&gt;
#:Ein Wettbuero hat die folgenden Eigenschaften:&lt;br /&gt;
#* Es weiß, für welches Rennen es seine Wetten entgegennimmt.&lt;br /&gt;
#* Es verfügt über eine Liste (z.B. eine Arraylist) von angenommenden Wetten.&lt;br /&gt;
#* Es hat einen festen Faktor, mit welchem Wetteinsätze bei einem Gewinn multipliziert werden.&lt;br /&gt;
#:&lt;br /&gt;
#Lege in der Klasse &amp;quot;Wettbuero&amp;quot; eine Methode &amp;quot;wetteAnnehmen(String schneckenName, int wetteinsatz, String spieler)&amp;quot; an, welche eine Wette entgegennimmt. Die Wette ist bezogen auf eine Schnecke für das Rennen, das von dem Büro bearbeitet wird.&lt;br /&gt;
#* Um die einzelnen Wetten speichern zu können, sollten ihre Daten in eigenen Objekten der Klasse &amp;quot;Wette&amp;quot; gespeichert werden. Erstellt euch diese Klasse selbst. &lt;br /&gt;
#* Tipp: Denkt an toString().&lt;br /&gt;
#:&lt;br /&gt;
#Lege in der Klasse &amp;quot;Wettbuero&amp;quot; eine Methode &amp;quot;rennenDurchfuehren()&amp;quot; an, welche das betreute Rennen durchfuert.&lt;br /&gt;
#:&lt;br /&gt;
#Lege in der Klasse &amp;quot;Wettbuero&amp;quot; eine Methode &amp;quot;toString()&amp;quot; an, welche die Daten des Wettbueros, die Daten des Rennens sowie sämtliche abgeschlossende Wetten als String zurückgibt.&lt;br /&gt;
#:&lt;br /&gt;
# Teste dein Programm!&lt;br /&gt;
#:&lt;br /&gt;
# Tausche die Klasse Rennen mit einem Kommilitonen, der ebenfalls bereits fertig ist.&lt;br /&gt;
#* Sollten eure Programme immer noch laufen?&lt;br /&gt;
#* Treten Fehler auf? Wenn ja: ändert eure Programme so ab, dass ihr problemlos Klassen austauschen könnt.&lt;br /&gt;
&lt;br /&gt;
== Zusatz ==&lt;br /&gt;
&lt;br /&gt;
Es gibt noch ein paar Dinge, die in unserem Wettbüro nicht so laufen wie sie sollten. &lt;br /&gt;
Macht sie besser.&lt;br /&gt;
&lt;br /&gt;
* Dieselbe Schnecke kann in ein Rennen zweimal eingetragen werden.&lt;br /&gt;
* Es können negative Wetten abgeschlossen werden.&lt;br /&gt;
* Gehen zwei Schnecken gleichzeitig durchs Ziel, wird die Schnecke ausgegeben, auf die die Suche nach dem Gewinner zuerst stößt. Das ist ganz schön ungerecht.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== Zusatz Vererbung ==&lt;br /&gt;
&lt;br /&gt;
* Wo Geld im Spiel ist wird auch betrogen. Aus diesem Grund wollen wir jezt auch gedopte Rennschnecken an unseren Rennen teilnehmen lassen. &lt;br /&gt;
** Erstelle eine Klasse &amp;quot;Dopingschnecke&amp;quot;, welche alle Attribute und Methoden der gemeinen &amp;quot;Rennschnecke&amp;quot; erbt.&lt;br /&gt;
** Überschreibe den geerbten Constructor, so das &amp;quot;Dopingschnecken&amp;quot; eine wesentlich höhere Maximalgeschwindigkeit erhalten als normale &amp;quot;Rennschnecken&amp;quot;.&lt;br /&gt;
** Überschreibe die geerbte Methode &amp;quot;String toString()&amp;quot; so dass Dopingschnecken anders ausgegeben werden als Rennschnecken (z.B. durch einen zusatz wie &amp;quot;rote Augen&amp;quot; oder ähnliches)&lt;br /&gt;
** Mische in einem Rennen Dopingschnecken unter deine Rennschnecken. Du musst dafür keinerlei Funktionalitäten änder. Dein Programm muss nicht wissen ob es sich um eine Dopingschnecke handelt, denn sie ist ja auch eine Rennschnecke.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kommentare ==&lt;br /&gt;
Wenn du Anmerkungen zur Aufgabe hast oder Lob und Kritik loswerden möchtest, ist hier die richtige Stelle dafür. Klicke einfach ganz rechts auf &amp;quot;bearbeiten&amp;quot; und schreibe deinen Kommentar direkt ins Wiki. Keine Scheu, es geht nichts kaputt ;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Als kleine Starthilfe folgt ein Beispiel, wie so ein Kommentar formatiert sein könnte. Mit &amp;quot;Vorschau zeigen&amp;quot; kannst du dir ansehen, was deine Änderung bewirken würde, ohne wirklich etwas zu ändern.&lt;br /&gt;
Du musst übrigens außerhalb dieses auskommentieren Bereichs schreiben ;)&lt;br /&gt;
&lt;br /&gt;
==== Robert ====&lt;br /&gt;
Na mal schauen, ob irgendjemand diese Funktion wirklich benutzt. Ich fände es jedenfalls toll.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Felix S. ====&lt;br /&gt;
&amp;quot;abhängig von ihrer Maximalgeschwindigkeit&amp;quot; verwirrte mehrmals Teilnehmer. Mathematischen Bezug/Verfahren hinschreiben bzw. erst mal auf das Kriechen konzentrieren.&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Javakurs2008/Tutorenportal&amp;diff=10800</id>
		<title>Javakurs2008/Tutorenportal</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Javakurs2008/Tutorenportal&amp;diff=10800"/>
		<updated>2008-04-05T17:10:23Z</updated>

		<summary type="html">&lt;p&gt;Dank: /* Review von Aufgaben */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links ==&lt;br /&gt;
&lt;br /&gt;
* [[Javakurs2008]]&lt;br /&gt;
* [[Javakurs2008/Orga]]&lt;br /&gt;
* [[Javakurs2008/Gliederung_Javakurs_2008]]&lt;br /&gt;
* [[Javakurs2008/%C3%9Cbungspool]]&lt;br /&gt;
&lt;br /&gt;
== Raumauslastung + Tutorenverteilung ==&lt;br /&gt;
Die Auslastung der Räume mit Tutanden wird dynamisch von den jeweiligen Tutoren eingetragen, um ein &amp;quot;load balancing&amp;quot; von Tutanden zu ermöglichen.&lt;br /&gt;
&lt;br /&gt;
Eine Hilfe zum Eintragen der Raumauslastung steht im Quelltext der Tabelle.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rote Zeilen bedeuten dass hier die eine Umverteilung statt finden sollte ....&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Montag:&#039;&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;2&amp;quot;&lt;br /&gt;
 |- bgcolor=&amp;quot;#D8D8D8&amp;quot;&lt;br /&gt;
 ! Raum&lt;br /&gt;
 ! Tutoren&lt;br /&gt;
 ! Tut#&lt;br /&gt;
 ! Plätze&lt;br /&gt;
 ! Motto&lt;br /&gt;
 ! Tutanden anwesend&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#FFE8E8&amp;quot;&lt;br /&gt;
 | MA241&lt;br /&gt;
 | Sebastian D&lt;br /&gt;
 | 3&lt;br /&gt;
 | ~40&lt;br /&gt;
 | &#039;&#039;&#039;UNIX POOL&#039;&#039;&#039;&lt;br /&gt;
 |                     &amp;lt;!-- Hier Tutanden für FR2516 eintragen--&amp;gt;&lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#FFE8E8&amp;quot;&lt;br /&gt;
 | FR2516&lt;br /&gt;
 | Reiner&lt;br /&gt;
 | 3&lt;br /&gt;
 | ~25&lt;br /&gt;
 | &#039;&#039;&#039;Notebookraum A&#039;&#039;&#039;&lt;br /&gt;
 |                     &amp;lt;!-- Hier Tutanden für FR2516 eintragen--&amp;gt;&lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | FR2517&lt;br /&gt;
 | Björn L., Michael&lt;br /&gt;
 | 2&lt;br /&gt;
 | 12&lt;br /&gt;
 |&lt;br /&gt;
 |                     &amp;lt;!-- Hier Tutanden für FR2517 eintragen--&amp;gt;&lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | FR5083&lt;br /&gt;
 | Florian&lt;br /&gt;
 | 1&lt;br /&gt;
 | 6&lt;br /&gt;
 |&lt;br /&gt;
 |                     &amp;lt;!-- Hier Tutanden für FR2516 eintragen--&amp;gt;&lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#FFE8E8&amp;quot;&lt;br /&gt;
 | FR5087&lt;br /&gt;
 | Martin Z., Gert&lt;br /&gt;
 | 2-3&lt;br /&gt;
 | ~15&lt;br /&gt;
 | &#039;&#039;&#039;Notebookraum B&#039;&#039;&#039;&lt;br /&gt;
 |                     &amp;lt;!-- Hier Tutanden für 5087 eintragen--&amp;gt;&lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | FR5535&lt;br /&gt;
 | Felix, Milan, Dan&lt;br /&gt;
 | 3&lt;br /&gt;
 | 14&lt;br /&gt;
 | Sprache: Englisch, Deutsch; &#039;&#039;&#039;Zentrale für eventuelle Probleme und Kommunikation&#039;&#039;&#039;&lt;br /&gt;
 |                          &amp;lt;!-- Hier Tutanden für FR5535 eintragen--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | FR5538&lt;br /&gt;
 | Daniel, Katrin&lt;br /&gt;
 | 2&lt;br /&gt;
 | 12&lt;br /&gt;
 | Eisentölpel &lt;br /&gt;
 |                          &amp;lt;!-- Hier Tutanden für FR5538 eintragen--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | FR5539&lt;br /&gt;
 | Kai, Nadim&lt;br /&gt;
 | 2&lt;br /&gt;
 | 12&lt;br /&gt;
 | (C)Ulli&lt;br /&gt;
 |                          &amp;lt;!-- Hier Tutanden für FR5539 eintragen--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | FR6514&lt;br /&gt;
 | Mario, Rbubert&lt;br /&gt;
 | 2&lt;br /&gt;
 | 13&lt;br /&gt;
 | Emerge The Gimp. But the Gimp&#039;s Masked! Well, ACCEPT_KEYWORD....&lt;br /&gt;
 |                          &amp;lt;!-- Hier Tutanden für FR5514 eintragen--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | &amp;lt;strike&amp;gt;FR2516&amp;lt;/strike&amp;gt;&lt;br /&gt;
 | &amp;lt;strike&amp;gt;Alex, Björn B.&amp;lt;/strike&amp;gt;&lt;br /&gt;
 | &amp;lt;strike&amp;gt;3&amp;lt;/strike&amp;gt;&lt;br /&gt;
 | &amp;lt;strike&amp;gt;18&amp;lt;/strike&amp;gt;&lt;br /&gt;
 |&lt;br /&gt;
 |                         &amp;lt;!-- Hier Tutanden für FR2516 eintragen--&amp;gt;&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tabellen für jeden Tag duplizieren.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Orga-Raum:&#039;&#039;&#039; FR5535&lt;br /&gt;
&lt;br /&gt;
== Abwesenheiten ==&lt;br /&gt;
* Zeiträume in denen Tutoren aus diversen Gründen vorraussichtlich nicht anwesend sein können werden hier aufgelistet (Es geht um mehrstündige Abwesenheit, nicht um früher gehen oder Mittagspäuschen ;) )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kommunikation ==&lt;br /&gt;
&lt;br /&gt;
Zur Kommunikation während der Tutorien stehen uns mehrere Medien zur Verfügung (siehe unten). Diese wird nötig sein, um z.B. auf (gefixte) Bugs in Aufgabenstellungen aufmerksam zu machen. (!)&lt;br /&gt;
Solche &amp;quot;Broadcast&amp;quot;-Nachrichten sollten über die Mailingliste ( siehe unten) gehen. Andere Kommunikation, wie z.B. wenn man Mal auf eine Frage keine Antwort weiss und einen anderen Tutor fragen will, könnte übers IRC gehen.&lt;br /&gt;
Auch der Weg zu Fuß in einen anderen Raum um dort zu fragen, sollte natürlich nicht ausgeschlossen werden ;-)&lt;br /&gt;
&lt;br /&gt;
=== Mailingliste ===&lt;br /&gt;
* javakurs-vl at lists.freitagsrunde.org&lt;br /&gt;
* javakurs-tut at lists.freitagsrunde.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== IRC ===&lt;br /&gt;
* Server: irc.freenode.net  [http://freenode.net/irc_servers.shtml mehr Server...]&lt;br /&gt;
* Channel: #freitagsrunde&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
* Nachbesprechung täglich 16.15 im Freitagsrundenraum ([[FR 5046]]).&lt;br /&gt;
* [http://docs.freitagsrunde.org/Veranstaltungen/javakurs_2007/orga/Bsp_Stunden.JPG Beispiel-Abrechnung] für Kursveranstalter/Tutoren&lt;br /&gt;
&lt;br /&gt;
== Review von Aufgaben ==&lt;br /&gt;
&lt;br /&gt;
# [[Javakurs2007/Von der Console zum HelloWorld | Vom Arbeiten mit der Konsole bis &amp;quot;Hallo Welt&amp;quot;]]&lt;br /&gt;
# [[Javakurs2007/Variablen_und_Zuweisungen | Variablen und Zuweisungen]]&lt;br /&gt;
# [[Javakurs2007/Cowsay | Cowsay oder &amp;quot;Wie macht die Kuh?&amp;quot;]]&lt;br /&gt;
# [[Javakurs2007/Kassenbon | Erstellen eines Kassenbons]]&lt;br /&gt;
# [[Javakurs2007/Javamenue | Ein eigenes Menü]]&lt;br /&gt;
# [[Javakurs2007/Glücksspiel | Glücksspiel]]&lt;br /&gt;
# [[Javakurs2007/Arrays | Quickies Arrays]]&lt;br /&gt;
# [[Javakurs2007/Verschachtelte_Schleifen | Verschachtelte Schleifen]]&lt;br /&gt;
# [[Javakurs2007/Primzahlenaufgabe | Primzahlen]] (Björn L.)&lt;br /&gt;
# [[Javakurs2007/Wetterstation | Wetterstation]] (Daniel K)&lt;br /&gt;
# [[Javakurs2007/Geometrie | Geometrie]]&lt;br /&gt;
# [[Javakurs2007/Zweierpotenzen | Zweierpotenzen]]&lt;br /&gt;
# [[Javakurs2007/Schleifen_und_Modulo | Schleifen und Modulo]] (Björn L.)&lt;br /&gt;
# [[Javakurs2007/Methoden | Quickies zu Methoden]]&lt;br /&gt;
# [[Javakurs2007/MathematischeMethoden | Eigene Methoden]]&lt;br /&gt;
# [[Javakurs2007/Schaltjahr | Schaltjahr]] Nadim&lt;br /&gt;
# [[Javakurs2007/Crack_the_Password | Crack the Password]]&lt;br /&gt;
# [[Javakurs2007/Rekursion_vs._Iteration | Rekursion vs. Iteration]]&lt;br /&gt;
# [[Javakurs2007/Lineare_Funktionen | Lineare Funktionen]]&lt;br /&gt;
# [[Javakurs2007/Fibonacci | Fibonaccizahlen]] Alex&lt;br /&gt;
# [[Javakurs2007/Brainfuck | Brainfuck vs Turingmaschine]] (Daniel K)&lt;br /&gt;
# [[Javakurs2007/Gau%C3%9F-Algorithmus | Gauß-Algorithmus]] Alex&lt;br /&gt;
# [[Javakurs2007/Zahlenumrechner | Zahlenumrechner]]&lt;br /&gt;
# [[Javakurs 2007/Democracy | Der Fehler im System]] (Björn L.)&lt;br /&gt;
# [[Javakurs2007/Quersumme | Spaß mit Quersummen]] Nadim&lt;br /&gt;
# [[Javakurs2007/Appleman | Appleman und Fraktale]]&lt;br /&gt;
# [[Javakurs2007/DiffusionLimitedAggregation | Diffusion Limited Aggregation]]&lt;br /&gt;
# [[Javakurs2007/Palindrome | Palindrome]] Nadim&lt;br /&gt;
# [[Javakurs2007/Hangman | Hangman]] Alex&lt;br /&gt;
# [[Javakurs2007/SelectionSort | Selection Sort]]&lt;br /&gt;
# [[Javakurs2007/Cäsar-Chiffre | Chiffrierung/Dechiffrierung (Cäsar)]]&lt;br /&gt;
# [[Javakurs2007/Abzaehlspiel | Abzählspiel]]&lt;br /&gt;
# [[Javakurs2006/Rennschnecke | Schneckenrennen]]&lt;br /&gt;
# [[Javakurs2007/Studentendatenbank_LE5 | Studentendatenbank]]&lt;br /&gt;
# [[Javakurs2007/Multiarray| Mehrdimensionale Arrays]]&lt;br /&gt;
# [[Javakurs2007/Canvas | Virtuelles Canvas mit 3D-Objekten]]&lt;br /&gt;
# [[Javakurs2007/Doom | ASCII DOOM ]]&lt;br /&gt;
# [[Javakurs2007/Textwordcount | Texte lesen und analysieren]]&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Javakurs/%C3%9Cbungsaufgaben/Brainfuck&amp;diff=9202</id>
		<title>Javakurs/Übungsaufgaben/Brainfuck</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Javakurs/%C3%9Cbungsaufgaben/Brainfuck&amp;diff=9202"/>
		<updated>2008-04-05T17:06:25Z</updated>

		<summary type="html">&lt;p&gt;Dank: /* Aufgabenstellung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Einführung===&lt;br /&gt;
&lt;br /&gt;
Java ist eine komplexe und mächtige Programmiersprache mit der man viele informatische Probleme lösen kann. Doch wie weit kann man den Befehlssatz einer Sprache reduzieren ohne das diese die Eigenschaft verliert, beliebige mathematische Probleme zu lösen? Diese spezielle Eigenschaft wird Turingkomplettheit genannt. Alle Programmiersprachen sind für gewöhnlich turingkomplett, was bedeutet, dass sie jedes berechenbare Problem lösen können. Zu diesen Problemen zählen zum Beispiel sämtliche mathematische Probleme, aber auch Probleme die eher struktureller Natur sind, also auch das Suchen von Einträgen in einer Kontaktliste (nein, der Weltfrieden ist leider nicht berechenbar).&lt;br /&gt;
&lt;br /&gt;
[[wikipedia:Brainfuck|Brainfuck]] ist eine Programmiersprache, die ebenfalls turingkomplett ist, allerdings nur aus &#039;&#039;&#039;acht&#039;&#039;&#039; Befehlen besteht. In dieser Aufgabe könnt ihr selbst einen auf einer Turingmaschine basierten Interpreter für eine eigene kleine Sprache schreiben, die man in einen weiteren Schritt Brainfuck-kompatibel machen kann und damit auch turingkomplett.&lt;br /&gt;
&lt;br /&gt;
===Aufgabenstellung===&lt;br /&gt;
&lt;br /&gt;
In dieser Aufgabe bauen wir uns eine simple [[wikipedia:Turingmaschine|Turingmaschine]], welche vorgegebenen Programmcode einer eigenen Sprache lesen und auswerten soll. Die Turingmaschine besitzt dabei nur ein Arbeitsband (workingTape) der Länge 10. Es existiert ein Lese/Schreibe-Kopf (head), der über das workingTape gleiten kann, dort Werte ändern und Werte ausgeben soll. Bewegt sich der Kopf über ein Ende des Arbeitsbandes hinaus, so taucht er auf der anderen Seite wieder auf (wenn also z.B der head von Feld 10 auf das 11. Feld bewegt wird, dann soll er wieder auf das 1. zeigen).&lt;br /&gt;
&lt;br /&gt;
Die Maschine selbst wird durch einen einfachen Programmcode gesteuert, der aus 5 Befehlen besteht:&lt;br /&gt;
* &#039;&#039;&#039;&amp;gt;&#039;&#039;&#039; Dieser Befehl bewegt den head ein Feld nach rechts&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;&#039;&#039;&#039; Dieser Befehl bewegt den head ein Feld nach links&lt;br /&gt;
* &#039;&#039;&#039;+&#039;&#039;&#039; Dieser Befehl erhöht den Wert des aktuellen Feldes um 1&lt;br /&gt;
* &#039;&#039;&#039;-&#039;&#039;&#039; Dieser Befehl verringert den Wert aktuelles Feldes um 1&lt;br /&gt;
* &#039;&#039;&#039;#&#039;&#039;&#039; Dieser Befehl gibt den aktuellen Wert auf der Konsole aus&lt;br /&gt;
&lt;br /&gt;
Der Programmcode der die Turingmaschine steuert, soll in einem Array namens &#039;&#039;sourceCode&#039;&#039; stehen, der Code soll Schritt für Schritt durchgegangen und ausgeführt werden. Auf dem Arbeitsband werden Werte vom Typ &#039;&#039;&#039;char&#039;&#039;&#039; gespeichert, die anfangs alle den Wert &#039;a&#039; haben. Der head zeigt am Anfang auf das erste Feld auf dem workingTape.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hinweis 1:&#039;&#039;&#039; char-Werte werden intern als Zahlenwerte gespeichert, deshalb könnt ihr ohne Probleme sowas wie &#039;&#039;&#039;char example = &#039;a&#039;+1;&#039;&#039;&#039; schreiben. Wenn ihr wissen wollt, welche Zeichen durch welche Zahlen repräsentiert werden, dann schaut in die [[wikipedia:ASCII-Tabelle|ASCII-Tabelle]].&lt;br /&gt;
&lt;br /&gt;
Jetzt solltet ihr auch in der Lage sein, mit eurer eigenen Turingmaschine ein &amp;quot;Hello World&amp;quot;-Programm zu schreiben. Wenn ihr eure Turingmaschine eigentständig erweitern wollt, dann schaut euch die Sprache [[wikipedia:Brainfuck|Brainfuck]] an. Brainfuck ist eine Programmiersprache, welche ähnlich arbeitet wie unsere Turingmaschine in dieser Aufgabe.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hinweis 2:&#039;&#039;&#039; Zum Testen verwendet einfach diese Initialisierung der Variable Source-Code. Wenn ihr alles richtig gemacht habt, dann sollten die Buchstaben a, b  und c ausgegeben werden. Die Schreibweise mit den geschweiften Klammern und den Kommawerten legt automatisch ein Array an und füllt es mit den beschriebenen Werten (Deklaration &amp;amp; Initialisierung in einem Schritt):&lt;br /&gt;
 char[] sourceCode = {&#039;#&#039;, &#039;+&#039;, &#039;#&#039;, &#039;+&#039;, &#039;#&#039;};&lt;br /&gt;
&lt;br /&gt;
== Kommentare ==&lt;br /&gt;
Wenn du Anmerkungen zur Aufgabe hast oder Lob und Kritik loswerden möchtest, ist hier die richtige Stelle dafür. Klicke einfach ganz rechts auf &amp;quot;bearbeiten&amp;quot; und schreibe deinen Kommentar direkt ins Wiki. Keine Scheu, es geht nichts kaputt ;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Als kleine Starthilfe folgt ein Beispiel, wie so ein Kommentar formatiert sein könnte. Mit &amp;quot;Vorschau zeigen&amp;quot; kannst du dir ansehen, was deine Änderung bewirken würde, ohne wirklich etwas zu ändern.&lt;br /&gt;
Du musst übrigens außerhalb dieses auskommentieren Bereichs schreiben ;)&lt;br /&gt;
&lt;br /&gt;
==== Robert ====&lt;br /&gt;
Na mal schauen, ob irgendjemand diese Funktion wirklich benutzt. Ich fände es jedenfalls toll.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
==== FehlerKategorie ====&lt;br /&gt;
Um den Char um einen Wert zu erhöhen müsst ihr eure Variable zurück casten.&lt;br /&gt;
 char Example = (char)(&#039;a&#039;-1);&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Das stimmt nicht man kann auch das schreiben:&lt;br /&gt;
 char Example = &#039;a&#039; - 1;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Sorry wenn ich das so schreibe, aber das ist die erste Aufgabenstellung wo sich mir der Hintegrund, bzw. der Sinn nicht wirklich erschliesst, wäre jemand der das verstanden hat so freundlich das ganze ein wenig mehr zu erläutern? Das wäre ultranett :&amp;gt;.&lt;br /&gt;
-mw-&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Javakurs2008/Tutorenportal&amp;diff=10799</id>
		<title>Javakurs2008/Tutorenportal</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Javakurs2008/Tutorenportal&amp;diff=10799"/>
		<updated>2008-04-05T16:46:21Z</updated>

		<summary type="html">&lt;p&gt;Dank: /* Review von Aufgaben */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links ==&lt;br /&gt;
&lt;br /&gt;
* [[Javakurs2008]]&lt;br /&gt;
* [[Javakurs2008/Orga]]&lt;br /&gt;
* [[Javakurs2008/Gliederung_Javakurs_2008]]&lt;br /&gt;
* [[Javakurs2008/%C3%9Cbungspool]]&lt;br /&gt;
&lt;br /&gt;
== Raumauslastung + Tutorenverteilung ==&lt;br /&gt;
Die Auslastung der Räume mit Tutanden wird dynamisch von den jeweiligen Tutoren eingetragen, um ein &amp;quot;load balancing&amp;quot; von Tutanden zu ermöglichen.&lt;br /&gt;
&lt;br /&gt;
Eine Hilfe zum Eintragen der Raumauslastung steht im Quelltext der Tabelle.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rote Zeilen bedeuten dass hier die eine Umverteilung statt finden sollte ....&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Montag:&#039;&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;2&amp;quot;&lt;br /&gt;
 |- bgcolor=&amp;quot;#D8D8D8&amp;quot;&lt;br /&gt;
 ! Raum&lt;br /&gt;
 ! Tutoren&lt;br /&gt;
 ! Tut#&lt;br /&gt;
 ! Plätze&lt;br /&gt;
 ! Motto&lt;br /&gt;
 ! Tutanden anwesend&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#FFE8E8&amp;quot;&lt;br /&gt;
 | MA241&lt;br /&gt;
 | Sebastian D&lt;br /&gt;
 | 3&lt;br /&gt;
 | ~40&lt;br /&gt;
 | &#039;&#039;&#039;UNIX POOL&#039;&#039;&#039;&lt;br /&gt;
 |                     &amp;lt;!-- Hier Tutanden für FR2516 eintragen--&amp;gt;&lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#FFE8E8&amp;quot;&lt;br /&gt;
 | FR2516&lt;br /&gt;
 | Reiner&lt;br /&gt;
 | 3&lt;br /&gt;
 | ~25&lt;br /&gt;
 | &#039;&#039;&#039;Notebookraum A&#039;&#039;&#039;&lt;br /&gt;
 |                     &amp;lt;!-- Hier Tutanden für FR2516 eintragen--&amp;gt;&lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | FR2517&lt;br /&gt;
 | Björn L., Michael&lt;br /&gt;
 | 2&lt;br /&gt;
 | 12&lt;br /&gt;
 |&lt;br /&gt;
 |                     &amp;lt;!-- Hier Tutanden für FR2517 eintragen--&amp;gt;&lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | FR5083&lt;br /&gt;
 | Florian&lt;br /&gt;
 | 1&lt;br /&gt;
 | 6&lt;br /&gt;
 |&lt;br /&gt;
 |                     &amp;lt;!-- Hier Tutanden für FR2516 eintragen--&amp;gt;&lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#FFE8E8&amp;quot;&lt;br /&gt;
 | FR5087&lt;br /&gt;
 | Martin Z., Gert&lt;br /&gt;
 | 2-3&lt;br /&gt;
 | ~15&lt;br /&gt;
 | &#039;&#039;&#039;Notebookraum B&#039;&#039;&#039;&lt;br /&gt;
 |                     &amp;lt;!-- Hier Tutanden für 5087 eintragen--&amp;gt;&lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | FR5535&lt;br /&gt;
 | Felix, Milan, Dan&lt;br /&gt;
 | 3&lt;br /&gt;
 | 14&lt;br /&gt;
 | Sprache: Englisch, Deutsch; &#039;&#039;&#039;Zentrale für eventuelle Probleme und Kommunikation&#039;&#039;&#039;&lt;br /&gt;
 |                          &amp;lt;!-- Hier Tutanden für FR5535 eintragen--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | FR5538&lt;br /&gt;
 | Daniel, Katrin&lt;br /&gt;
 | 2&lt;br /&gt;
 | 12&lt;br /&gt;
 | Eisentölpel &lt;br /&gt;
 |                          &amp;lt;!-- Hier Tutanden für FR5538 eintragen--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | FR5539&lt;br /&gt;
 | Kai, Nadim&lt;br /&gt;
 | 2&lt;br /&gt;
 | 12&lt;br /&gt;
 | (C)Ulli&lt;br /&gt;
 |                          &amp;lt;!-- Hier Tutanden für FR5539 eintragen--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | FR6514&lt;br /&gt;
 | Mario, Rbubert&lt;br /&gt;
 | 2&lt;br /&gt;
 | 13&lt;br /&gt;
 | Emerge The Gimp. But the Gimp&#039;s Masked! Well, ACCEPT_KEYWORD....&lt;br /&gt;
 |                          &amp;lt;!-- Hier Tutanden für FR5514 eintragen--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | &amp;lt;strike&amp;gt;FR2516&amp;lt;/strike&amp;gt;&lt;br /&gt;
 | &amp;lt;strike&amp;gt;Alex, Björn B.&amp;lt;/strike&amp;gt;&lt;br /&gt;
 | &amp;lt;strike&amp;gt;3&amp;lt;/strike&amp;gt;&lt;br /&gt;
 | &amp;lt;strike&amp;gt;18&amp;lt;/strike&amp;gt;&lt;br /&gt;
 |&lt;br /&gt;
 |                         &amp;lt;!-- Hier Tutanden für FR2516 eintragen--&amp;gt;&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tabellen für jeden Tag duplizieren.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Orga-Raum:&#039;&#039;&#039; FR5535&lt;br /&gt;
&lt;br /&gt;
== Abwesenheiten ==&lt;br /&gt;
* Zeiträume in denen Tutoren aus diversen Gründen vorraussichtlich nicht anwesend sein können werden hier aufgelistet (Es geht um mehrstündige Abwesenheit, nicht um früher gehen oder Mittagspäuschen ;) )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kommunikation ==&lt;br /&gt;
&lt;br /&gt;
Zur Kommunikation während der Tutorien stehen uns mehrere Medien zur Verfügung (siehe unten). Diese wird nötig sein, um z.B. auf (gefixte) Bugs in Aufgabenstellungen aufmerksam zu machen. (!)&lt;br /&gt;
Solche &amp;quot;Broadcast&amp;quot;-Nachrichten sollten über die Mailingliste ( siehe unten) gehen. Andere Kommunikation, wie z.B. wenn man Mal auf eine Frage keine Antwort weiss und einen anderen Tutor fragen will, könnte übers IRC gehen.&lt;br /&gt;
Auch der Weg zu Fuß in einen anderen Raum um dort zu fragen, sollte natürlich nicht ausgeschlossen werden ;-)&lt;br /&gt;
&lt;br /&gt;
=== Mailingliste ===&lt;br /&gt;
* javakurs-vl at lists.freitagsrunde.org&lt;br /&gt;
* javakurs-tut at lists.freitagsrunde.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== IRC ===&lt;br /&gt;
* Server: irc.freenode.net  [http://freenode.net/irc_servers.shtml mehr Server...]&lt;br /&gt;
* Channel: #freitagsrunde&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
* Nachbesprechung täglich 16.15 im Freitagsrundenraum ([[FR 5046]]).&lt;br /&gt;
* [http://docs.freitagsrunde.org/Veranstaltungen/javakurs_2007/orga/Bsp_Stunden.JPG Beispiel-Abrechnung] für Kursveranstalter/Tutoren&lt;br /&gt;
&lt;br /&gt;
== Review von Aufgaben ==&lt;br /&gt;
&lt;br /&gt;
# [[Javakurs2007/Von der Console zum HelloWorld | Vom Arbeiten mit der Konsole bis &amp;quot;Hallo Welt&amp;quot;]]&lt;br /&gt;
# [[Javakurs2007/Variablen_und_Zuweisungen | Variablen und Zuweisungen]]&lt;br /&gt;
# [[Javakurs2007/Cowsay | Cowsay oder &amp;quot;Wie macht die Kuh?&amp;quot;]]&lt;br /&gt;
# [[Javakurs2007/Kassenbon | Erstellen eines Kassenbons]]&lt;br /&gt;
# [[Javakurs2007/Javamenue | Ein eigenes Menü]]&lt;br /&gt;
# [[Javakurs2007/Glücksspiel | Glücksspiel]]&lt;br /&gt;
# [[Javakurs2007/Arrays | Quickies Arrays]]&lt;br /&gt;
# [[Javakurs2007/Verschachtelte_Schleifen | Verschachtelte Schleifen]]&lt;br /&gt;
# [[Javakurs2007/Primzahlenaufgabe | Primzahlen]] (Björn L.)&lt;br /&gt;
# [[Javakurs2007/Wetterstation | Wetterstation]] (Daniel K)&lt;br /&gt;
# [[Javakurs2007/Geometrie | Geometrie]]&lt;br /&gt;
# [[Javakurs2007/Zweierpotenzen | Zweierpotenzen]]&lt;br /&gt;
# [[Javakurs2007/Schleifen_und_Modulo | Schleifen und Modulo]] (Björn L.)&lt;br /&gt;
# [[Javakurs2007/Methoden | Quickies zu Methoden]]&lt;br /&gt;
# [[Javakurs2007/MathematischeMethoden | Eigene Methoden]]&lt;br /&gt;
# [[Javakurs2007/Schaltjahr | Schaltjahr]] Nadim&lt;br /&gt;
# [[Javakurs2007/Crack_the_Password | Crack the Password]]&lt;br /&gt;
# [[Javakurs2007/Rekursion_vs._Iteration | Rekursion vs. Iteration]]&lt;br /&gt;
# [[Javakurs2007/Lineare_Funktionen | Lineare Funktionen]]&lt;br /&gt;
# [[Javakurs2007/Fibonacci | Fibonaccizahlen]] Alex&lt;br /&gt;
# [[Javakurs2007/Brainfuck | Brainfuck vs Turingmaschine]]&lt;br /&gt;
# [[Javakurs2007/Gau%C3%9F-Algorithmus | Gauß-Algorithmus]] Alex&lt;br /&gt;
# [[Javakurs2007/Zahlenumrechner | Zahlenumrechner]]&lt;br /&gt;
# [[Javakurs 2007/Democracy | Der Fehler im System]] (Björn L.)&lt;br /&gt;
# [[Javakurs2007/Quersumme | Spaß mit Quersummen]] Nadim&lt;br /&gt;
# [[Javakurs2007/Appleman | Appleman und Fraktale]]&lt;br /&gt;
# [[Javakurs2007/DiffusionLimitedAggregation | Diffusion Limited Aggregation]]&lt;br /&gt;
# [[Javakurs2007/Palindrome | Palindrome]] Nadim&lt;br /&gt;
# [[Javakurs2007/Hangman | Hangman]] Alex&lt;br /&gt;
# [[Javakurs2007/SelectionSort | Selection Sort]]&lt;br /&gt;
# [[Javakurs2007/Cäsar-Chiffre | Chiffrierung/Dechiffrierung (Cäsar)]]&lt;br /&gt;
# [[Javakurs2007/Abzaehlspiel | Abzählspiel]]&lt;br /&gt;
# [[Javakurs2006/Rennschnecke | Schneckenrennen]]&lt;br /&gt;
# [[Javakurs2007/Studentendatenbank_LE5 | Studentendatenbank]]&lt;br /&gt;
# [[Javakurs2007/Multiarray| Mehrdimensionale Arrays]]&lt;br /&gt;
# [[Javakurs2007/Canvas | Virtuelles Canvas mit 3D-Objekten]]&lt;br /&gt;
# [[Javakurs2007/Doom | ASCII DOOM ]]&lt;br /&gt;
# [[Javakurs2007/Textwordcount | Texte lesen und analysieren]]&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Javakurs/%C3%9Cbungsaufgaben/Wetterstation&amp;diff=9824</id>
		<title>Javakurs/Übungsaufgaben/Wetterstation</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Javakurs/%C3%9Cbungsaufgaben/Wetterstation&amp;diff=9824"/>
		<updated>2008-04-05T16:45:56Z</updated>

		<summary type="html">&lt;p&gt;Dank: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Aufgabe ===&lt;br /&gt;
&lt;br /&gt;
Eine Wetterstation hat für 14 Tage folgende Temperaturwerte aufgenommen.&lt;br /&gt;
	 	 &lt;br /&gt;
 Tag:         1  2  3  4  5  6  7  8  9 10 11 12 13 14&lt;br /&gt;
 Temperatur: 12 14  9 12 15 16 15 15 11  8 13 13 15 12&lt;br /&gt;
	 &lt;br /&gt;
# Speichere die folgende Tabelle mit einem geeigneten Datentyp.&lt;br /&gt;
# Schreibe ein Programm, welches die Durchschnittstemperatur für die zwei Wochen bestimmt.&lt;br /&gt;
# Schreibe ein Programm, welches die maximale und minimale Temperatur ausgibt.&lt;br /&gt;
# Schreibe ein Programm, welches die beiden aufeinanderfolgenden Tage angeben kann, an denen es den größten Temperaturumschwung gab.&lt;br /&gt;
# Schreibe ein Programm, welches die Tabelle schön tabellarisch auf der Konsole ausgibt.&lt;br /&gt;
&lt;br /&gt;
== Kommentare ==&lt;br /&gt;
Wenn du Anmerkungen zur Aufgabe hast oder Lob und Kritik loswerden möchtest, ist hier die richtige Stelle dafür. Klicke einfach ganz rechts auf &amp;quot;bearbeiten&amp;quot; und schreibe deinen Kommentar direkt ins Wiki. Keine Scheu, es geht nichts kaputt ;)&lt;br /&gt;
&lt;br /&gt;
==== Felix S. ====&lt;br /&gt;
Verwirrend fuer viele war, dass die Zahlen von 01-08 angegeben sind, weil man damit im Oktalsystem Probleme bekommt. Zudem waere es vielleicht einfacher, wenn der Tag wie ein Array bei 0 beginnt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Als kleine Starthilfe folgt ein Beispiel, wie so ein Kommentar formatiert sein könnte. Mit &amp;quot;Vorschau zeigen&amp;quot; kannst du dir ansehen, was deine Änderung bewirken würde, ohne wirklich etwas zu ändern.&lt;br /&gt;
Du musst übrigens außerhalb dieses auskommentieren Bereichs schreiben ;)&lt;br /&gt;
&lt;br /&gt;
==== Robert ====&lt;br /&gt;
Na mal schauen, ob irgendjemand diese Funktion wirklich benutzt. Ich fände es jedenfalls toll.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Javakurs2008/Orga&amp;diff=10636</id>
		<title>Javakurs2008/Orga</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Javakurs2008/Orga&amp;diff=10636"/>
		<updated>2008-02-13T11:56:12Z</updated>

		<summary type="html">&lt;p&gt;Dank: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039; TODOS &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Wer organisiert?&lt;br /&gt;
 * Mario&lt;br /&gt;
 * RBU ?&lt;br /&gt;
 * Björn ?&lt;br /&gt;
 * Felix F. (In den Ferien)&lt;br /&gt;
&lt;br /&gt;
* Wer macht PR?&lt;br /&gt;
 * Mario&lt;br /&gt;
 * RBU&lt;br /&gt;
 * Kai&lt;br /&gt;
 * Marko&lt;br /&gt;
 * Björn ?&lt;br /&gt;
&lt;br /&gt;
* Wer macht einen Vortrag?&lt;br /&gt;
 * Mario&lt;br /&gt;
 * Kai&lt;br /&gt;
 * Felix F.&lt;br /&gt;
 * Milan&lt;br /&gt;
 * Robert L.&lt;br /&gt;
 * Daniel K.&lt;br /&gt;
&lt;br /&gt;
* Müssen die überarbeitet werden?&lt;br /&gt;
 * Der Vortrag zum Thema OOP evtl&lt;br /&gt;
&lt;br /&gt;
* Wer wird Tutor?&lt;br /&gt;
 * Gert Geidel (gertimon(ät)gmx.de)&lt;br /&gt;
 * Sebastian Koch (skoch(ät)cs.tu-berlin.de - Noch nicht bestättigt)&lt;br /&gt;
&lt;br /&gt;
* Wer stellt das Anmeldeskript zur Verfügung?&lt;br /&gt;
 * Florian (erledigt)&lt;br /&gt;
&lt;br /&gt;
* Wer kümmert sich um die Räume?&lt;br /&gt;
 * Uwe Hahne? (WM von Prof. Alexa)&lt;br /&gt;
&lt;br /&gt;
* Wie machen wir das mit dem Geld? (OWL?)&lt;br /&gt;
 * Felix wird Mitte Februar nochmal bei der Zuständigen anfragen ....&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Eclipsekurs_2007/Tag_2&amp;diff=10489</id>
		<title>Eclipsekurs 2007/Tag 2</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Eclipsekurs_2007/Tag_2&amp;diff=10489"/>
		<updated>2007-11-17T14:43:14Z</updated>

		<summary type="html">&lt;p&gt;Dank: Die Verkehr.zip lies sich nicht ordentlich imporiteren, deshalb habe ich das schnell geändert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Aufgabe: Grundlagen ==&lt;br /&gt;
* Für die Leute, die noch ein wenig mehr mit den Grundlagen der Programmiersprache Java üben möchten, haben wir [[Javakurs2006/Uebungsaufgaben | hier]] viele kleine Aufgaben hinterlegt. &lt;br /&gt;
* Wer die Grundlagen der Java-Programmierung versteht und keine (bzw. sehr wenige) Probleme mit der Rennschneckenaufgabe von der letzten Eclipse-Übung hatte, kann ruhig den Schwerpunkt dieser Übungseinheit stärker auf Eclipse legen und folgende Aufgaben angehen:&lt;br /&gt;
&lt;br /&gt;
==Aufgabe: Importieren und Exportieren ==&lt;br /&gt;
&lt;br /&gt;
* Erstelle ein Java-Projekt &amp;quot;Matrix&amp;quot; und importiere die Datei [http://docs.freitagsrunde.org/Veranstaltungen/eclipsekurs_2006/MatrixClass.zip MatrixClass.zip] als Archivdatei in das Projekt. Füge das &amp;quot;Test&amp;quot;-Verzeichnis in im Menü &amp;quot;Properties&amp;quot; von &amp;quot;Project&amp;quot; dem Java-Build-Path hinzu. Um zu sehen, dass die .class Dateien zum Ausführen eines Programms reichen, starte das Projekt.&lt;br /&gt;
** &#039;&#039;Tipp:&#039;&#039; Wechsle zur Navigator-Ansicht, um die importierten .class Dateien zu sehen.&lt;br /&gt;
** &#039;&#039;Hinweis:&#039;&#039; Die Hauptklasse des Projekts ist &#039;&#039;MatrixTest&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
* Nun importiere den Quellcode hierzu aus der Archivdatei [http://docs.freitagsrunde.org/Veranstaltungen/eclipsekurs_2006/MatrixJava.zip MatrixJava.zip] in dein Projekt. Verändere die Klasse &#039;&#039;Matrix&#039;&#039; mittels Refactoring:&lt;br /&gt;
** Gib der Instanzvariable &#039;&#039;giveMeAName&#039;&#039; einen sinnvollen Namen.&lt;br /&gt;
&lt;br /&gt;
* Exportiere die beiden bearbeiteten Java-Dateien in eine Archivdatei und schicke sie an deinen Tischnachbarn, der freut sich bestimmt.&lt;br /&gt;
      &lt;br /&gt;
&#039;&#039;Tipp:&#039;&#039; Achte darauf, dass die Archivdatei das gesamte Projekt enthält, damit es von jemandem importiert werden kann, ohne dass vorher extra ein neues Projekt angelegt werden muss.&lt;br /&gt;
&lt;br /&gt;
== Subversion Repository ==&lt;br /&gt;
&lt;br /&gt;
Wir haben für euch ein Subversion-Repository im CS-Netz angelegt, das ihr für die folgenden Aufgaben nutzen könnt. Checkt euch ein eigenes Verzeichnis davon aus und fügt eure Lösungen dort hinzu.&lt;br /&gt;
&lt;br /&gt;
* Stellt sicher, dass euer Eclipse mit dem [http://subclipse.tigris.org/ Subclipse-Plugin] versehen ist. Wenn ihr Eclipse im CS-Netz nutzt, fügt einfach die &amp;quot;Repository Location&amp;quot; wie auf dem Beipackzettel beschrieben hinzu. Falls nicht, fügt es über &amp;quot;Help-&amp;gt;Software Updates-&amp;gt;Find and Install&amp;quot; hinzu.&lt;br /&gt;
* Erstellt ein neues Java-Projekt. Über Rechtsclick -&amp;gt; &amp;quot;Team -&amp;gt; Share Project&amp;quot; wählt ihr &amp;quot;SVN&amp;quot; aus.  &lt;br /&gt;
* Gebt als Repository Location folgendes an, clickt danach auf Next - nicht auf Finish:&lt;br /&gt;
 svn+ssh://condesa.cs.tu-berlin.de/home/dyroff/repos/eclipsekurs/&lt;br /&gt;
* Im folgenden Dialog wählt bitte &amp;quot;Use specified folder name&amp;quot; aus und fragt euren Tutor nach einer Nummer für euer Projekt, die ihr allein haben könnt. Gebt als Folder Name dann euren Raum und eure Nummer ein, z.B. &amp;quot;2516/20&amp;quot; für Nummer 20 in Raum 2516.&lt;br /&gt;
* Gebt im folgenden Fenster euren eigenen Benutzernamen und euer CS-Passwort in das entsprechende Feld ein. Das darauf folgende Fenster &amp;quot;Enter SVN Author Name&amp;quot; bitte einfach bestätigen.&lt;br /&gt;
&lt;br /&gt;
* Folgt den weiteren Schritten und arbeitet eine der nächsten Aufgaben unten ab.&lt;br /&gt;
* Führt Commits nach einigen Änderungen durch!&lt;br /&gt;
&lt;br /&gt;
==Aufgabe: Refactoring ==&lt;br /&gt;
&lt;br /&gt;
Herzlichen Glückwunsch, du wurdest bei der &amp;quot;Luft- und Bodenverkehr AG&amp;quot; eingestellt! Deine erste Aufgabe als neuer Entwickler der firmeneigenen Software ist es, diese in einen wartbaren und besser verständlichen Zustand zu bringen. Dein Vorgänger, ein Java-Crack, der auf den Programmier-Editor HackPad schwört, musste aufgrund geringer Produktivität leider von dieser Aufgabe abgezogen werden. Nun darfst du dich mit Eclipse daran versuchen!&lt;br /&gt;
&lt;br /&gt;
* Importiere die folgende Zip-Datei in ein leeres Projekt [http://user.cs.tu-berlin.de/~dkaes/Verkehr.zip Verkehr.zip].&lt;br /&gt;
* Zu deinem Schrecken findest du ein Chaos vor. Bringe zuerst die Klassen in eine sinnvolle Ordnung, indem du sie per Drag-and-Drop in die richtigen Java-Packages einordnest.&lt;br /&gt;
* Dir wird aufgefallen sein, dass einige Klassen sehr seltsame und/oder falsch geschriebene Namen haben. Gib diesen Klassen bessere bzw. korrekte Namen. Benutze dafür die Refactoring-Funktion &amp;quot;Rename&amp;quot;.&lt;br /&gt;
* Beim Durchsehen der Klassen fällt dir folgendes auf:&lt;br /&gt;
** Die Klassen mit den (ehemaligen) Namen &amp;quot;Farrad&amp;quot; und &amp;quot;MeinAuto&amp;quot; enthalten beide Code, der die Anzahl der Räder zurückgibt. Benutze die Refactoring-Funktion &amp;quot;Pull Up&amp;quot;, so dass in einem Schritt der identische Code von &#039;&#039;anzahl()&#039;&#039; aus beiden Klassen entfernt und in die gemeinsame Mutterklasse verschoben wird. Führt Eclipse diese Aktion aus, ohne sich zu beschweren? Falls nicht, nicht nutze das von Eclipse erzeugte Preview um das Problem zu erkennen. Dann gehe zurück im Refactoring-Dialog und versuche das Problem zu beseitigen.&lt;br /&gt;
*** &#039;&#039;Tipp:&#039;&#039; Es hat mit dem Attribut &amp;quot;anzahlRaeder&amp;quot; zu tun!&lt;br /&gt;
** Alle Klassen, die ein konkretes Verkehrsmittel modellieren (Auto, Fahrrad, Flugzeug, ...), haben Funktionen um die Farbe zurückzuliefern. Verschiebe diese zusammen mit dem Attribut &amp;quot;farbe&amp;quot; in die gemeinsame Mutterklasse.&lt;br /&gt;
** In der (ehemaligen) Klasse &#039;&#039;MeinAuto&#039;&#039; kommt Code mehrfach vor. Benutze die Refactoring-Funktion &amp;quot;Extract Method&amp;quot; um dieses Problem zu beseitigen.&lt;br /&gt;
** Während du den soeben extrahierten Code durchliest, fällt dir auf, dass er viel verständlicher wäre, wenn die Variablen sprechende Namen hätten. Nutze die Refactoring-Funktion &amp;quot;Rename&amp;quot; um dies zu erreichen.&lt;br /&gt;
&lt;br /&gt;
==Aufgabe: Standardnormalverteilung (einfach)==&lt;br /&gt;
* Ihr könnt euch entscheiden, ob ihr diese Aufgabe oder die nächste Aufgabe machen wollt (oder beide!).&lt;br /&gt;
* Lade die Datei [http://docs.freitagsrunde.org/Veranstaltungen/eclipsekurs_2006/StandardNormalVerteilung.java StandardNormalVerteilung.java] herunter und importiere sie in das Projekt &amp;quot;Einstein&amp;quot;.&lt;br /&gt;
* Setze einen Breakpoint in der main-Methode (siehe TODO) und starte das Programm im Debug-Modus.&lt;br /&gt;
* Benutze die &#039;&#039;&#039;Step into/Step over/Run to return/Resume&#039;&#039;&#039; Buttons im Debugger, um folgendes herauszufinden:&lt;br /&gt;
** &#039;&#039;Hinweis:&#039;&#039; Dies lässt sich alles in einem einzigen Programmdurchlauf herausfinden (du kannst aber natürlich trotzdem mehrere Anläufe nehmen bis du es raus hast)&lt;br /&gt;
** Im ersten Aufruf von &#039;&#039;normalVerteilung()&#039;&#039;:&lt;br /&gt;
*** Welcher Wert wird &#039;&#039;xi&#039;&#039;  im 2. Durchlauf der 1. Schleife zugewiesen?&lt;br /&gt;
*** Welcher Wert wird &#039;&#039;summe&#039;&#039; im 2. Durchlauf der 2. Schleife zugewiesen? &lt;br /&gt;
*** &#039;&#039;Tipp:&#039;&#039; Um letzteres herauszufinden kannst du &#039;&#039;zur Laufzeit des Programms&#039;&#039; noch einen Breakpoint einfügen!&lt;br /&gt;
** Im zweiten Aufruf von &#039;&#039;normalVerteilung()&#039;&#039;:&lt;br /&gt;
*** Welchen Wert hat &#039;&#039;summe&#039;&#039; am Ende des Methodenaufrufs? Ermittle dies &#039;&#039;&#039;innerhalb&#039;&#039;&#039; des Aufrufs von &#039;&#039;normalVerteilung()&#039;&#039;!&lt;br /&gt;
*** &#039;&#039;Tipp:&#039;&#039; Auch hier kannst du zur Laufzeit wieder Breakpoints einfügen und entfernen!&lt;br /&gt;
** Lass das Programm bis zum Ende laufen (es erscheint eine Ausgabe auf der Konsole).&lt;br /&gt;
&lt;br /&gt;
==Aufgabe: Micki Maus im Labyrinth (etwas schwerer)==&lt;br /&gt;
&lt;br /&gt;
* Ihr könnt euch entscheiden, ob ihr diese Aufgabe oder die vorige Aufgabe machen wollt (oder beide!).&lt;br /&gt;
* Bei dieser Aufgabe geht es auch darum, den Eclipse Debugger ein wenig kennenzulernen.&lt;br /&gt;
&lt;br /&gt;
* Ladet euch die Aufgabe unter [http://docs.freitagsrunde.org/Veranstaltungen/eclipsekurs_2007/MickiMaus.jar MickiMaus.jar] herunter und importiert diese wie ihr es schon in Aufgabe 1 getan habt.&lt;br /&gt;
&lt;br /&gt;
Micki die Maus, befindet sich in einem Labyrinth und muss den Käse finden. Ihr sollt nun &lt;br /&gt;
ihren Weg mit Hilfe des Debuggers verfolgen. Setzt dazu einen Breakpoint auf den Methodenaufruf von Mouse.dfs(),&lt;br /&gt;
also in Zeile 30 und in Zeile 40 am &#039;return&#039;. Wechselt dann auf die Debuggeransicht und startet den Debugger, indem ihr auf das Käfer-Symbol&lt;br /&gt;
klickt. Um zu sehen, welchen Weg Micki wählt, schaut euch in der &amp;quot;Variables View&amp;quot; die Variable this.currentNode an. Micki sollte&lt;br /&gt;
auf den Koordinaten (1,1) stehen. Nun könnt ihr mit der Funktion &amp;quot;Resume&amp;quot; einen Schritt weitergehen. (Es ist normal,&lt;br /&gt;
dass sich Micki beim ersten Schritt nicht bewegt :-). Probiert auch mal die anderen Debugger-Funktionen&lt;br /&gt;
&amp;quot;Step into&amp;quot;, &amp;quot;Step over&amp;quot; und &amp;quot;Step return&amp;quot; aus. Am Ende sollte Micki den Käse gefunden haben.&lt;br /&gt;
&lt;br /&gt;
Das Labyrinth sieht folgendermaßen aus:&lt;br /&gt;
&lt;br /&gt;
    01234567 &lt;br /&gt;
  0 ########&lt;br /&gt;
  1 #S#   ##&lt;br /&gt;
  2 # #K#  #&lt;br /&gt;
  3 # #### #&lt;br /&gt;
  4 # #### #&lt;br /&gt;
  5 #   X  #&lt;br /&gt;
  6 #### ###&lt;br /&gt;
  7 ########&lt;br /&gt;
&lt;br /&gt;
Die Stelle X ist beipielsweiße mit den Koordinaten (4,5) beschrieben. Micki befindet sich anfangs bei (1,1) also S und der Käse ist mit einem K markiert also (3,2). &lt;br /&gt;
&lt;br /&gt;
=== Wer macht was ===&lt;br /&gt;
Zur Erinnerung: Der Debugger bietet dir mehrere Möglichkeiten, dein Programm fortzusetzen:&lt;br /&gt;
* Terminate: Beendet das Programm sofort&lt;br /&gt;
* Step Into: Überspringt die Methode nicht (F5)&lt;br /&gt;
* Step Over: Überspringt die Beobachtung einer Methode (F6)&lt;br /&gt;
* Step Return: Führt die Methode bis zum Ende aus (F7)&lt;br /&gt;
* Resume: Setzt das Programm bis zum nächsten Haltepunkt fort (F8)&lt;br /&gt;
&lt;br /&gt;
= Zusatzaufgaben =&lt;br /&gt;
&lt;br /&gt;
== Refactoring II ==&lt;br /&gt;
&lt;br /&gt;
Verwende für diese Aufgabe das Projekt Verkehr von der ersten Refactoring Aufgabe. Im folgenden sind ein paar Vorschläge von Refactoring Aktionen, die du noch durchführen kannst:&lt;br /&gt;
* In der (ehemaligen) Klasse &#039;&#039;MyHupschrauber&#039;&#039;:&lt;br /&gt;
** Benenne die Instanzvariable &#039;&#039;x&#039;&#039;, &#039;&#039;y&#039;&#039;, &#039;&#039;z&#039;&#039; und &#039;&#039;blabla&#039;&#039; um, so dass sie aussagekräftige Namen haben. Ihre Bedeutung erfährst du aus den JavaDoc-Kommentaren&lt;br /&gt;
** Kapsle die (ehemaligen) Instanzariablen &#039;&#039;x&#039;&#039;, &#039;&#039;y&#039;&#039;, &#039;&#039;z&#039;&#039; und &#039;&#039;blabla&#039;&#039; (immer nur eine auf einmal). Was bewirkt dies? Dazu schaue dir in der Vorschau den Unterschied an. Warum könnte das sinnvoll sein?&lt;br /&gt;
** Wende die Refactoring-Funktion &amp;quot;Extract Interface&amp;quot; auf &#039;&#039;MyHupschrauber&#039;&#039; an. Was bewirkt sie und was bewirken die einzelnen Einstellungen?&lt;br /&gt;
* In der (ehemaligen) Klasse &#039;&#039;MyFlugzeug&#039;&#039;: Lies dir kurz den Code der Klasse durch (man beachte die Warnungen). Benutze die Refactoring-Funktion &#039;&#039;Infer Generic Type Arguments&#039;&#039; und schau was passiert.&lt;br /&gt;
&lt;br /&gt;
== Debugging II ==&lt;br /&gt;
* Lade dir die Datei [http://docs.freitagsrunde.org/Veranstaltungen/eclipsekurs_2006/Calc.java Calc.java] runter. Erstelle ein Java-Projekt &amp;quot;Einstein&amp;quot; und importiere die Datei in das Projekt und führe es aus.&lt;br /&gt;
* Im Quellcode wurden zwei Stellen markiert, an denen du den aktuellen Wert einer Variable auslesen sollst. Dies lässt sich sehr einfach mit Hilfe von Breakpoints lösen.&lt;br /&gt;
**Hinweis: Der Quellcode darf zur Lösung der Aufgabe nicht verändert werden!&lt;br /&gt;
       &lt;br /&gt;
* Setze eine Watch Expression auf die Variable &#039;&#039;b&#039;&#039; und beobachte wie sie sich im Laufe des Programms verändert.&lt;br /&gt;
    &lt;br /&gt;
* Exportiere das Programm als Jar-Datei. Damit die Datei später über die Konsole ausgeführt werden kann, gehst du wie folgt vor:&lt;br /&gt;
** Der komplette Projektordner muss exportiert werden&lt;br /&gt;
** Wähle einen Namen für die Datei und einen Ordner in deinem Home Verzeichnis als Exportziel.&lt;br /&gt;
** Klicke zweimal auf &amp;quot;weiter&amp;quot; und wähle die Hauptklasse des Projekts aus.&lt;br /&gt;
** Um zu testen, ob du alles richtig gemacht hast, öffne eine Konsole, wechsle in den Ordner, in dem die Jar-Datei liegt und führe den Befehl &#039;&#039;java -jar filename.jar&#039;&#039; aus.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Aufgabe: Eclipse Plug-Ins==&lt;br /&gt;
&lt;br /&gt;
* Installiere das Plug-In für das deutsche Sprachpaket ([http://docs.freitagsrunde.org/eclipsekurs/tutorials/translations_cs_net/ Anleitung]) und starte Eclipse neu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Eigenes Subversion-Repository im Fakultätsnetz ==&lt;br /&gt;
&lt;br /&gt;
Richte in deinem eigenen Verzeichnis im CS-Netz ein SVN-Repository ein und lade deine Gruppenmitglieder aus MPGI3 oder MPGI4 in eine eigene Gruppe ein. Setze für diese Gruppe die entsprechenden Rechte im Respository. Checke dieses Verzeichnis mit Subclipse aus und lade eure fertigen und angefangenen Hausaufgaben darin hoch.&lt;br /&gt;
&lt;br /&gt;
Hinweise zur Einrichtung findet ihr im Artikel [[Subversion im CS-Netz]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Eclipsekurs 2007|Zurück zu Eclipsekurs 2007]]&lt;br /&gt;
&lt;br /&gt;
PS: Wenn du Fehler in den Aufgaben findest, benutze den &amp;quot;Bearbeiten&amp;quot;-Link oben auf der Seite.&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Eclipsekurs_2007/Tag_2&amp;diff=10488</id>
		<title>Eclipsekurs 2007/Tag 2</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Eclipsekurs_2007/Tag_2&amp;diff=10488"/>
		<updated>2007-11-17T13:53:52Z</updated>

		<summary type="html">&lt;p&gt;Dank: /* Subversion Repository */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Aufgabe: Grundlagen ==&lt;br /&gt;
* Für die Leute, die noch ein wenig mehr mit den Grundlagen der Programmiersprache Java üben möchten, haben wir [[Javakurs2006/Uebungsaufgaben | hier]] viele kleine Aufgaben hinterlegt. &lt;br /&gt;
* Wer die Grundlagen der Java-Programmierung versteht und keine (bzw. sehr wenige) Probleme mit der Rennschneckenaufgabe von der letzten Eclipse-Übung hatte, kann ruhig den Schwerpunkt dieser Übungseinheit stärker auf Eclipse legen und folgende Aufgaben angehen:&lt;br /&gt;
&lt;br /&gt;
==Aufgabe: Importieren und Exportieren ==&lt;br /&gt;
&lt;br /&gt;
* Erstelle ein Java-Projekt &amp;quot;Matrix&amp;quot; und importiere die Datei [http://docs.freitagsrunde.org/Veranstaltungen/eclipsekurs_2006/MatrixClass.zip MatrixClass.zip] als Archivdatei in das Projekt. Füge das &amp;quot;Test&amp;quot;-Verzeichnis in im Menü &amp;quot;Properties&amp;quot; von &amp;quot;Project&amp;quot; dem Java-Build-Path hinzu. Um zu sehen, dass die .class Dateien zum Ausführen eines Programms reichen, starte das Projekt.&lt;br /&gt;
** &#039;&#039;Tipp:&#039;&#039; Wechsle zur Navigator-Ansicht, um die importierten .class Dateien zu sehen.&lt;br /&gt;
** &#039;&#039;Hinweis:&#039;&#039; Die Hauptklasse des Projekts ist &#039;&#039;MatrixTest&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
* Nun importiere den Quellcode hierzu aus der Archivdatei [http://docs.freitagsrunde.org/Veranstaltungen/eclipsekurs_2006/MatrixJava.zip MatrixJava.zip] in dein Projekt. Verändere die Klasse &#039;&#039;Matrix&#039;&#039; mittels Refactoring:&lt;br /&gt;
** Gib der Instanzvariable &#039;&#039;giveMeAName&#039;&#039; einen sinnvollen Namen.&lt;br /&gt;
&lt;br /&gt;
* Exportiere die beiden bearbeiteten Java-Dateien in eine Archivdatei und schicke sie an deinen Tischnachbarn, der freut sich bestimmt.&lt;br /&gt;
      &lt;br /&gt;
&#039;&#039;Tipp:&#039;&#039; Achte darauf, dass die Archivdatei das gesamte Projekt enthält, damit es von jemandem importiert werden kann, ohne dass vorher extra ein neues Projekt angelegt werden muss.&lt;br /&gt;
&lt;br /&gt;
== Subversion Repository ==&lt;br /&gt;
&lt;br /&gt;
Wir haben für euch ein Subversion-Repository im CS-Netz angelegt, das ihr für die folgenden Aufgaben nutzen könnt. Checkt euch ein eigenes Verzeichnis davon aus und fügt eure Lösungen dort hinzu.&lt;br /&gt;
&lt;br /&gt;
* Stellt sicher, dass euer Eclipse mit dem [http://subclipse.tigris.org/ Subclipse-Plugin] versehen ist. Wenn ihr Eclipse im CS-Netz nutzt, fügt einfach die &amp;quot;Repository Location&amp;quot; wie auf dem Beipackzettel beschrieben hinzu. Falls nicht, fügt es über &amp;quot;Help-&amp;gt;Software Updates-&amp;gt;Find and Install&amp;quot; hinzu.&lt;br /&gt;
* Erstellt ein neues Java-Projekt. Über Rechtsclick -&amp;gt; &amp;quot;Team -&amp;gt; Share Project&amp;quot; wählt ihr &amp;quot;SVN&amp;quot; aus.  &lt;br /&gt;
* Gebt als Repository Location folgendes an, clickt danach auf Next - nicht auf Finish:&lt;br /&gt;
 svn+ssh://condesa.cs.tu-berlin.de/home/dyroff/repos/eclipsekurs/&lt;br /&gt;
* Im folgenden Dialog wählt bitte &amp;quot;Use specified folder name&amp;quot; aus und fragt euren Tutor nach einer Nummer für euer Projekt, die ihr allein haben könnt. Gebt als Folder Name dann euren Raum und eure Nummer ein, z.B. &amp;quot;2516/20&amp;quot; für Nummer 20 in Raum 2516.&lt;br /&gt;
* Gebt im folgenden Fenster euren eigenen Benutzernamen und euer CS-Passwort in das entsprechende Feld ein. Das darauf folgende Fenster &amp;quot;Enter SVN Author Name&amp;quot; bitte einfach bestätigen.&lt;br /&gt;
&lt;br /&gt;
* Folgt den weiteren Schritten und arbeitet eine der nächsten Aufgaben unten ab.&lt;br /&gt;
* Führt Commits nach einigen Änderungen durch!&lt;br /&gt;
&lt;br /&gt;
==Aufgabe: Refactoring ==&lt;br /&gt;
&lt;br /&gt;
Herzlichen Glückwunsch, du wurdest bei der &amp;quot;Luft- und Bodenverkehr AG&amp;quot; eingestellt! Deine erste Aufgabe als neuer Entwickler der firmeneigenen Software ist es, diese in einen wartbaren und besser verständlichen Zustand zu bringen. Dein Vorgänger, ein Java-Crack, der auf den Programmier-Editor HackPad schwört, musste aufgrund geringer Produktivität leider von dieser Aufgabe abgezogen werden. Nun darfst du dich mit Eclipse daran versuchen!&lt;br /&gt;
&lt;br /&gt;
* Importiere das gezippte Projekt in  [http://docs.freitagsrunde.org/Veranstaltungen/eclipsekurs_2007/Verkehr.zip Verkehr.zip].&lt;br /&gt;
* Zu deinem Schrecken findest du ein Chaos vor. Bringe zuerst die Klassen in eine sinnvolle Ordnung, indem du sie per Drag-and-Drop in die richtigen Java-Packages einordnest.&lt;br /&gt;
* Dir wird aufgefallen sein, dass einige Klassen sehr seltsame und/oder falsch geschriebene Namen haben. Gib diesen Klassen bessere bzw. korrekte Namen. Benutze dafür die Refactoring-Funktion &amp;quot;Rename&amp;quot;.&lt;br /&gt;
* Beim Durchsehen der Klassen fällt dir folgendes auf:&lt;br /&gt;
** Die Klassen mit den (ehemaligen) Namen &amp;quot;Farrad&amp;quot; und &amp;quot;MeinAuto&amp;quot; enthalten beide Code, der die Anzahl der Räder zurückgibt. Benutze die Refactoring-Funktion &amp;quot;Pull Up&amp;quot;, so dass in einem Schritt der identische Code von &#039;&#039;anzahl()&#039;&#039; aus beiden Klassen entfernt und in die gemeinsame Mutterklasse verschoben wird. Führt Eclipse diese Aktion aus, ohne sich zu beschweren? Falls nicht, nicht nutze das von Eclipse erzeugte Preview um das Problem zu erkennen. Dann gehe zurück im Refactoring-Dialog und versuche das Problem zu beseitigen.&lt;br /&gt;
*** &#039;&#039;Tipp:&#039;&#039; Es hat mit dem Attribut &amp;quot;anzahlRaeder&amp;quot; zu tun!&lt;br /&gt;
** Alle Klassen, die ein konkretes Verkehrsmittel modellieren (Auto, Fahrrad, Flugzeug, ...), haben Funktionen um die Farbe zurückzuliefern. Verschiebe diese zusammen mit dem Attribut &amp;quot;farbe&amp;quot; in die gemeinsame Mutterklasse.&lt;br /&gt;
** In der (ehemaligen) Klasse &#039;&#039;MeinAuto&#039;&#039; kommt Code mehrfach vor. Benutze die Refactoring-Funktion &amp;quot;Extract Method&amp;quot; um dieses Problem zu beseitigen.&lt;br /&gt;
** Während du den soeben extrahierten Code durchliest, fällt dir auf, dass er viel verständlicher wäre, wenn die Variablen sprechende Namen hätten. Nutze die Refactoring-Funktion &amp;quot;Rename&amp;quot; um dies zu erreichen.&lt;br /&gt;
&lt;br /&gt;
==Aufgabe: Standardnormalverteilung (einfach)==&lt;br /&gt;
* Ihr könnt euch entscheiden, ob ihr diese Aufgabe oder die nächste Aufgabe machen wollt (oder beide!).&lt;br /&gt;
* Lade die Datei [http://docs.freitagsrunde.org/Veranstaltungen/eclipsekurs_2006/StandardNormalVerteilung.java StandardNormalVerteilung.java] herunter und importiere sie in das Projekt &amp;quot;Einstein&amp;quot;.&lt;br /&gt;
* Setze einen Breakpoint in der main-Methode (siehe TODO) und starte das Programm im Debug-Modus.&lt;br /&gt;
* Benutze die &#039;&#039;&#039;Step into/Step over/Run to return/Resume&#039;&#039;&#039; Buttons im Debugger, um folgendes herauszufinden:&lt;br /&gt;
** &#039;&#039;Hinweis:&#039;&#039; Dies lässt sich alles in einem einzigen Programmdurchlauf herausfinden (du kannst aber natürlich trotzdem mehrere Anläufe nehmen bis du es raus hast)&lt;br /&gt;
** Im ersten Aufruf von &#039;&#039;normalVerteilung()&#039;&#039;:&lt;br /&gt;
*** Welcher Wert wird &#039;&#039;xi&#039;&#039;  im 2. Durchlauf der 1. Schleife zugewiesen?&lt;br /&gt;
*** Welcher Wert wird &#039;&#039;summe&#039;&#039; im 2. Durchlauf der 2. Schleife zugewiesen? &lt;br /&gt;
*** &#039;&#039;Tipp:&#039;&#039; Um letzteres herauszufinden kannst du &#039;&#039;zur Laufzeit des Programms&#039;&#039; noch einen Breakpoint einfügen!&lt;br /&gt;
** Im zweiten Aufruf von &#039;&#039;normalVerteilung()&#039;&#039;:&lt;br /&gt;
*** Welchen Wert hat &#039;&#039;summe&#039;&#039; am Ende des Methodenaufrufs? Ermittle dies &#039;&#039;&#039;innerhalb&#039;&#039;&#039; des Aufrufs von &#039;&#039;normalVerteilung()&#039;&#039;!&lt;br /&gt;
*** &#039;&#039;Tipp:&#039;&#039; Auch hier kannst du zur Laufzeit wieder Breakpoints einfügen und entfernen!&lt;br /&gt;
** Lass das Programm bis zum Ende laufen (es erscheint eine Ausgabe auf der Konsole).&lt;br /&gt;
&lt;br /&gt;
==Aufgabe: Micki Maus im Labyrinth (etwas schwerer)==&lt;br /&gt;
&lt;br /&gt;
* Ihr könnt euch entscheiden, ob ihr diese Aufgabe oder die vorige Aufgabe machen wollt (oder beide!).&lt;br /&gt;
* Bei dieser Aufgabe geht es auch darum, den Eclipse Debugger ein wenig kennenzulernen.&lt;br /&gt;
&lt;br /&gt;
* Ladet euch die Aufgabe unter [http://docs.freitagsrunde.org/Veranstaltungen/eclipsekurs_2007/MickiMaus.jar MickiMaus.jar] herunter und importiert diese wie ihr es schon in Aufgabe 1 getan habt.&lt;br /&gt;
&lt;br /&gt;
Micki die Maus, befindet sich in einem Labyrinth und muss den Käse finden. Ihr sollt nun &lt;br /&gt;
ihren Weg mit Hilfe des Debuggers verfolgen. Setzt dazu einen Breakpoint auf den Methodenaufruf von Mouse.dfs(),&lt;br /&gt;
also in Zeile 30 und in Zeile 40 am &#039;return&#039;. Wechselt dann auf die Debuggeransicht und startet den Debugger, indem ihr auf das Käfer-Symbol&lt;br /&gt;
klickt. Um zu sehen, welchen Weg Micki wählt, schaut euch in der &amp;quot;Variables View&amp;quot; die Variable this.currentNode an. Micki sollte&lt;br /&gt;
auf den Koordinaten (1,1) stehen. Nun könnt ihr mit der Funktion &amp;quot;Resume&amp;quot; einen Schritt weitergehen. (Es ist normal,&lt;br /&gt;
dass sich Micki beim ersten Schritt nicht bewegt :-). Probiert auch mal die anderen Debugger-Funktionen&lt;br /&gt;
&amp;quot;Step into&amp;quot;, &amp;quot;Step over&amp;quot; und &amp;quot;Step return&amp;quot; aus. Am Ende sollte Micki den Käse gefunden haben.&lt;br /&gt;
&lt;br /&gt;
Das Labyrinth sieht folgendermaßen aus:&lt;br /&gt;
&lt;br /&gt;
    01234567 &lt;br /&gt;
  0 ########&lt;br /&gt;
  1 #S#   ##&lt;br /&gt;
  2 # #K#  #&lt;br /&gt;
  3 # #### #&lt;br /&gt;
  4 # #### #&lt;br /&gt;
  5 #   X  #&lt;br /&gt;
  6 #### ###&lt;br /&gt;
  7 ########&lt;br /&gt;
&lt;br /&gt;
Die Stelle X ist beipielsweiße mit den Koordinaten (4,5) beschrieben. Micki befindet sich anfangs bei (1,1) also S und der Käse ist mit einem K markiert also (3,2). &lt;br /&gt;
&lt;br /&gt;
=== Wer macht was ===&lt;br /&gt;
Zur Erinnerung: Der Debugger bietet dir mehrere Möglichkeiten, dein Programm fortzusetzen:&lt;br /&gt;
* Terminate: Beendet das Programm sofort&lt;br /&gt;
* Step Into: Überspringt die Methode nicht (F5)&lt;br /&gt;
* Step Over: Überspringt die Beobachtung einer Methode (F6)&lt;br /&gt;
* Step Return: Führt die Methode bis zum Ende aus (F7)&lt;br /&gt;
* Resume: Setzt das Programm bis zum nächsten Haltepunkt fort (F8)&lt;br /&gt;
&lt;br /&gt;
= Zusatzaufgaben =&lt;br /&gt;
&lt;br /&gt;
== Refactoring II ==&lt;br /&gt;
&lt;br /&gt;
Verwende für diese Aufgabe das Projekt Verkehr von der ersten Refactoring Aufgabe. Im folgenden sind ein paar Vorschläge von Refactoring Aktionen, die du noch durchführen kannst:&lt;br /&gt;
* In der (ehemaligen) Klasse &#039;&#039;MyHupschrauber&#039;&#039;:&lt;br /&gt;
** Benenne die Instanzvariable &#039;&#039;x&#039;&#039;, &#039;&#039;y&#039;&#039;, &#039;&#039;z&#039;&#039; und &#039;&#039;blabla&#039;&#039; um, so dass sie aussagekräftige Namen haben. Ihre Bedeutung erfährst du aus den JavaDoc-Kommentaren&lt;br /&gt;
** Kapsle die (ehemaligen) Instanzariablen &#039;&#039;x&#039;&#039;, &#039;&#039;y&#039;&#039;, &#039;&#039;z&#039;&#039; und &#039;&#039;blabla&#039;&#039; (immer nur eine auf einmal). Was bewirkt dies? Dazu schaue dir in der Vorschau den Unterschied an. Warum könnte das sinnvoll sein?&lt;br /&gt;
** Wende die Refactoring-Funktion &amp;quot;Extract Interface&amp;quot; auf &#039;&#039;MyHupschrauber&#039;&#039; an. Was bewirkt sie und was bewirken die einzelnen Einstellungen?&lt;br /&gt;
* In der (ehemaligen) Klasse &#039;&#039;MyFlugzeug&#039;&#039;: Lies dir kurz den Code der Klasse durch (man beachte die Warnungen). Benutze die Refactoring-Funktion &#039;&#039;Infer Generic Type Arguments&#039;&#039; und schau was passiert.&lt;br /&gt;
&lt;br /&gt;
== Debugging II ==&lt;br /&gt;
* Lade dir die Datei [http://docs.freitagsrunde.org/Veranstaltungen/eclipsekurs_2006/Calc.java Calc.java] runter. Erstelle ein Java-Projekt &amp;quot;Einstein&amp;quot; und importiere die Datei in das Projekt und führe es aus.&lt;br /&gt;
* Im Quellcode wurden zwei Stellen markiert, an denen du den aktuellen Wert einer Variable auslesen sollst. Dies lässt sich sehr einfach mit Hilfe von Breakpoints lösen.&lt;br /&gt;
**Hinweis: Der Quellcode darf zur Lösung der Aufgabe nicht verändert werden!&lt;br /&gt;
       &lt;br /&gt;
* Setze eine Watch Expression auf die Variable &#039;&#039;b&#039;&#039; und beobachte wie sie sich im Laufe des Programms verändert.&lt;br /&gt;
    &lt;br /&gt;
* Exportiere das Programm als Jar-Datei. Damit die Datei später über die Konsole ausgeführt werden kann, gehst du wie folgt vor:&lt;br /&gt;
** Der komplette Projektordner muss exportiert werden&lt;br /&gt;
** Wähle einen Namen für die Datei und einen Ordner in deinem Home Verzeichnis als Exportziel.&lt;br /&gt;
** Klicke zweimal auf &amp;quot;weiter&amp;quot; und wähle die Hauptklasse des Projekts aus.&lt;br /&gt;
** Um zu testen, ob du alles richtig gemacht hast, öffne eine Konsole, wechsle in den Ordner, in dem die Jar-Datei liegt und führe den Befehl &#039;&#039;java -jar filename.jar&#039;&#039; aus.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Aufgabe: Eclipse Plug-Ins==&lt;br /&gt;
&lt;br /&gt;
* Installiere das Plug-In für das deutsche Sprachpaket ([http://docs.freitagsrunde.org/eclipsekurs/tutorials/translations_cs_net/ Anleitung]) und starte Eclipse neu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Eigenes Subversion-Repository im Fakultätsnetz ==&lt;br /&gt;
&lt;br /&gt;
Richte in deinem eigenen Verzeichnis im CS-Netz ein SVN-Repository ein und lade deine Gruppenmitglieder aus MPGI3 oder MPGI4 in eine eigene Gruppe ein. Setze für diese Gruppe die entsprechenden Rechte im Respository. Checke dieses Verzeichnis mit Subclipse aus und lade eure fertigen und angefangenen Hausaufgaben darin hoch.&lt;br /&gt;
&lt;br /&gt;
Hinweise zur Einrichtung findet ihr im Artikel [[Subversion im CS-Netz]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Eclipsekurs 2007|Zurück zu Eclipsekurs 2007]]&lt;br /&gt;
&lt;br /&gt;
PS: Wenn du Fehler in den Aufgaben findest, benutze den &amp;quot;Bearbeiten&amp;quot;-Link oben auf der Seite.&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Freitagsrunde:Mitglieder&amp;diff=2394</id>
		<title>Freitagsrunde:Mitglieder</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Freitagsrunde:Mitglieder&amp;diff=2394"/>
		<updated>2007-11-13T16:10:55Z</updated>

		<summary type="html">&lt;p&gt;Dank: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;Mitglieder&#039;&#039; ist vielleicht nicht das richtige Wort, denn es gibt bei uns keine feste Mitgliedschaft, jeder der mitmachen möchte, ist herzlich willkommen und niemand ist zu irgendetwas gezwungen. Auf dieser Seite möchten wir, die Leute die hinter der [[Freitagsrunde]] stehen, uns Euch kurz vorstellen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mario Bodemann ([mailto:theclaw@cs.tu-berlin.de theclaw@cs.tu-berlin.de]) ==&lt;br /&gt;
[[Bild:Mario.jpg|thumb|150px|Mario Bodemann]]&lt;br /&gt;
Seit dem ich im Sommer 2004 mein Abi abgeschlossen habe, studiere ich hier an der TU B Informatik auf Diplom. Ich finde man sollte sein Studium abgesehen von stofflichen Inhalten auch mit sozialen füllen, daher bin ich Mitglied der Freitagsrunde. &lt;br /&gt;
&lt;br /&gt;
Auch bin ich mittlerweile aktiv in der Ausbildungskommision, der Einführungswoche, dem Eclipsekurs 2007 und werde bald in der Berufungskommision für Bildkommunikation sitzen.&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Robert Buchholz ([mailto:rbu@freitagsrunde.org rbu@freitagsrunde.org]) ==&lt;br /&gt;
[[Bild:Foto-Robert-Buchholz.jpg|thumb|150px|Robert Buchholz]]&lt;br /&gt;
Ich studiere an der TU Berlin seit dem Sommer 2004 und werde bald mit dem Informatik-Diplom abschließen. In der Freitagsrunde bin ich erst seit 2006 mit dabei, konnte mich aber seitdem an vielen Projekten beteiligen. Neben den Java- und Eclipsekursen habe ich großen Spaß an [[Linux-Installationsparty]]s und Ähnlichem. Ich habe im letzten Jahr [[Opalix 2006]] erstellt, und hoffe bald mal mit der [[AG Rechnerinstallation]] aus dem Knick zu kommen.&lt;br /&gt;
&lt;br /&gt;
Was ich innerhalb und außerhalb der Freitagsrunde sonst so organisiere, erfahrt ihr über [[Benutzer:Buchholz|meine Benutzerseite]].&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kai Dietrich ([mailto:kai@freitagsrunde.org kai@freitagsrunde.org]) ==&lt;br /&gt;
[[Bild:Foto-Kai-Dietrich.jpg|thumb|150px|Kai Dietrich]]&lt;br /&gt;
Ich studiere seit dem WS2003/04 Informatik an der TU Berlin. Obwohl ich der Freitagsrunde (natuerlich) schon in der Einfuehrungswoche begegnet bin, habe ich erst im WS2006/07 hier her gefunden und festgestellt, dass studieren viel mehr Spass macht, wenn man es gemeinsam tut.&lt;br /&gt;
Im uebrigen bin ich, als Verfechter des amerikanischen Tastaturlayouts, gegen Umlaute.&lt;br /&gt;
[http://www.cleeus.de/ ...read more]&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sebastian Dyroff ([mailto:sdyroff@freitagsrunde.org sdyroff@freitagsrunde.org]) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Marko Esche ([mailto:meckie@cs.tu-berlin.de meckie@cs.tu-berlin.de]) ==&lt;br /&gt;
[[Bild:Foto-Marko-Esche.jpg|thumb|150px|Marko Esche]]&lt;br /&gt;
Ich hab schon immer zu den Leuten gehört, die am glücklichsten sind, wenn sie mit dem Lötkolben in der Hand ein paar Bauelemente wegbrutzeln können. Mit dem Ziel aus einem Hobby irgendwann mal einen Beruf zu machen habe, ich im WS 2004/05 mit dem Studium der Elektrotechnik begonnen. Inzwischen bin ich vom alten in den neuen Bachelor-Studiengang gewechselt. Abgesehen davon, dass man in der Freitagsrunde lauter nette Leute ;-) trifft, hoffe ich durch meine Mitarbeit das Studium an der TU nicht für Elektrotechniker etwas erträglicher zu gestalten.&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Felix Friedrich ([mailto:felixf@freitagsrunde.org felixf@freitagsrunde.org]) ==&lt;br /&gt;
[[Bild:Felix-friedrich-2007-08-31.JPG|framed|Felix Friedrich]]&lt;br /&gt;
Ich bin Felix Friedrich und studiere seit dem Wintersemester 05/06 Diplom Informatik. Mehr Informationen stehen auf meiner [[Benutzer:Felixf| Benutzerseite]].&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Timo Glaser ([mailto:timo@freitagsrunde.org timo@freitagsrunde.org]) ==&lt;br /&gt;
[[Bild:Foto-timo.jpeg|framed|Timo Glaser]]&lt;br /&gt;
&lt;br /&gt;
Im Wintersemester 2001/02 begann mein Studium der Informatik und somit meine Zeit an der TU Berlin. Damals gab es keine politische Liste an der Fakultät, die meinen Vorstellungen politischen Engagements entsprach, so dass ich mich mit einigen anderen interessierten Studierenden zusammenschloss - die Freitagsrunde war geboren ...&lt;br /&gt;
&lt;br /&gt;
Jedoch konnte ich mich für zwei Jahre nicht so an der Universitätspolitik beteiligen, wie ich es gerne gewollt hätte. Nach Beendigung meines Grundstudiums nahm ich am [[Doppeldiplom SJTU | Doppeldiplomprogramm]] mit der Shanghai Jiao Tong University teil. Dies ist meiner Meinung nach eine der größten Errungenschaften der Fakultät - eine großartige Chance, die man sich nicht entgehen lassen sollte.&lt;br /&gt;
&lt;br /&gt;
Im Sommer 2005 gründete ich mit vier anderen Studenten ein Unternehmen mit Fokus Wissensmanagement, die [http://www.peritor.com/ Peritor Wissensmanagement GmbH]. Da ich jedoch weiterhin wissenschaftlich arbeiten wollte und ein Thema fand, welches mich sehr faszinierte, habe ich nach Abschluss meines Studiums (Silvester 2006 ;) eine Promotion bei Professor Lutterbeck, [http://www.ig.cs.tu-berlin.de/ Informatik und Gesellschaft], begonnen. Hier, sowie in der [http://www.sysedv.tu-berlin.de/Homepage/SYSEDV.nsf?Open&amp;amp;Key=56QJT8&amp;amp;Sel&amp;amp;ID=3B9F9B7F8A9427A4C12570B30075790F  Information Security Management Forschungsgruppe] des Systemanalyse und EDV Lehrstuhls, halte ich auch vereinzelt Vorträge im Rahmen von Lehrveranstaltungen.&lt;br /&gt;
&lt;br /&gt;
Ich vertrete somit die Sichtweise der Promotionsstudierenden bzw. externen Doktoranden.&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Marcel Grey ([mailto:grey@freitagsrunde.org grey@freitagsrunde.org]) ==&lt;br /&gt;
[[Bild:Marcel.png|framed|Marcel Grey]]&lt;br /&gt;
Student im Fach Informatik ist seit geraumer Zeit mein Traum, den ich mit meiner Immatrikulation im Wintersemester 2000 verwirklichen will. Vor dem Eintritt ins Studium, bekam ich von mehreren Seite zu hören, dass es doch ihre schönste Zeit im Leben war, leider weit gefehlt. Deshalb habe ich mich mit Kommilitonen zusammengeschlossen, um für bessere Studienbedingungen zu kämpfen, denn ich möchte parallel zu meinem Studium auch noch leben und nicht als gehörige Arbeitsdrohne enden. Für ein humanes, gutes und nicht minderbemitteltes Studium.&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Clemens Helfmeier ([mailto:clemensh@cs.tu-berlin.de clemensh@cs.tu-berlin.de]) ==&lt;br /&gt;
[[Bild:Foto-Clemens-Helfmeier.jpg|thumb|150px|Clemens Helfmeier]]&lt;br /&gt;
Die Elektrotechnik war schon immer meine Vorliebe, so dass ich im WS 2003/2004 begann, diese an der TUB zu studieren. Die Inhalte der Lehrveranstaltungen gefielen mir natürlich nicht alle, aber im großen und ganzen kann ich doch davon sprechen, dass mir das Studium Spass macht. Vor allem finde ich Projektarbeit äußerst wichtig und empfehl sie jedem.&lt;br /&gt;
&lt;br /&gt;
Zu meinem Studienbeginn konnte man sich noch aussuchen, ob man Bachelor oder Diplom machen wollte, ich entschied mich für den Bachelor. Kurz drauf, merkte ich auch, warum man noch nicht festgelegt wurde: Es gab viele Situationen, in denen der Bachelor noch nicht in den Fachbereichen angekommen ist, vielerorts wusste man nicht, wie zu verfahren sei. Seither versuche ich, diese Situation zu verbessern und das Studium mit all seinen kleinen Kniffs für Bachelorstudenten zu erfassen. Inzwischen gibt es zwar eine neue Prüfungsordnung, aber das soll mich dabei nich sonderlich stören.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Thomas Kaschwig ([mailto:thomas@freitagsrunde.org thomas@freitagsrunde.org]) ==&lt;br /&gt;
[[Bild:Foto-thomas.jpeg|framed|Thomas Kaschwig]]&lt;br /&gt;
Ich habe an der [[TU Berlin]] [[Informatik]] studiert und arbeite nun nach Abschluss meines Studiums als [[Wissenschaftlicher Mitarbeiter]] an der [[Fakultät IV]]. Im Jahr 2002 habe ich zusammen mit einigen Kommilitonen die [[Freitagsrunde]] gegründet, da wir uns hochschulpolitisch engagieren wollten und mit den bisherigen studentischen Vertretern nicht zufrieden waren. Nach unserem Wahlsieg bei den [[Gremienwahlen 2003]] war ich für zwei Jahre Mitglied im [[Fakultätsrat]] und der [[Ausbildungskommission]]. Die letzten sechs Jahre war ich als [[Tutor]] in der [[Einführungswoche]] aktiv, die ich auch in einigen Jahre mit organisiert habe.&lt;br /&gt;
&lt;br /&gt;
Seit mehr als vier Jahren bin ich Mitglied im CCT e.V. - Berlins studentischer Unternehmensberatung - und leite seit 2005 die IT-Sparte [[Juniter]]. Im Jahr 2005 habe ich mit einigen anderen Mitstreitern bei Juniter [[MeinProf.de]] gegründet, welches mittlerweile von einem eigenen Verein, dem MeinProf e.V. betrieben wird, dessen 1. Vorsitzender ich zur Zeit bin.&lt;br /&gt;
&lt;br /&gt;
Erreichen könnt Ihr mich per E-Mail unter [mailto:thomas@freitagsrunde.org thomas@freitagsrunde.org].&lt;br /&gt;
&lt;br /&gt;
Mails an mich kannst und solltest Du per PGP/GnuPG verschlüsseln:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GnuPG-KeyID: 1024D/3D68D63A&lt;br /&gt;
Fingerprint: 274A 4CB8 B362 D593 39D6 0989 8FC3 725F 3D68 D63A&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sebastian Koch ([mailto:skoch@freitagsrunde.org skoch@freitagsrunde.org]) ==&lt;br /&gt;
[[Bild:Foto-Sebastian-Koch.jpg|thumb|150px|Sebastian Koch]]&lt;br /&gt;
Seit dem Wintersemester 2006/07 studiere ich Technische Informatik an der TU Berlin. Zur Freitagsrunde bin ich erst Ende des Sommersemesters 2007 gekommen. Seither habe ich an Opalix07 mitgearbeitet, bei der Einführungswoche für die Studienanfänger 2007 eine Kleingruppe mit Infos versorgt und ein paar (-&amp;gt; 1) Plakat(e) zu Projekten beigesteuert. Zudem sitze ich im Prüfungsausschuss für Technische Informatik. Für das Studium der technischen Informatik habe ich mich entschieden, da man hier das Beste aus beiden Welten (ET und Info) mitnehmen kann ;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Daniel Levin ([mailto:. dlevin (at) cs.tu-berlin.de]) ==&lt;br /&gt;
[[Bild:Foto-Daniel-Levin.jpg|thumb|150px|Daniel Levin]]&lt;br /&gt;
Hi. Seit 2006 bin ich Masterstudent in der Informatikrichtung hier an der TU. Ich hab bisher in Philadelphia meine Bachelorstudium in Mathematik absolviert, und ich freue mich nun hier in Berlin zu wohnen/studieren/arbeiten. Ich spiele gerne mit *nix und Python. Ich freue mich auch für das Spiel  &amp;quot;SET&amp;quot;.&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Björn Lohrmann ([mailto:blohrmann@freitagsrunde.org blohrmann@freitagsrunde.org]) ==&lt;br /&gt;
[[Bild:Foto-Bjoern-Lohrmann.jpg|thumb|150px|Björn Lohrmann]]&lt;br /&gt;
Seit 2003 bin ich Student der Informatik und MPGI Tutor hier an der TU-Berlin. Nach 2 Auslandssemestern in Kanada geht es jetzt so langsam Richtung Diplom. Da ich bereits beim Java-Kurs und Eclipse-Kurs mitgewirkt habe, werde ich das als Freitagsrunden-Mitglied auch weiter tun. Ebenso, wer ein paar nützliche Infos zu Auslandsaufenthalten/Studium sucht, kann mich auch mal deswegen ansprechen.&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Robert Lubkoll ([mailto:robert@freitagsrunde.org robert@freitagsrunde.org]) ==&lt;br /&gt;
[[Bild:Foto-robert.jpeg|framed|Robert Lubkoll]]&lt;br /&gt;
Nach einer Ausbildung als Elektroniker, Abitur im 2. Bildungsweg und Zivildienst in der Hauskrankenpflege studiere ich seit 2003 Informatik an der TU-Berlin.&lt;br /&gt;
&lt;br /&gt;
Das an den Berliner Unis nicht alles so läuft wie es sich ein Student wünschen würde ist kein Geheimnis. Manchmal wundere ich mich eher wie der ganze Laden eigentlich funktionieren kann. &lt;br /&gt;
Aber vom Rumsitzen und Zuschauen wird es nicht besser, was mich zur Freitagsrunde geführt hat.&lt;br /&gt;
&lt;br /&gt;
Mehr zu mir unter: [[Benutzer:Robert Lubkoll|Robert]].&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Bernd May ([mailto:bm@dv-team.de bm@dv-team.de]) ==&lt;br /&gt;
[[Bild:Foto-Bernd-May.jpg|thumb|150px|Bernd May]]&lt;br /&gt;
Ich studiere seit 2006 an der TU Informatik und hoffe, so ich das Grundstudium überstehe, mich schleunigst nach Abschluss des Bachelors an eine Vertiefung in Form des Masters of Science machen zu können.&lt;br /&gt;
Bei der Freitagsrunde bin ich seit Beginn meines Studiums, da ich es als wichtigen Bestandteil meiner Lehrnzeit sehe, selbst aktiv an der Gestaltung selbiger mitzuarbeiten.&lt;br /&gt;
&lt;br /&gt;
Mails an mich kannst und solltest Du per PGP/GnuPG verschlüsseln:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GnuPG-KeyID: 6EC47F94&lt;br /&gt;
Fingerprint: 97C5 136A 5D44 3FEF FB9B 0633 D530 0C6B 6EC4 7F94&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ellen Michelsen ([mailto:ellen@freitagsrunde.org ellen@freitagsrunde.org]) ==&lt;br /&gt;
[[Bild:Foto-ellen.jpg|framed|Ellen Michelsen]]&lt;br /&gt;
Ich studiere im Zweitstudium Informatik und bin seit Oktober 04 an dieser TU. Seitdem bin ich aktiv in der Freitagsrunde mit der studentischen Politik beschäftigt und nehme hier die Chance wahr, unsere Fakultät (und mein Studium ;o) zu gestalten. &lt;br /&gt;
&lt;br /&gt;
Mehr zu mir unter: [[Benutzer:ellen|Ellen]].&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Thorsten Rimkus ([mailto:thorsten@freitagsrunde.org thorsten@freitagsrunde.org]) ==&lt;br /&gt;
[[Bild:Foto-thorsten.jpeg|framed|Thorsten Rimkus]]&lt;br /&gt;
Nachdem ich mich durch das tolle deutsche &amp;quot;auswendig dahersag&amp;quot; Schulsystem gequält habe, begann ich im WS 1999/2000 mit dem Informatikstudium an der TU. Hier konnte ich endlich etwas lernen, was mich interessierte (und das sogar auf einem Niveau, das mich nicht unterfordert hat). Leider musste ich eine starke Tendenz dazu beobachten, das die Uni immer mehr so werden soll, wie eine Schule. Das hat mich dazu gebracht, mich der Freitagsrunde anzuschließen um diesen besorgnisserregenden Tendenzen entgegenzuwirken. Naja, noch macht mir mein Studium trotz allem Spaß und da ich demnächst mit meiner Diplomarbeit im Bereich Usability anfange wird sich daran wohl auch nichts mehr ändern ;). &lt;br /&gt;
In der Freitagsrunde beschäftige ich mich derzeit Hauptsächlich mit dem Prüfungsausschuss Informatik und mit dem Semesterticket (wobei sich das Thema wohl für die nächsten 3 Jahre erledigt hat). Außerdem bin ich die Putzfrau der Freitagsrunde und hole immer die Post ab ;).&lt;br /&gt;
Wenn ich nicht gerade studiere gehe ich gerne ins Kino, spiele Video- und Rollenspiele, lese viel und mache auch 1000 andere tolle Sachen (zumindest, wenn ich die Zeit dazu finde). Außerdem bin ich total fotogen ;).&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Florian Streibelt ([mailto:florian(a)freitagsrunde.org florian(a)freitagsrunde.org]) ==&lt;br /&gt;
[[Bild:Foto-florian.jpeg|framed|Florian Streibelt]]&lt;br /&gt;
Mit meinem Studium habe ich 2001 begonnen, zunächst als Elektrotechniker. Im Verlauf&lt;br /&gt;
des 4.Semesters habe ich dann zur Informatik gewechselt.&lt;br /&gt;
&lt;br /&gt;
In der Freizeit beschäftige ich mich vor allem mit Linux, Programmieren, Netzwerk- und Computersicherheit, Elektronik und vielen anderen Themen aus dem Bereich Computer und Technik.&lt;br /&gt;
Ausserdem arbeite ich für die [http://www.semgine.com/ semgine] GmbH im Bereich System Development. &lt;br /&gt;
&lt;br /&gt;
Und Krawatte trage ich nicht so häufig, wie das jetzt hier den Anschein hat ;)&lt;br /&gt;
&lt;br /&gt;
Mails an mich kannst und solltest Du per PGP/[http://www.gnupg.org/ GnuPG] verschlüsseln:&lt;br /&gt;
 GnuPG-KeyID: 1024D/82F61240&lt;br /&gt;
 Fingerprint: 5BE7 F008 8B83 9357 1108  984A 3B8E A41F 82F6 1240&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Karl Wessel ([mailto:karl@freitagsrunde.org karl@freitagsrunde.org]) ==&lt;br /&gt;
[[Bild:karl3.jpg|thumb|150px|Karl Wessel]]&lt;br /&gt;
Ich habe mein Informatikstudium hier an der TU im WS04/05 begonnen, mit der Hoffnung endlich das zu lernen was ich will und wie ich es will. &lt;br /&gt;
Pustekuchen. &lt;br /&gt;
Immernoch werden 50 Prozent der Studienzeit durch ineffektive Lehrmethoden (man stelle sich ein Flasche vor die gefüllt wird indem man einen Topf über ihr ausschüttet) und Lehr-/Lernzwänge sinnlos verplämpert.&lt;br /&gt;
Da ich hoffe daran etwas ändern zu können bin ich nun in der Freitagsrunde.&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Derzeit inaktive / ehemalige Mitglieder =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Jan-Ole Beyer ([mailto:ole@freitagsrunde.org ole@freitagsrunde.org]) ==&lt;br /&gt;
[[Bild:Foto-ole.jpeg|framed|Jan-Ole Beyer]]&lt;br /&gt;
Ich studiere seit dem WS99/00 Informatik an der TU - und mittlerweile &amp;lt;del&amp;gt;geht es irgendwie auch schnellen Schrittes dem Ende entgegen&amp;lt;/del&amp;gt; bin ich fertig&amp;lt;sniff&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Falls man mich nicht bei der Freitagsrunde &amp;lt;del&amp;gt;antrifft&amp;lt;/del&amp;gt;antraf, &amp;lt;del&amp;gt;findet&amp;lt;/del&amp;gt;fand man mich mich Glück online bei http://www.project-mojo.de oder im [[i-café]] - wobei das jetzt irgendwie wesentlich engagierter klingt als es sich anfühlt...&lt;br /&gt;
&lt;br /&gt;
War sonst noch was? Ach ja, Freizeit...aber da jetzt so Kram hinzuschreiben wie &amp;quot;lese gerne&amp;quot; und &amp;quot;höre Musik&amp;quot; spare ich mir. Letzteres lässt sich zumindest seit Anschaffung eines iPods aber irgendwie nicht verleugnen. &lt;br /&gt;
&lt;br /&gt;
Zu den Nicht-Ganz-So-Standard-Hobbies: Ich fahre gelegentlich im Sommer meine Honda spazieren, vergrössere ständig meine Privatbar und sammle (zumindest zur Zeit, denn das ändert sich häufiger) Heimsyphons. Und wenn es mich mal überkommt, beschäftige und umgebe ich mich gerne mit Design-Sachen des letzten Jahrhunderts und gebe (entgegen jeglichen Informatiker-Klischees) meist zuviel Geld für Klamotten aus.&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Björn Bollensdorff ([mailto:bolle@freitagsrunde.org bolle@freitagsrunde.org]) ==&lt;br /&gt;
[[Bild:Foto-bjoern.jpeg|framed|Bjoern Bollensdorf]]&lt;br /&gt;
An der Fakultät IV sind die TIler mit keiner eigenen Statusgruppe vertreten, gerade deswegen will ich, als Student der TI, die Interessen meiner Kommilitonen nicht untergehen lassen, natürlich bin ich politisch nicht auf meinen Studiengang fixiert sondern setze mich auch für die Probleme aller Mitglieder der Fakultät ein. Ich studiere seit dem WS 2001 und steuere im Moment auf das Hauptstudium zu. Man sollte seine Studienzeit auch dazu nutzen sich mit anderen Aspekten des Lebens vertraut zu machen, um nicht als Fachidiot zu enden. Aus diesem Grunde beschäftige ich mich nach der Uni mit allem, was nicht mit Informatik zu tun hat, vor allem Sport (Snowboarden, Capoeira, Fitness und was gerade so kommt), lerne Spanisch oder bin mit Freunden unterwegs.&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Björn Brandenburg ([mailto:bjoern@freitagsrunde.org bjoern@freitagsrunde.org]) ==&lt;br /&gt;
[[Bild:Foto-Bjoern-Brandenburg.jpg|framed|Bjoern Brandenburg]]&lt;br /&gt;
Der Streik im WS03/04, gleich im ersten Semester meines Studiums, zeigte mir vor allem zwei Dinge: Erstens: Es gibt viele Missstände an der TU und Zweitens: Man muss selbst etwas bewegen, denn auf die &amp;quot;etablierten&amp;quot; studentischen Vertreter kann man sich nicht verlassen, es sei denn man hat sein Leben dem Klassenkampf und der Polemik verschrieben. Deshalb engagiere ich mich bei der Freitagsrunde. Sie bietet mir die Möglichkeit, zur tatsächlichen Verbesserung der Studienbedingungen beizutragen, und das ohne ideologische Marschrichtung.&lt;br /&gt;
&lt;br /&gt;
Ich interessiere mich vor allen Dingen für Entscheidungen, die die Zukunft des Fachbereiches Informatik an der TU betreffen, sowie für praktische Verbesserungen der Studienbedingungen, insbesondere für Studienanfänger. So arbeite ich zum Beispiel in Berufungskommissionen mit und habe Opalix 2004 und Opalix 2005 entwickelt. Desweiteren bin ich als Stellvertreter im Fakultätsrat und in der Ausbildungskommission tätig. Hier im Wiki kümmere ich mich besonders um die [[Übersicht Opal|Opal/Opalix-Seiten]] und bin für die Opal-RPMs für SuSE verantwortlich.&lt;br /&gt;
&lt;br /&gt;
In der Informatik selbst interessiere ich mich für den &amp;quot;Kern&amp;quot;, also Betriebssysteme, Netzwerke, Compiler und hardware-nahe Entwicklung. Dem enstrechend habe ich meine (erste) Schwerpunktsprüfung im Studiengebiet BKS bei [http://kbs.cs.tu-berlin.de Prof. Heiss] abgelegt (Themen: Cluster Computing, Sicherheit in Rechensystemen, Grundlagen verlässlicher Systeme, Network Security, Sicherheit in vereilten Systemen).&lt;br /&gt;
&lt;br /&gt;
Ab August 2006 werde ich zwei Semester an der [http://www.cs.unc.edu University of North Carolina in Chapel Hill] studieren&lt;br /&gt;
&lt;br /&gt;
Falls ihr Fragen zur [http://www.sdw.org Stiftung der deutschen Wirtschaft] oder zum [http://www.fulbright.de Fulbright Programm] habt, bin ich (neben Timo) ein geeigneter Ansprechpartner.&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Andreas Büchele ([mailto:andreas@freitagsrunde.org andreas@freitagsrunde.org]) ==&lt;br /&gt;
[[Bild:Foto-andreas.jpeg|framed|Andreas Büchele]]&lt;br /&gt;
Ich befinde mich momentan im achten Semester meines Informatikstudiums (1. Vertiefung: PSS, Nebenfach: BWL). In letzter Zeit wird mein Gemüt vorallem durch die Bestrebungen der Fakultät eine Studienzeitbegrenzung einzuführen erhitzt. Was mich ebenfalls schon lange stört, ist die Anonymität an der TU und Arbeitsgruppen in denen Teamwork unmöglich ist.&lt;br /&gt;
&lt;br /&gt;
Ansonsten unternehme ich oft und gerne zusammen mit anderen Menschen etwas, lese gerne (Arnold Stadler; Peter Scholl-Latour; Koran; Bibel), treibe Sport, koche gerne und lerne gerade türkisch.&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Martin Häcker ([mailto:martin@freitagsrunde.org martin@freitagsrunde.org]) ==&lt;br /&gt;
[[Bild:Foto-Martin_Haecker.jpeg|framed|Martin Häcker]]&lt;br /&gt;
Seit dem WS 2002 studiere ich Informatik und bin nur immer mehr davon Fasziniert das Informatik doch eher Zauberei ist. Oder in Kurz: alles was wir uns vorstellen können, können wir auch bauen. :)&lt;br /&gt;
&lt;br /&gt;
Ich persönlich interessiere mich sehr für Mensch-Maschine Kommunikation oder wie man heutige Rechner verändern kann so das sie sich an uns Menschen anpassen und nicht wie bisher andersherum. Privat beschäftige ich mich Jonglieren, Mailinglisten lesen, Aikido, Programmieren, DSA und Kochen. &amp;lt;g&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Uni-Politisch bin ich der Meinung das die Lehre hier an der Uni leider in ganz vielen Fällen &#039;&#039;&#039;viel&#039;&#039;&#039; schlechter ist ist als sie sein könnte. Das fängt bei Post an und hört irgendwo bei der Tatsache auf das viel zu viele unserer Profs zu lange Studienzeiten durch eine Holzhammermethode wie die geplante Fortschrittskontrolle lösen wollen. Ich finde es reicht allmählich das das alles auf dem Rücken der Studenten ausgetragen wird. Wir und vor allem ich haben nur ein Studium, und das soll gefälligst so gut sein wie es geht! --[[Benutzer:Martin Häcker|Martin Häcker]] 23:00, 7. Okt 2005 (CEST)&lt;br /&gt;
&lt;br /&gt;
Mehr über mich gibts auf [http://dwt.de.vu/ meiner Homepage].&lt;br /&gt;
 GnuPG-KeyID: 99126F098593903E&lt;br /&gt;
 Fingerprint: 7200 B08C 11EC 9E26 9DA1  E5AA 9912 6F09 8593 903E&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Markus Hagen ([mailto:markus@freitagsrunde.org markus@freitagsrunde.org]) ==&lt;br /&gt;
[[Bild:Foto-markus.jpeg|framed|Markus Hagen]]&lt;br /&gt;
Seit dem Wintersemester 2000/2001 studiere ich Technische Informatik an der TU-Berlin (kein Scherz). Wenn ich gerade nicht studiere, flitze ich gerne mit Skates durch die Gegend. Leider sind die Witterungsbedingungen im Winter (3°C, Nieselregen) nicht allzu einladend ... aber ich schweife ab. Da wären dann noch Wakeboarden, 3D-Grafik, Netzwerke (ich weiß, das schreit geradezu nach blutrünstigen LAN-Partys, ist aber völliger Quatsch :), und einige andere. Da ich noch im Grundstudium stecke gibt’s noch nicht so viele Lehrveranstaltungen, die mich richtig heiß machen. Jedenfalls würde ich meinen Schwerpunkt im Hauptstudium gerne auf Computer Graphics / Computer Vision legen. Momentan sieht’s an diesem Fachbereich allerdings gar nicht gut aus. Daran, und an vielen anderen Dingen, können wir (hoffentlich) etwas ändern, wenigstens muß man es versuchen, bevor man es aufgibt.&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Julia Kowalle ([mailto:julia@freitagsrunde.org julia@freitagsrunde.org]) ==&lt;br /&gt;
&lt;br /&gt;
== Hannes Lau ([mailto:hannes@freitagsrunde.org hannes@freitagsrunde.org]) ==&lt;br /&gt;
[[Bild:Foto-hannes.jpeg|framed|Hannes Lau]]&lt;br /&gt;
Nach intentsivem Engagement in den Gremien der Schulpolitik, hat auch die politische Arbeit in der Uni mein Interesse geweckt. Die Freitagsrunde ist mir dabei durch die Einführungsseminare und andere Hilfestellungen für Erstsemester bekannt geworden und ich habe gesehen, wie wichtig diese und andere studentische Initiativen für das Studium sind. Wichtig und gut finde ich, dass es in der Freitagsrunde um &#039;&#039;&#039;Uni-Politik&#039;&#039;&#039; und weniger um eine gesamtpolitische Marschrichtung geht. &lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Christopher Leiste ([mailto:christopher@freitagsrunde.org christopher@freitagsrunde.org]) ==&lt;br /&gt;
[[Bild:Foto-Christopher.jpg|framed|Christopher Leiste]]&lt;br /&gt;
Seit dem Wintersemester 05/06 studiere ich an der TU Berlin Technische Informatik. Gleich im 1. Semester bin ich auch zur Freitagsrunde gestoßen, in der es mich bis heute hält. Ihr Grundgedanke und die Aktivitäten - beispielsweise der Javakurs, an dem meinereiner aufgrund mangelnder Einstiegskenntnisse aber als Teilnehmer mitwirkte - sagen mir sehr zu.&lt;br /&gt;
Fachbezogen interessiere ich mich zum Beispiel für die Erstellung dynamischer Webseiten (vor allem auf Basis von PHP) und Programmierung auf Maschinenebene.&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Jakob Lell ([mailto:jakob@freitagsrunde.org jakob@freitagsrunde.org]) ==&lt;br /&gt;
[[Bild:Foto-Jakob.jpg|framed|Jakob Lell]]&lt;br /&gt;
Ich studiere seit dem Wintersemester 2005/06 Technische Informatik. Seitdem bin ich auch bei der Freitagsrunde dabei.&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Judith Rohloff ([mailto:judith@freitagsrunde.org judith@freitagsrunde.org]) ==&lt;br /&gt;
&lt;br /&gt;
Ich studiere Informatik seit dem WS02/03 und bin nun im Hauptstudium. Meinen Schwerpunkt lege ich in meinem Studium auf die Theoretische Informatik.&lt;br /&gt;
&lt;br /&gt;
In der Freitagsrunde bin ich vor allem, weil ich anderen Studenten zu einem besseren und angenehmeren Studium verhelfen möchte und ich der Meinung bin, dass die Lehre an unserer Fakultät durchaus an vielen Stellen verbessert werden kann.&lt;br /&gt;
&lt;br /&gt;
Bisher habe ich im Rahmen der Freitagsrunde einen Javakurs geleitet und bin dabei mich um die Verbesserung der Tutorenschulung zu kümmern.&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sebastian Ring  ==&lt;br /&gt;
[[Bild:Foto-Sebastian.jpg|framed|Sebastian Ring]]&lt;br /&gt;
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut consectetuer, tortor ac pretium laoreet, enim lectus iaculis ante, sit amet aliquet nisl diam tempus magna. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Aliquam orci. Quisque egestas. Donec ullamcorper, pede ac ultricies venenatis, leo nisi rutrum sem, id congue nibh nisl vel nulla. Praesent id mi. Vivamus enim neque, elementum vel, elementum sed, pretium et, arcu. Curabitur leo. Etiam tristique orci viverra ligula. Nam ultricies. Donec aliquet varius elit. Maecenas massa. Nullam justo. Donec sagittis magna id lectus ultrices semper. Etiam laoreet lorem quis purus. Nam justo purus, euismod ut, porta a, eleifend id, pede. Sed tincidunt ipsum a arcu.&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Felix Schwarz ([mailto:felix@freitagsrunde.org felix@freitagsrunde.org]) ==&lt;br /&gt;
[[Bild:Foto-felix.jpeg|framed|Felix Schwarz]]&lt;br /&gt;
Ich studiere Informatik, bin inzwischen auch im Hauptstudium (begonnen habe ich im WS 01/02). Ich will Sachen bewegen und blödsinnige Regelungen abschaffen. Dinge, die mir nicht passen und entschieden werden, ohne dass ich davon weiß, ärgern mich und genau deswegen bin ich in der Freitagsrunde.&lt;br /&gt;
&lt;br /&gt;
Unipolitisch habe ich mich besonders mit der StuPO beschäftigt und vertrete die Freitagsrunde in den entspr. Gremiensitzungen, um möglichst gute Regelungen für Studierende herauszuholen. Inzwischen kenne ich staubtrockenen StuPO-Texte ziemlich gut - und die sind langweilig, aber leider trotzdem wichtig. Ich bin also der richtige Ansprechpartner, wenn es um StuPO-Fragen geht (allerdings eher allgemeine StuPO und StuPO-Informatik).&lt;br /&gt;
&lt;br /&gt;
Außerdem habe ich noch die Opalix-CD erstellt. Technische Fragen dazu aber besser an opalix@freitagsrunde.org oder einfach ins Opalix-Wiki schreiben.&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Daniel Sturm ([mailto:freitagsrunde@DanielSturm.de freitagsrunde@DanielSturm.de]) ==&lt;br /&gt;
[[Bild:Foto_Daniel.jpg|framed|Daniel Sturm]]&lt;br /&gt;
Ich habe mit dem Studium im WS03/04 begonnen und scheine damit recht gut klarzukommen. Da ich auserdem eher der Typ bin, der leicht zufriedenzustellen ist und aus dem das Beste macht was er bekommt, ist es eher unwahrscheinlich, dass ich mich aus Unzufriedenheit bei einer Studenteninitiative wie der Freitagsrunde blicken lasse. Letzeres ist eher darauf zurückzuführen, dass ich dazu geneigt bin, was zum Wohle der Allgemeinheit zu tun, sofern die Zeit es zulässt.&lt;br /&gt;
&lt;br /&gt;
Alle weiteren Informationen gibts hier: http://www.dStulle.de/&lt;br /&gt;
&lt;br /&gt;
Derzeit bin ich übrigens grade in Shanghai und nehme dort am [[Doppeldiplom_SJTU|Doppeldiplomabkommen]] mit der [http://www.sjtu.edu.cn/ Shanghai Jiao Tong Universität] teil. also wer fragen dazu hat schickt mir am besten eine [mailto:sjtu@DanielSturm.de eMail].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Natascha Tiotuico ([mailto:natascha@freitagsrunde.org natascha@freitagsrunde.org]) ==&lt;br /&gt;
Ich bin Studentin der Informatik seit WS2002/2003. Schon bald merkte ich, dass hier an der TUB viel zu tun ist, was studentisches Engagement angeht. Ich scheute mich zuerst, denn was sollte ich als Erstsemestler großartig anstellen. Außerdem wusste ich auch gar nicht wohin, da ich mir nicht vorstellen konnte, mich einer bestimmten Parteilinie unterzuordnen. Doch bald lernte ich Felix und Martin kennen und sie erzählten mir von der Freitagsrunde. Genau diese Vorstellung von einer Studenteninitiative hatte ich. Ich ging ein paar Mal zu den wöchentlichen Treffen und fühlte mich gleich wohl. Die Ziele entsprechen meinen - die Leute sind nett und es wird was geschafft.&lt;br /&gt;
&lt;br /&gt;
Ich bin gerne dabei und finde man sollte sich nicht das Unileben allein von den Profs gestalten lassen, sondern sich engagieren damit unsere Interessen im Studium durchgesetzt werden. Schließlich sind wir es, die bestimmte Leistungen vorweisen müssen, wenn wir in den Arbeitsmarkt eintreten. Dann sollte man sagen können :&amp;quot; Ich hab dies und jenes gemacht, um mich in meinem Spezialgebiet fortzubilden&amp;quot; und NICHT :&amp;quot; Ich konnte leider nichts in dieser Richtung belegen, da unser vorgeschriebener Stundenplan mit 40 SWS zu voll war.&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Ich habe vor im Hauptstudium die Schwerpunkte Robotik und KI zu wählen. Doch leider sehe ich immer wieder Kürzungen von Veranstaltungen und habe daher Angst irgendein Seminar belegen zu &amp;quot;müssen&amp;quot;, welches mich nicht vorwärts bringt, weil die fachspezifischeren Veranstaltungen gestrichen wurden. Ich möchte dies in Zukunft verhindern und engagiere mich deshalb in der Freitagsrunde.  &lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Daniel Käs ([mailto:dkaes@cs.tu-berlin.de dkaes@cs.tu-berlin.de]) ==&lt;br /&gt;
Ich studiere Informatik seit dem WS03/04. Ich bin vor allem bei der Freitagsrunde, um anderen Studenten bei ihrem Studium zu helfen ohne mich dabei einer bestimmten politischen Gesinnung unterordnen zu müssen. Außerdem habe ich Spaß dabei andere Menschen für Informatikthemen zu begeistern, weshalb ich nicht nur bei Einführungskursen, sondern auch Informationsveranstaltungen wie [[Linux-Installationsparty_2007|LIPs]] oder [[Distro-Bash_2007|Distro-Bashs]] gerne mithelfe.&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Das sind die Mitglieder der Freitagsrunde - Zurück zu unserer [[Freitagsrunde | Selbstdefinition]].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Freitagsrunde]]&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
__NOEDITSECTION__&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Eclipsekurs_2007/Orga&amp;diff=10247</id>
		<title>Eclipsekurs 2007/Orga</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Eclipsekurs_2007/Orga&amp;diff=10247"/>
		<updated>2007-08-14T22:12:03Z</updated>

		<summary type="html">&lt;p&gt;Dank: /* Tutoren */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Aufgaben für die Teilnehmer ==&lt;br /&gt;
* [[Eclipsekurs 2007/Tag 1|Samstag, 10. Nov 2007]]&lt;br /&gt;
* [[Eclipsekurs 2007/Tag 2|Samstag, 17. Nov 2007]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== TODOS ==&lt;br /&gt;
*3 Tutorienräume organisieren&lt;br /&gt;
*1 Vorlesungssaal organisieren&lt;br /&gt;
*Tutoren finden&lt;br /&gt;
*Ein bis Zwei Aufgaben für die Tutorien finden&lt;br /&gt;
*CD/USBStick Versionen von Eclipse (Europa) für Windows/Mac erstellen&lt;br /&gt;
*Treffen für den 16. November 2007 organisieren (Vorlesung und Aufgaben koordinieren)&lt;br /&gt;
&lt;br /&gt;
*Robert Buchholtz: Tutoren per Mail einladen&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Themen ==&lt;br /&gt;
&lt;br /&gt;
=== 1. Termin ===&lt;br /&gt;
* Was ist Eclipse&lt;br /&gt;
* Programm starten&lt;br /&gt;
** Wo ist eclipse im Uninetz zu finden?&lt;br /&gt;
** Wie setze ich einen Link auf eclipse?&lt;br /&gt;
** PATH setzen?&lt;br /&gt;
** applrc aktualisieren?&lt;br /&gt;
** Workspace wählen&lt;br /&gt;
** Was ist der Workspace?&lt;br /&gt;
&lt;br /&gt;
* Projekt anlegen&lt;br /&gt;
** Was ist ein Projekt in eclipse?&lt;br /&gt;
** Wie erstellt man in eclipse Projekte?&lt;br /&gt;
** Was für Projekte kann man mit eclipse erstellen (gibt es verschiedene Projekte)?&lt;br /&gt;
** Was wird bei einem Projekt angelegt?&lt;br /&gt;
** Wie erstelle ich Klassen im Projekt?&lt;br /&gt;
** EXKURS: Was sind Packages in Java (eclipse)?&lt;br /&gt;
&lt;br /&gt;
* Java-Program starten&lt;br /&gt;
&lt;br /&gt;
* Editor&lt;br /&gt;
** Fensteranordnung erklären&lt;br /&gt;
** Was erscheint in den verschiedenen Fenstern?&lt;br /&gt;
** Was ist der &#039;&#039;Package Explorer&#039;&#039;, &#039;&#039;Hierarchy&#039;&#039; und &#039;&#039;Navigator&#039;&#039;?&lt;br /&gt;
** Wie ändert man die Fensteranordnung?&lt;br /&gt;
** Wie lasse ich zusätzliche Subfenster anzeigen?&lt;br /&gt;
** Was für Menüpunkte gibt es?&lt;br /&gt;
** Wie kann ich meine Klassen anschauen?&lt;br /&gt;
** Wie kann ich meine Klassen editieren?&lt;br /&gt;
** Wie sehe ich Fehler in meinem Sourcecode?&lt;br /&gt;
** Welche Möglichkeiten zur Fehlerbehebung gibt es?&lt;br /&gt;
*** Quickfixes&lt;br /&gt;
** Wie kann ich Java-Konstrukte einfach erstellen (Konstruktoren, Getter, Setter, if-Anweisung, for-Schleife, while-Schleife etc.)?&lt;br /&gt;
** Wie kann man Markierungen setzen (wie zum Beispiel TODO)?&lt;br /&gt;
&lt;br /&gt;
=== 2. Termin ===&lt;br /&gt;
* Advanced Editor Features&lt;br /&gt;
** Refactoring: Wie kann ich Variablen-, Klassen- und Methoden-Namen in meinem kompletten Projekt ändern (umbenennen)?&lt;br /&gt;
* Importieren&lt;br /&gt;
** Wie kann man Vorgaben einbinden (Importieren)?&lt;br /&gt;
** Was kann man importieren?&lt;br /&gt;
** Wie binde ich Bytecode-Vorgaben ein?&lt;br /&gt;
** Wie kann ich Sourcecode einbinden?&lt;br /&gt;
&lt;br /&gt;
* Exportieren&lt;br /&gt;
** Wie geht das Exportieren von Lösungen?&lt;br /&gt;
** Als was kann man expoertieren?&lt;br /&gt;
** Kann man einzelne Klassen exportieren?&lt;br /&gt;
** Kann man ausführbare Dateien exportieren?&lt;br /&gt;
&lt;br /&gt;
* Debugger&lt;br /&gt;
** Was ist ein Debugger?&lt;br /&gt;
** Wie starte ich den Debugger?&lt;br /&gt;
** Wie kann ich ein Programm debuggen?&lt;br /&gt;
** Was sind Haltepunkte?&lt;br /&gt;
** Wie kann ich Haltepunkte setzen?&lt;br /&gt;
** Wie kann ich in meinem Programm navigieren (Schritt vorwärts, Schritt weiter ohne hineingehen)?&lt;br /&gt;
** Wie kann ich den Inhalt von Variablen sehen?&lt;br /&gt;
** Wie beende ich den Debugger?&lt;br /&gt;
&lt;br /&gt;
* Team Programming (possible theme)&lt;br /&gt;
** How multiple people can use eclipse to work on the same code&lt;br /&gt;
** Quick intro to Subversion&lt;br /&gt;
** Adding a Subversion project&lt;br /&gt;
** Checking out a project&lt;br /&gt;
** Syncing and merging changes&lt;br /&gt;
** Committing changes&lt;br /&gt;
&lt;br /&gt;
* Plugins vorstellen (Möglichkeiten für Zuhause)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Beteiligte ==&lt;br /&gt;
=== Vortragende ===&lt;br /&gt;
# Mario Bodemann&lt;br /&gt;
# Robert Buchholz&lt;br /&gt;
# Daniel Levin &lt;br /&gt;
# Björn Lohrmann&lt;br /&gt;
&lt;br /&gt;
=== Tutoren ===&lt;br /&gt;
# Ellen Michelsen&lt;br /&gt;
# Sebastian Dyroff&lt;br /&gt;
# Robert Lubkoll&lt;br /&gt;
# Karl Wessel&lt;br /&gt;
# Daniel Käs&lt;br /&gt;
&lt;br /&gt;
==== Moegliche Tutoren ====&lt;br /&gt;
# Hannes Lau&lt;br /&gt;
# Jakob Lell&lt;br /&gt;
# Marcel Grey&lt;br /&gt;
# Nadja Menz&lt;br /&gt;
# Thorsten Rimkus&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=SiR_Ged%C3%A4chtnisprotokol_SS07&amp;diff=10133</id>
		<title>SiR Gedächtnisprotokol SS07</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=SiR_Ged%C3%A4chtnisprotokol_SS07&amp;diff=10133"/>
		<updated>2007-07-21T12:05:07Z</updated>

		<summary type="html">&lt;p&gt;Dank: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Gedächtnisprotokoll Sicherheit in Rechensystemen SS 2007 ==&lt;br /&gt;
&lt;br /&gt;
* Welche Varianten er Zugangskontrolle zu einem Rechensystem kennen Sie?&lt;br /&gt;
* Wie funktioniert der Passwortmechanismus bei Unix?&lt;br /&gt;
* Was ist zu beachten, wenn man sich über ein unsicheres Netz in seinen ,,Heimatrechner&amp;quot; einloggen möchte &lt;br /&gt;
* Welches formale Grundmodell haben wir zur Diskussion der Zugriffskontrolle zugrundegelegt?&lt;br /&gt;
* Was sind die Vorzüge und Nachteile von Capabilities gegenüber Zugriffkontrolllisten?&lt;br /&gt;
* Welche grundsätzlichen theoretischen Aussagen gibt es bezüglich der Frage, ob ein Subjekt in den Besitz eines Rechts an einem Objekt gelangen kann?&lt;br /&gt;
* Was ist der Unterschied zwischen De-facto- und De-jure-Analyse im Take-Grant-Modell?&lt;br /&gt;
* Erläutern Sie die Grundoperationen zur De-Facto- (De-Jure-) Analyse.&lt;br /&gt;
* Welche Arten von Angriff sind auf eine Kommunikationsverbindung möglich und welche Gegenmaßnahmen kann man ergreifen?&lt;br /&gt;
* Erläutern Sie und vergleichen Sie symmetrische und asymmetrische Verschlüsselungsverfahren?&lt;br /&gt;
* Wie funktioniert die Schlüsselerzeugung beim RSA-Verfahren?&lt;br /&gt;
* Wie kann man die Unverfälschtheit einer Nachricht sicherstellen?&lt;br /&gt;
* Was versteht man unter einer Firewall und welche Typen kann man unterscheiden?&lt;br /&gt;
* Wie sind die Regeln in einem Paketfilter aufgebaut?&lt;br /&gt;
* Welche Ansatz verfolgt die Informationsflusskontrolle im Gegensatz zur Zugriffskontrolle?&lt;br /&gt;
* Was versteht unter einem impliziten Informationsfluss?&lt;br /&gt;
* Wie sollte ein ,,gutes&amp;quot; Passwort aussehen?&lt;br /&gt;
* Wie kann man die Integrität von Capabilities im Speicher schützen?&lt;br /&gt;
* Wie ist der Adressraumschutz in den Adressierungsmechanismus eingebaut?&lt;br /&gt;
* Was ist ein Informationsflussmodell?&lt;br /&gt;
* Was versteht man unter ,,Konfusion&amp;quot; und ,,Diffusion&amp;quot; bei einem Kryptoverfahren?&lt;br /&gt;
* Wie funktioniert die Authentisierung in Kerberos?&lt;br /&gt;
* Welche Anforderungen stellt man an die Sicherheit in vernetzten Systemen?&lt;br /&gt;
* Was versteht man unter ,,Ringschutz&amp;quot;?&lt;br /&gt;
* Erläutern Sie die Begriffe ,,Virus&amp;quot;, ,,Wurm&amp;quot; und ,,Trojanisches Pferd&amp;quot;.&lt;br /&gt;
* Was sind die Bestandteile eines Sicherheitskonzepts?&lt;br /&gt;
* Erläutern Sie den Authentisierungsmechanismus nach Needham-Schroeder.&lt;br /&gt;
* Was leisten kryptographische Prüfsummen, was Hash-Funktionen?&lt;br /&gt;
* Was versteht man unter code-basierter Zugriffskontrolle?&lt;br /&gt;
* Nennen Sie einige allgemeine Prinzipien beim Entwurf sicherer Systeme (nach Saltzer und Schroeder).&lt;br /&gt;
* Was versteht man unter Common Criteria (CC)?&lt;br /&gt;
* Was ist die Idee einer Trusted Computing Base?&lt;br /&gt;
* Erläutern Sie das Bell-LaPadula- Modell.&lt;br /&gt;
* Was ist der Unterschied zwischen ECB und CBC bei der Verschlüsselung längerer Texte?&lt;br /&gt;
* Was sind die Anforderungen an eine Digitale Signatur?&lt;br /&gt;
* Was versteht man unter einer Public-Key-Infrastructure (PKI)?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Zusätzliche Fragen ==&lt;br /&gt;
&lt;br /&gt;
* An einem kleinen Beispiel soll vorgeführt werden wie imn Take-Grand-Modell ein Subjekt A von einem anderen Subjekt B sich ein Recht nehmen kann, obwohl B nur ein Take-Recht auf A hat.&lt;br /&gt;
* Warum wird bei einer Firewall zusätzlich die Richtung des Pakets angegeben, lässt sich diese nicht aus der Sender- und Empfänger-IP-Adresse im IP-Header rekonstruieren?&lt;br /&gt;
* Was sind Intrusion Detection Systeme? Welche Arten gibt es? Welche Vor- und Nachteile der unterschiedlichen Arten?&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Sicherheit_in_Rechensystemen&amp;diff=10132</id>
		<title>Sicherheit in Rechensystemen</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Sicherheit_in_Rechensystemen&amp;diff=10132"/>
		<updated>2007-07-21T11:58:16Z</updated>

		<summary type="html">&lt;p&gt;Dank: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div id=&amp;quot;klausuren&amp;quot; style=&amp;quot;float:right; width:20%; margin:10px; padding:10px; background-color:#efefef;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Klausuren/Prüfungsfragen&amp;lt;/h2&amp;gt;&lt;br /&gt;
SS 2007&lt;br /&gt;
* [[SiR Gedächtnisprotokol SS07 | Gedächtnisprotokoll]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sicherheit in Rechensystemen&#039;&#039;&#039; ist eine Vertiefungsveranstaltung im Fachgebiet KBS (Studiengebiet BKS) im [[Hauptstudium]].&lt;br /&gt;
&lt;br /&gt;
== Inhalt ==&lt;br /&gt;
(von der Einführungsfolie kopiert)&lt;br /&gt;
&lt;br /&gt;
Sicherheit: Begriffliches&lt;br /&gt;
* Sicherheitskonzept, Organisatorische Maßnahmen&lt;br /&gt;
* Gefährdungen auf SW-Ebene&lt;br /&gt;
* Zugangskontrolle und Authentisierung&lt;br /&gt;
* Autorisierung und Zugriffskontrolle&lt;br /&gt;
* Weitergabe von Rechten&lt;br /&gt;
* Formale Modelle&lt;br /&gt;
* Angriffe und ihre Abwehr&lt;br /&gt;
* Rechtliche Aspekte und Institutionen&lt;br /&gt;
&lt;br /&gt;
Was nicht behandelt wird:&lt;br /&gt;
* Kryptoverfahren im Detail&lt;br /&gt;
* Sicherer Zahlungsverkehr in Netzen&lt;br /&gt;
* Rechtliche Aspekte des Datenschutzes (Schutz personenbezogener Daten)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Persönliche Kommentare ==&lt;br /&gt;
: (Nicht unterschriebene Kommentare werden gelöscht!)&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Lehrveranstaltungen_Informatik_Diplom_(StuPO90)&amp;diff=8247</id>
		<title>Lehrveranstaltungen Informatik Diplom (StuPO90)</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Lehrveranstaltungen_Informatik_Diplom_(StuPO90)&amp;diff=8247"/>
		<updated>2007-07-21T11:45:51Z</updated>

		<summary type="html">&lt;p&gt;Dank: /* Lehrveranstaltungen im Hauptstudium Informatik */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Empfohlener Studienverlauf für das Grundstudium der Informatik ==&lt;br /&gt;
&lt;br /&gt;
Das &#039;&#039;&#039;Grundstudium&#039;&#039;&#039; ist der erste Teil Eures [[Studium|Studiums]], es wird i.A. mit dem [[Vordiplom]] abgeschlossen. Hier lernt Ihr die Grundlagen Eures Studienfaches - in der [[Informatik_(Studienfach)|Informatik]] viel [http://de.wikipedia.org/wiki/Mathematik Mathematik], [http://de.wikipedia.org/wiki/Elektronik Elektronik], [http://de.wikipedia.org/wiki/Theoretische_Informatik theoretische Informatik] und auch ein bisschen &amp;quot;praktische&amp;quot; Informatik, z.B. [[Opal]] oder [[Java]].&lt;br /&gt;
&lt;br /&gt;
Wie ihr euer Grundstudium aufbaut, entnehmt ihr am besten dem aktuellen [http://iv.tu-berlin.de/teaching/informatik/StudF/ Studienführer]&lt;br /&gt;
&lt;br /&gt;
Bei dieser Tabelle handelt es sich um die Grundstudiumsfächer nach [[StuPO 90]].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
  ! Semester&lt;br /&gt;
  ! colspan=5 | Studienfächer&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; | &lt;br /&gt;
 | bgcolor=&amp;quot;#f4e4ce&amp;quot; style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; | &#039;&#039;&#039;[[Informatik A | Info A]] &amp;lt;sup&amp;gt;(1)&amp;lt;/sup&amp;gt; / [[Informatik B | Info B]]&#039;&#039;&#039;&lt;br /&gt;
 | bgcolor=&amp;quot;#FFE4B5&amp;quot; style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; | &#039;&#039;&#039;[[TheGI (StuPO90) | TheGI]]&#039;&#039;&#039;&lt;br /&gt;
 | bgcolor=&amp;quot;#EEE8AA&amp;quot; style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; | &#039;&#039;&#039;[[TechGI (StuPO90) | TechGI]] &amp;lt;sup&amp;gt;(1)&amp;lt;/sup&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
 | bgcolor=&amp;quot;#eadaee&amp;quot; style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; | &#039;&#039;&#039;[[Mathematik für Informatiker (StuPO90)| MafI]] &amp;lt;sup&amp;gt;(1)&amp;lt;/sup&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
 | &amp;amp;nbsp;&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; | 1&lt;br /&gt;
 | bgcolor=&amp;quot;#f4e4ce&amp;quot; style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; | [[Informatik 1 (StuPO90) | Info 1]] &amp;lt;sup&amp;gt;&#039;&#039;&#039;(1)&#039;&#039;&#039;&amp;lt;/sup&amp;gt;&lt;br /&gt;
 | bgcolor=&amp;quot;#FFE4B5&amp;quot; style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; | [[TheGI 1 (StuPO90) | TheGI 1]] &amp;lt;sup&amp;gt;&#039;&#039;&#039;(1)&#039;&#039;&#039;&amp;lt;/sup&amp;gt;&lt;br /&gt;
 | bgcolor=&amp;quot;#EEE8AA&amp;quot; style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; | [[TechGI 1 (StuPO90) | TechGI 1]] &amp;lt;sup&amp;gt;&#039;&#039;&#039;(1)&#039;&#039;&#039;&amp;lt;/sup&amp;gt;&lt;br /&gt;
 | bgcolor=&amp;quot;#eadaee&amp;quot; style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; | [[MafI 1 (StuPO90) | MafI 1]] &amp;lt;sup&amp;gt;&#039;&#039;&#039;(1)&#039;&#039;&#039;&amp;lt;/sup&amp;gt;&lt;br /&gt;
 | &amp;amp;nbsp;&lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; | 2&lt;br /&gt;
 | bgcolor=&amp;quot;#f4e4ce&amp;quot; style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; | [[Informatik 2 (StuPO90) | Info 2]] &amp;lt;sup&amp;gt;&#039;&#039;&#039;(1)&#039;&#039;&#039;&amp;lt;/sup&amp;gt;&lt;br /&gt;
 | bgcolor=&amp;quot;#FFE4B5&amp;quot; style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; | [[TheGI 2 (StuPO90) | TheGI 2]] &amp;lt;sup&amp;gt;&#039;&#039;&#039;(1)&#039;&#039;&#039;&amp;lt;/sup&amp;gt;&lt;br /&gt;
 | bgcolor=&amp;quot;#EEE8AA&amp;quot; style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; | [[TechGI 2 (StuPO90) | TechGI PR]] &amp;lt;sup&amp;gt;&#039;&#039;&#039;(1)&#039;&#039;&#039;&amp;lt;/sup&amp;gt;&lt;br /&gt;
 | bgcolor=&amp;quot;#eadaee&amp;quot; style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; | [[MafI 2 (StuPO90) | MafI 2]] &amp;lt;sup&amp;gt;&#039;&#039;&#039;(1)&#039;&#039;&#039;&amp;lt;/sup&amp;gt;&lt;br /&gt;
 | bgcolor=&amp;quot;#eeeaef&amp;quot; style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; rowspan=3 | [[Nebenfach (StuPO90) | Nebenfach]] oder [[Wahlfach (StuPO90) | Wahlfach]]&lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; | 3&lt;br /&gt;
 | bgcolor=&amp;quot;#f4e4ce&amp;quot; style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; | [[Informatik 3 (StuPO90) | Info 3]]&lt;br /&gt;
 | bgcolor=&amp;quot;#FFE4B5&amp;quot; style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; | [[TheGI 3 (StuPO90) | TheGI 3]]&lt;br /&gt;
 | bgcolor=&amp;quot;#eeeaef&amp;quot; style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; | [[Projekt]] oder [[Praktikum]]&lt;br /&gt;
 | &amp;amp;nbsp;&lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; | 4&lt;br /&gt;
 | bgcolor=&amp;quot;#f4e4ce&amp;quot; style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; | [[Informatik 4 (StuPO90) | Info 4]]&lt;br /&gt;
 | &amp;amp;nbsp;&lt;br /&gt;
 | bgcolor=&amp;quot;#eeeaef&amp;quot; style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; | [[Projekt]] oder [[Praktikum]]&lt;br /&gt;
 | bgcolor=&amp;quot;#eadaee&amp;quot; style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; | [[MafI Wahlfach (StuPO90)| Mathe Wahl]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(1): Diese Lehrveranstaltungen werden zum Teil nicht mehr angeboten. Ein äquivalentes Lehrangebot findet ihr hier auf den einzelnen LV-Seiten.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Lehrveranstaltungen im Hauptstudium Informatik ==&lt;br /&gt;
Die Lehrveranstaltungen für das [[Hauptstudium Informatik (StuPO90)|Hauptstudium der Informatik]] können nicht mehr in einem Studienplan abgebildet werden, da jeder Student individuell (im Rahmen der StuPO90) den eigenen Studienverlauf bestimmen kann. Festgelegt sind die Formen der Veranstaltungen, um den Studenten eine Zuordnung zu selbst gewählten Haupt-, Neben-, Wahlfächern und Schwerpunkten zu ermöglichen.&lt;br /&gt;
&lt;br /&gt;
In der folgenden Liste befinden sich Veranstaltungen, zu denen wir Informationen zu Lehr- und Prüfungsinhalten bekommen haben. Diese ist leider &#039;&#039;&#039;nicht vollständig&#039;&#039;&#039; und stellt nur einen Teil des Angebotes im Hauptstudium dar. Das Hinzufügen weiterer Informationen ist absolut wünschenswert :).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
  ! &lt;br /&gt;
  ! Lehrveranstaltungen&lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; rowspan=3 | &#039;&#039;&#039;OKS&#039;&#039;&#039;&lt;br /&gt;
 | bgcolor=&amp;quot;#eeeaef&amp;quot; style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; | [[Grundlagen der offenen Kommunikationssysteme]]&lt;br /&gt;
 |- &lt;br /&gt;
 | bgcolor=&amp;quot;#eeeaef&amp;quot; style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; | [[OKS Vertiefung: Advanced Communication Systems]]&lt;br /&gt;
  |- &lt;br /&gt;
 | bgcolor=&amp;quot;#eeeaef&amp;quot; style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; | [[OKS Projekt I &amp;amp;amp; II]]&lt;br /&gt;
 |- &lt;br /&gt;
 | style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; rowspan=5 | &#039;&#039;&#039;KBS&#039;&#039;&#039;&lt;br /&gt;
 | bgcolor=&amp;quot;#eeeaef&amp;quot; style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; | [[Betriebssysteme]]&lt;br /&gt;
 |-&lt;br /&gt;
 | bgcolor=&amp;quot;#eeeaef&amp;quot; style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; | [[Betriebssysteme in verteilten Umgebungen]]&lt;br /&gt;
 |-&lt;br /&gt;
 | bgcolor=&amp;quot;#eeeaef&amp;quot; style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; | [[Grundlagen verlässlicher Systeme]]&lt;br /&gt;
 |-&lt;br /&gt;
 | bgcolor=&amp;quot;#eeeaef&amp;quot; style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; | [[Verteilte Systeme]]&lt;br /&gt;
 |-&lt;br /&gt;
 | bgcolor=&amp;quot;#eeeaef&amp;quot; style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; | [[Sicherheit in Rechensystemen]]&lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; rowspan=3 | &#039;&#039;&#039;KI&#039;&#039;&#039;&lt;br /&gt;
 | bgcolor=&amp;quot;#eeeaef&amp;quot; style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; | [[Agentenorientierte Techniken]]&lt;br /&gt;
 |-&lt;br /&gt;
 | bgcolor=&amp;quot;#eeeaef&amp;quot; style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; | [[Robocup]]&lt;br /&gt;
 |-&lt;br /&gt;
 | bgcolor=&amp;quot;#eeeaef&amp;quot; style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; | [[Grundlagen der Künstlichen Intelligenz]]&lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; | &#039;&#039;&#039;PDV&#039;&#039;&#039;&lt;br /&gt;
 | bgcolor=&amp;quot;#eeeaef&amp;quot; style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; | [[Eingebettete Echtzeitsysteme]] &lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; rowspan=4 | &#039;&#039;&#039;SWT&#039;&#039;&#039;&lt;br /&gt;
 | bgcolor=&amp;quot;#eeeaef&amp;quot; style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; | [[Softwaretechnik]]&lt;br /&gt;
 |- &lt;br /&gt;
 | bgcolor=&amp;quot;#eeeaef&amp;quot; style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; | [[Sicherheitsaspekte in der Software-Technik]]&lt;br /&gt;
 |-&lt;br /&gt;
 | bgcolor=&amp;quot;#eeeaef&amp;quot; style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; | [[Softwarequalitätsmanagement]]&lt;br /&gt;
 |-&lt;br /&gt;
 | bgcolor=&amp;quot;#eeeaef&amp;quot; style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; | [[Werkzeuge und Methoden der Softwareproduktion]]&lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; rowspan=3 | &#039;&#039;&#039;TFS&#039;&#039;&#039;&lt;br /&gt;
 | bgcolor=&amp;quot;#eeeaef&amp;quot; style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; | [[Logischer Entwurf digitaler Systeme]]&lt;br /&gt;
 |-&lt;br /&gt;
 | bgcolor=&amp;quot;#eeeaef&amp;quot; style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; | [[Formale Spezifikation von Systemen]]&lt;br /&gt;
 |-&lt;br /&gt;
 | bgcolor=&amp;quot;#eeeaef&amp;quot; style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; | [[Kategorientheorie]]&lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; | &#039;&#039;&#039;UEBB&#039;&#039;&#039;&lt;br /&gt;
 | bgcolor=&amp;quot;#eeeaef&amp;quot; style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; | [[Programmiersprachen und -systeme]] &lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; rowspan=6 | &#039;&#039;&#039;andere&#039;&#039;&#039;&lt;br /&gt;
 | bgcolor=&amp;quot;#eeeaef&amp;quot; style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; | [[Grundlagen der Informationsmodellierung]]&lt;br /&gt;
 |-&lt;br /&gt;
| bgcolor=&amp;quot;#eeeaef&amp;quot; style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; | [[Datenbanksysteme]]&lt;br /&gt;
 |-&lt;br /&gt;
 | bgcolor=&amp;quot;#eeeaef&amp;quot; style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; | [[Grundlagen der Statistik]]&lt;br /&gt;
 |-&lt;br /&gt;
 | bgcolor=&amp;quot;#eeeaef&amp;quot; style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; | [[Computer Graphics / Computer Vision]]&lt;br /&gt;
 |-&lt;br /&gt;
 | bgcolor=&amp;quot;#eeeaef&amp;quot; style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; | [[Psychologische Aspekte der Software-Ergonomie]]&lt;br /&gt;
 |-&lt;br /&gt;
 | bgcolor=&amp;quot;#eeeaef&amp;quot; style=&amp;quot;text-align: center; padding: 0.7em&amp;quot; | [[Telekommunikationsnetze]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Studiengänge|Zurück zu den Studiengängen]]&lt;br /&gt;
[[Kategorie:Fakultäts-ABC]]&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Distro-Bash_2007&amp;diff=10094</id>
		<title>Distro-Bash 2007</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Distro-Bash_2007&amp;diff=10094"/>
		<updated>2007-06-22T15:19:57Z</updated>

		<summary type="html">&lt;p&gt;Dank: /* Termin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die Freitagsrunde veranstaltet dieses Jahr zum ersten Mal einen &amp;quot;Distro-Bash&amp;quot;.&lt;br /&gt;
Ziel ist es, mittleren und fortgeschrittenen Non-[[Windows]]-Nutzern (OSX, Linux, BSD) die verschiedenen Linux- und BSD-Distributionen vorzustellen. Hierbei geht es vor allem um deren Unterschiede im Detail.&lt;br /&gt;
&lt;br /&gt;
== Termin ==&lt;br /&gt;
&lt;br /&gt;
Geplant sind dafür bisher drei Termine, mit jeweils drei Vorstellungen:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Freitag, 25. Mai&#039;&#039;&#039;, 15-18 Uhr, Raum [[FR 5516]]&lt;br /&gt;
#* Fedora/CentOS/RedHat (Felix Schwarz &amp;lt;felix freitagsrunde.org&amp;gt;)&lt;br /&gt;
#* Gentoo Linux (Robert Buchholz &amp;lt;rbu gentoo.org&amp;gt;)&lt;br /&gt;
#* Mac OS X (Martin Häcker &amp;lt;martin freitagsrunde.org&amp;gt;)&lt;br /&gt;
# &#039;&#039;&#039;Freitag, 22. Juni&#039;&#039;&#039;, 15-18 Uhr, Raum [[FR 5516]]&lt;br /&gt;
#* Debian GNU/Linux (Nico Golde, Sebastian Dyroff)&lt;br /&gt;
#* Arch Linux (Daniel Käs &amp;lt;dkaes cs.tu-berlin.de&amp;gt;) [[http://user.cs.tu-berlin.de/~dkaes/distroBash-archLinux.pdf Folien]]&lt;br /&gt;
#* grml (Valentin Hänel &amp;lt;Valentin(DOT)Haenel gmx.de&amp;gt;) [[http://esc.in-berlin.de/vortraege/grml_distro_bash/grml_distro_bash.pdf Folien]]&lt;br /&gt;
# &#039;&#039;&#039;Freitag, 06. Juli&#039;&#039;&#039;, 15-18 Uhr, Raum [[FR 5516]]&lt;br /&gt;
#* FreeBSD (Benjamin Braatz)&lt;br /&gt;
#* MacPorts/DarwinPorts (Elias Pipping)&lt;br /&gt;
#* OpenSolaris (Grzegorz Lehmann und Daniel Freund)&lt;br /&gt;
&lt;br /&gt;
Für die weiteren Termine stellen wir uns zum Beispiel folgende Distros vor:&lt;br /&gt;
* Ubuntu&lt;br /&gt;
* Mandriva&lt;br /&gt;
* openSUSE&lt;br /&gt;
* Rock Linux&lt;br /&gt;
* Linux From Scratch&lt;br /&gt;
&lt;br /&gt;
Wer Lust hat, mitzuhelfen, meldet sich bitte!&lt;br /&gt;
&lt;br /&gt;
== Für Vortragende ==&lt;br /&gt;
* Wir haben einen Beamer&lt;br /&gt;
* Zeit: bis 45 Minuten&lt;br /&gt;
&lt;br /&gt;
Zum Stil des Vortrags:&lt;br /&gt;
* bitte deutlich sprechen (nicht alle Zuhoerer sind Muttersprachler)&lt;br /&gt;
* nicht zu viele in-jokes verwenden (ja, es kommen nicht nur geeks ;) )&lt;br /&gt;
* Mut zur Luecke (man kann nie alles erzaehlen)&lt;br /&gt;
&lt;br /&gt;
Ideen für die Vorstellung:&lt;br /&gt;
* kurze Vorstellung des Projektes. Wer, seit wann, wieviel Leute, Infrastruktur&lt;br /&gt;
* Viel live zeigen. Eigenen Rechner mitbringen.&lt;br /&gt;
* Installation zeigen (auf leere Platte), ggf. nur kurz (abbrechen, wenn es langweilig wird)&lt;br /&gt;
* &#039;&#039;herausstechende&#039;&#039; Features. Was ist anders als bei anderen?&lt;br /&gt;
* Paketmanager: Was kann er, was kann er nicht? Wie sieht ein Paket aus, wie macht man selbst eines?&lt;br /&gt;
* Administration, Updates&lt;br /&gt;
* ... Was ihr wollt!&lt;br /&gt;
&lt;br /&gt;
== Fragen/Ideen ==&lt;br /&gt;
&lt;br /&gt;
Für Fragen wendet euch bitte per Mail an info(at)freitagsrunde(dot)org oder direkt an rbu(at)freitagsrunde(dot)org .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Veranstaltungen der Freitagsrunde]]&lt;br /&gt;
[[Kategorie:Freitagsrunde]]&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Linux-Installationsparty_2007&amp;diff=10061</id>
		<title>Linux-Installationsparty 2007</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Linux-Installationsparty_2007&amp;diff=10061"/>
		<updated>2007-05-16T16:11:39Z</updated>

		<summary type="html">&lt;p&gt;Dank: /* Veranstalter - Wer führt die Installationsparty durch? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Übersicht ==&lt;br /&gt;
&lt;br /&gt;
Linux Installationsparty:&lt;br /&gt;
* Zeit: Fr 15. Juni 2007 von 16h bis 20h&lt;br /&gt;
* Ort: TU Informatik, Franklinstr. 28+29, Raum [[FR 5516]] (gegenüber vom [[FR 5046]])&lt;br /&gt;
* max 25 Teilnehmer (aktuell angemeldet: 2 Leute)&lt;br /&gt;
* Anmeldung bis Sonntag 10. Juni 2007 [mailto:linux-installationsparty@freitagsrunde.org per Mail]!&lt;br /&gt;
&lt;br /&gt;
Mitbringen: Einen Rechner (PC/Notebook) mit&lt;br /&gt;
* Hauptspeicher (RAM): 128MB&lt;br /&gt;
* Prozessor: 300+ MHz&lt;br /&gt;
* Festplatte: 3GB frei oder eine eigene Festplatte&lt;br /&gt;
* CD oder DVD Laufwerk, von dem der Rechner starten kann&lt;br /&gt;
* Netzwerkarte + Netzwerkkabel&lt;br /&gt;
* Stromkabel bzw Stromverlängerung (Verteilerdose)&lt;br /&gt;
&lt;br /&gt;
== Ziel - Was ist die Linux-Installparty? ==&lt;br /&gt;
&lt;br /&gt;
Die Party soll Euch die Kenntnis und Fähigkeit vermitteln, [[Linux]] auf&lt;br /&gt;
eurem Computer zu installieren und euch auch praktisch dabei unterstützen.&lt;br /&gt;
Wir helfen Euch bei der Installation.  Bringt Euren Rechner mit!&lt;br /&gt;
&lt;br /&gt;
== Hardware - Was muss und was kann ich mitbringen? ==&lt;br /&gt;
* Ihr könnt euer Notebook oder Desktop/Tower mitbringen. Wenn ihr eueren Tower mitbringt, haben wir Bilschirme hier. Den braucht ihr also nicht zu schleppen.&lt;br /&gt;
** &#039;&#039;&#039;Wichtig:&#039;&#039;&#039; Wenn wir für euch einen Monitor besorgen sollen, dann meldet euch bis Sonntag, 10. Juni, bei uns [mailto:linux-installationsparty@freitagsrunde.org per Mail]!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Distribution - Welche Distributionen/Software gibt es zur Auswahl? ==&lt;br /&gt;
&lt;br /&gt;
Bitte bringt auch CD Rohlinge mit - dann können wir&lt;br /&gt;
Euch darauf eine Distribution Eurer Wahl brennen.&lt;br /&gt;
Falls Ihr schon eine Distribution habt, die Ihr installieren möchtet,&lt;br /&gt;
dann bringt natürlich auch diee mit!&lt;br /&gt;
&lt;br /&gt;
Die CD images (aka ISOs) einiger Installations-CDs&lt;br /&gt;
haben wir im Fakultätsnetz gemirrort.&lt;br /&gt;
* zB Ubuntu, CentOS, Debian, Fedora, Gentoo&lt;br /&gt;
&lt;br /&gt;
Wenn ihr x86_64 (64bit) oder ppc (Mac) Versionen der Distributionen haben wollt und diese&lt;br /&gt;
nicht selbst mitbringen können, dann meldet euch einfach per Mail&lt;br /&gt;
linux-installationsparty@freitagsrunde.org,&lt;br /&gt;
wir laden die ISOs dann für euch runter.&lt;br /&gt;
&lt;br /&gt;
== Ort+Zeit - Wann und wo findet die Installationsparty statt? ==&lt;br /&gt;
&lt;br /&gt;
 * Zeit: Fr 15. Juni 2007 von 16h bis 20h&lt;br /&gt;
 * Ort: Berlin, TU Informatik, Franklinstr. 28+29, Raum FR5516&lt;br /&gt;
&lt;br /&gt;
== Teilnehmer - Anmeldung per Email! ==&lt;br /&gt;
&lt;br /&gt;
Es können maximal 25 Leute teilnehmen.&lt;br /&gt;
Bitte meldet Euch bis spätestens bis zum Wochenende vorher&lt;br /&gt;
[mailto:linux-installationsparty@freitagsrunde.org per Mail] -&lt;br /&gt;
also bis zum Sonntag, den 10. Juni 2007.&lt;br /&gt;
&lt;br /&gt;
== Zielgruppe - Wen wollen wir ansprechen? ==&lt;br /&gt;
&lt;br /&gt;
Wir als [[Freitagsrunde]] wollen mit der Party zwei Gruppen ansprechen.&lt;br /&gt;
Das sind zum einen die Profis, die Linuxkenntnisse schon mitbringen und&lt;br /&gt;
anderen das Wissen vermitteln wollen. Und zum anderen natürlich die&lt;br /&gt;
Linux-Einsteiger, für die wir die Installationsparty überhaupt abhalten.&lt;br /&gt;
&lt;br /&gt;
== Vorwissen - Was sollte ich unbedingt wissen? ==&lt;br /&gt;
&lt;br /&gt;
An sich braucht ihr von der Sache nichts zu wissen.&lt;br /&gt;
Aber es hilft natürlich, wenn ihr Vorwissen habt.&lt;br /&gt;
&lt;br /&gt;
== Vorbereitung - Was kann man schon vorher tun? ==&lt;br /&gt;
&lt;br /&gt;
Ganz wichtig: Ihr solltet ein [[Backup]] eurer Daten anlegen.&lt;br /&gt;
&lt;br /&gt;
Wenn ihr während der Installparty Daten verliert, seid ihr einerseits&lt;br /&gt;
selbst dafür verantwortlich und andererseits ist es sehr schmerzhaft,&lt;br /&gt;
wichtige Daten zu verlieren.&lt;br /&gt;
&lt;br /&gt;
Und was macht ihr dann als zweites?&lt;br /&gt;
Ihr macht am besten noch ein BACKUP eurer Daten,&lt;br /&gt;
für den Fall, dass das erste beschädigt wird.  ;-)&lt;br /&gt;
&lt;br /&gt;
== Kosten - Was kostet mich der ganze Spaß? ==&lt;br /&gt;
&lt;br /&gt;
NICHTS.  Das ganze ist *kostenlos*.  Ist das nicht toll?&lt;br /&gt;
&lt;br /&gt;
Übrigens: Über etwas Knabberzeug oder etwas&lt;br /&gt;
zu trinken freuen sich aber sicher alle. :-)&lt;br /&gt;
&lt;br /&gt;
== Veranstalter - Wer führt die Installationsparty durch? ==&lt;br /&gt;
&lt;br /&gt;
Die Installationsparty wird organisiert&lt;br /&gt;
von Mitgliedern der Freitagsrunde:&lt;br /&gt;
&lt;br /&gt;
* [[Benutzer:Buchholz|Robert Buchholz]] &amp;lt; rbu(at)freitagsrunde(punkt)org &amp;gt;&lt;br /&gt;
* [[Benutzer:Cleeus|Kai Dietrich]] &amp;lt; kai(at)freitagsrunde(punkt)org &amp;gt;&lt;br /&gt;
* [[Benutzer:Felixf|Felix Friedrich]] &amp;lt; felixf(at)freitagsrunde(punkt)org &amp;gt;&lt;br /&gt;
* [[Benutzer:pipping|Sebastian Pipping]] &amp;lt; webmaster(at)hartwork(punkt)org &amp;gt;&lt;br /&gt;
* [[Benutzer:Felix|Felix Schwarz]] &amp;lt; felix(at)freitagsrunde(punkt)org &amp;gt;&lt;br /&gt;
* Martin Zuber&lt;br /&gt;
* [[Benutzer:Dank|Daniel Käs]] &amp;lt; dkaes cs.tu-berlin.de &amp;gt;&lt;br /&gt;
&lt;br /&gt;
... und von allen, die sich hier noch eintragen und mitmachen wollen.&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
Inzwischen gibt es zwei Galerien mit [[Fotos]] von der letzten Veranstaltung.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Veranstaltungen der Freitagsrunde]]&lt;br /&gt;
[[Kategorie:Freitagsrunde]]&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Diskussion:IRB_VPN&amp;diff=2603</id>
		<title>Diskussion:IRB VPN</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Diskussion:IRB_VPN&amp;diff=2603"/>
		<updated>2007-05-16T16:08:48Z</updated>

		<summary type="html">&lt;p&gt;Dank: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; IP-Adresse: https://irb.cs.tu-berlin.de:81/auth/?action=d_ip.pike&lt;br /&gt;
 MS-Chap Kennwort: https://irb.cs.tu-berlin.de:81/auth/?action=d_vpn.pike&lt;br /&gt;
 einrichten, dann vpn&#039;n&lt;br /&gt;
&lt;br /&gt;
KVpnc ist ne nette Sache, aber leider blick ich nicht, was ich dann dort einstellen muss. Kann nicht so schwer sein, ich habe nur keine Ahnung. Ein Hinweis auf der Seite wäre gut.&lt;br /&gt;
&lt;br /&gt;
Tobi&lt;br /&gt;
&lt;br /&gt;
versuche es mal mit dem pptp client!&lt;br /&gt;
&lt;br /&gt;
wpk&lt;br /&gt;
&lt;br /&gt;
Jetzt ist die Sache aufgesetzt (feine Anleitung), aber ich kann keine Hosts außer mir selben pingen. Ein Ping von außen auf meine .home.cs.tu-berlin.de-Adresse gibt nur 100% Verlust mit Zeitüberschreitung. &lt;br /&gt;
Ich vermute Routing-Fehler. Wem fällt dazu was ein?&lt;br /&gt;
--Joti&lt;br /&gt;
: Im WLAN der Uni oder von zu Hause aus? [[Benutzer:Buchholz|Robert Buchholz]] 09:41, 25. Feb 2006 (CET)&lt;br /&gt;
:: War so weit ich mich erinnere zu Hause (DSL+VPN=Server mit fester IP), hat sich allerdings mittlerweile erledigt, danke für Rückmeldung. :) -[[Benutzer:Joti|Joti]] 22:41, 23. Nov. 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
Hi. Ich hab soweit alles befolgt. Allerdings bekomme ich folgende Fehlermeldung:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;jan@Kamehameha:/usr/local/bin$ sudo ./irbroute&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;SIOCADDRT: No such device&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;jan@Kamehameha:/usr/local/bin$ cd /dev&lt;br /&gt;
jan@Kamehameha:/dev$ ls ppp*&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;ppp&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Also dachte ich, das device umbenennen geht:&lt;br /&gt;
&#039;&#039;&lt;br /&gt;
sudo vi /usr/local/bin/irbroute&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;#!/bin/sh&lt;br /&gt;
route add -host prima.cs.tu-berlin.de dev $(route | awk &#039;/default/ {print $8}&#039;)&lt;br /&gt;
route add default dev ppp&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
ergibt eine Fehlermeldung mehr:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;SIOCADDRT: File exists&lt;br /&gt;
SIOCADDRT: No such device&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ich hoffe hier ist der richtige Fleck für diesen Kommentar :)&lt;br /&gt;
--[[Benutzer:JanCS|JanCS]] 15:03, 23. Nov. 2006 (CET)&lt;br /&gt;
&lt;br /&gt;
Also &amp;quot;route | awk &#039;/default/ {print $8}&#039;&amp;quot; funktioniert nicht in allen Fällen, sicherer ist es &amp;quot;route -n | awk &#039;$1==&amp;quot;0.0.0.0&amp;quot; {print $8}&#039;&amp;quot; zu benutzen, da dann die IP-Adresse anstatt der Hostname genommen wird. Die Hostnamen sind manchmal zu lang, weshalb ein paar Zeichen bei der Ausgabe von route abgeschnitten werden, ich benutze folgendes Skript um die route zu setzen:&lt;br /&gt;
&lt;br /&gt;
   #!/bin/sh&lt;br /&gt;
   GATEWAY=`route -n | awk &#039;$1==&amp;quot;0.0.0.0&amp;quot; {print $2}&#039;`&lt;br /&gt;
   DEVICE=`route -n | awk &#039;$1==&amp;quot;0.0.0.0&amp;quot; {print $8}&#039;`&lt;br /&gt;
   route add -host 130.149.145.10 dev $DEVICE gw $GATEWAY&lt;br /&gt;
   route del default&lt;br /&gt;
   route add default dev ppp0&lt;br /&gt;
--[[Benutzer:Dank|Dank]] 18:08, 16. Mai. 2007 (CEST)&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Javakurs2007/Vortrag04&amp;diff=9376</id>
		<title>Javakurs2007/Vortrag04</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Javakurs2007/Vortrag04&amp;diff=9376"/>
		<updated>2007-04-11T18:36:19Z</updated>

		<summary type="html">&lt;p&gt;Dank: /* Von der Aufgabe zum Code */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Von der Aufgabe zum Code ==&lt;br /&gt;
Vortragende: Robert Lubkoll &amp;lt;robert freitagsrunde.org&amp;gt;, Daniel Käs &amp;lt;dkaes cs.tu-berlin.de&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Themen ===&lt;br /&gt;
&lt;br /&gt;
* Wie bearbeiten geübte Programmierer eine Aufgabenstellung ?&lt;br /&gt;
* Wo fange ich mit dem Schreiben eines Programms an ?&lt;br /&gt;
* Wie behalte ich den Überblick in meinem Code ?&lt;br /&gt;
* Warum ist cooler Code schlechter Code ?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Folien ===&lt;br /&gt;
* [http://www.the-gate.de/uni/javakurs2007/LE04.pdf  Als .pdf]&lt;br /&gt;
* [http://www.the-gate.de/uni/javakurs2007/LE04.odp Als .odp mit Animationen]&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Benutzer:Dank&amp;diff=9939</id>
		<title>Benutzer:Dank</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Benutzer:Dank&amp;diff=9939"/>
		<updated>2007-04-09T13:24:59Z</updated>

		<summary type="html">&lt;p&gt;Dank: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Daniel Käs&lt;br /&gt;
&lt;br /&gt;
Ihr erreicht mich per E-Mail unter dkaes im CS-Netz.&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Diskussion:Javakurs/%C3%9Cbungsaufgaben/Crack_the_Password&amp;diff=9936</id>
		<title>Diskussion:Javakurs/Übungsaufgaben/Crack the Password</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Diskussion:Javakurs/%C3%9Cbungsaufgaben/Crack_the_Password&amp;diff=9936"/>
		<updated>2007-04-09T13:24:12Z</updated>

		<summary type="html">&lt;p&gt;Dank: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Warum hast du nicht 1000 als gültige Passwortzahl genommen, dann hätte man zumindest über die korrekte Abbruchsbedinung nachdenken müssen, zu schnell schreibt man ja i &amp;lt; 1000 hin ;-) --[[Benutzer:Dank|Dank]] 15:24, 9. Apr. 2007 (CEST)&lt;/div&gt;</summary>
		<author><name>Dank</name></author>
	</entry>
</feed>