<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.freitagsrunde.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mario</id>
	<title>FreitagsrundenWiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.freitagsrunde.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mario"/>
	<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/Spezial:Beitr%C3%A4ge/Mario"/>
	<updated>2026-05-18T23:34:51Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.31.16</generator>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Freitagsrunde:Ehemalige_Mitglieder&amp;diff=19410</id>
		<title>Freitagsrunde:Ehemalige Mitglieder</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Freitagsrunde:Ehemalige_Mitglieder&amp;diff=19410"/>
		<updated>2012-10-19T16:33:34Z</updated>

		<summary type="html">&lt;p&gt;Mario: /* Mario Bodemann (mario.bodemann@gmail.com) */ Mail angepasst (Clickbar gemacht :))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&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;
== Mario Bodemann ([mailto:mario.bodemann@gmail.com mario.bodemann@gmail.com]) ==&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 war jahrelang aktives Mitglied in der Freitagsrunde und arbeite gegenwaertig als Software Engineer bei [http://www.wooga.com Wooga].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;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;
Seit August 2006 promoviere ich an der [http://www.cs.unc.edu University of North Carolina in Chapel Hill] im Bereich der Multiprozessor-Echtzeitsysteme. Ermoeglicht hat mir den Schritt das [http://www.fulbright.de Fulbright Programm]. &lt;br /&gt;
&lt;br /&gt;
Mehr ueber mich erfahrt ihr auf [http://www.cs.unc.edu/~bbb meiner persoenlichen Homepage].&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;
Im SS 2009 habe ich mein Studium (Informatik Diplom) abgeschlossen.&lt;br /&gt;
Mittlerweile mache ich als wissenschaftlicher Mitarbeiter die Universität unsicher.&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Robert Buchholz (&amp;lt;email&amp;gt;rbu@freitagsrunde.org&amp;lt;/email&amp;gt;) ==&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;
== Kai Dietrich (&amp;lt;email&amp;gt;kai@freitagsrunde.org&amp;lt;/email&amp;gt;) ==&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;
== Sebastian Dyroff (&amp;lt;email&amp;gt;sdyroff@freitagsrunde.org&amp;lt;/email&amp;gt;) ==&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 Jahren aktiv an der Unipolitik beteiligen. Natürlich habe ich mich auch an vielen anderen Aktivitäten der Freitagsrunde beteiligt. Seit 2008 bin ich auch Tutor bei [http://www.kbs.tu-berlin.de/menue/lehre KBS].&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;
== 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 (&amp;lt;email&amp;gt;timo@freitagsrunde.org&amp;lt;/email&amp;gt;) ==&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;
== 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 '''viel''' 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;
&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 (&amp;lt;email&amp;gt;dkaes@cs.tu-berlin.de&amp;lt;/email&amp;gt;) ==&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 (&amp;lt;email&amp;gt;thomas@freitagsrunde.org&amp;lt;/email&amp;gt;) ==&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 &amp;lt;email&amp;gt;thomas@freitagsrunde.org&amp;lt;/email&amp;gt;.&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;
&lt;br /&gt;
== Julia Kowalle ([mailto:julia@freitagsrunde.org julia@freitagsrunde.org]) ==&lt;br /&gt;
&lt;br /&gt;
== Michael Kunze (&amp;lt;email&amp;gt;JaegerMFK@gmx.de&amp;lt;/email&amp;gt;) ==&lt;br /&gt;
[[Bild:MichaelKunze.jpg|thumb|150px|Michael Kunze]]&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;
== Brandon Llanque (&amp;lt;email&amp;gt;brandon@freitagsrunde.org&amp;lt;/email&amp;gt;) ==&lt;br /&gt;
[[Bild:BrandonLlanque.jpg|thumb|150px|Brandon Llanque]]&lt;br /&gt;
Hallo, ich bin der Brandon und möchte diesen sinnlosen Text demnächst gegen einen sinnvollen Text ersetzen.&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&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 '''Uni-Politik''' 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;
== Daniel Levin (&amp;lt;email&amp;gt;dlevin@freitagsrunde.org&amp;lt;/email&amp;gt;) ==&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'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;
== 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;
== Ellen Michelsen ([mailto:ellen@freitagsrunde.org ellen@freitagsrunde.org]) ==&lt;br /&gt;
Ich studierte Informatik von Oktober 04 bis August 09 und war aktiv in der Freitagsrunde tätig. Es hat sich gezeigt, dass sich mit viel Engagement eine Menge bewegen lässt ;-).&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;
== 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;
== Judith Rohloff ([mailto:judith@freitagsrunde.org judith@freitagsrunde.org]) ==&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;
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;
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;
== Felix Schwarz ([mailto:felix@freitagsrunde.org felix@freitagsrunde.org]) ==&lt;br /&gt;
[[Bild:Foto-felix.jpeg|framed|Felix Schwarz]]&lt;br /&gt;
Ich habe ab dem WS 2001/2002 an der TU Berlin Informatik studiert und habe im &lt;br /&gt;
SS 2007 meine Diplomprüfung abgeschlossen.&lt;br /&gt;
&lt;br /&gt;
Als politisch interessierter Mensch habe ich im WS 2002/2003 die Freitagsrunde &lt;br /&gt;
mit gegründet und in den folgenden Jahren verschiedene Projekte angestoßen (Wiki, &lt;br /&gt;
studentische Seminare wie den Eclipse-Kurs, [[Klausurensammlung]], etc.) bzw.&lt;br /&gt;
mich an diverse Aktionen (Streik WS 2003/2004, [[Einführungswoche|Einführungswochen]],&lt;br /&gt;
[[Javakurs]], Gremienarbeit) beteiligt.&lt;br /&gt;
&lt;br /&gt;
Während dieser Zeit habe ich insbesondere zwei Dinge gelernt:&lt;br /&gt;
# Einzelpersonen können selbst in großen Organisationen wie der TU viel bewirken!&lt;br /&gt;
# Freitagsrunden-Engagement macht Spaß und bringt einem viele neue Freunde!&lt;br /&gt;
 &lt;br /&gt;
Inzwischen schaue ich nur noch ab und zu als &amp;quot;Alumnus&amp;quot; bei der Freitagsrunde &lt;br /&gt;
vorbei und bin ansonsten Software-Entwickler. Noch mehr Uninteressantes über&lt;br /&gt;
mich gibt es auf meiner [[Benutzer:Felix|Benutzerseite]].&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Daniel Sturm (&amp;lt;email&amp;gt;freitagsrunde@DanielSturm.de&amp;lt;/email&amp;gt;) ==&lt;br /&gt;
[[Bild:Foto_Daniel.jpg|thumb|150px|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;
&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;
== 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;
== Bernd Weiss (&amp;lt;email&amp;gt;bweiss@freitagsrunde.org&amp;lt;/email&amp;gt;) ==&lt;br /&gt;
[[Bild:BerndWeiss.jpg|thumb|150px|Bernd Weiss]]&lt;br /&gt;
Hiho, ich studiere seit dem Wintersemester 2009/2010 Technische-Informatik.&lt;br /&gt;
Ich Interessiere mich für alles was flimmert, was ich essen kann =D, fahre gerne Rad und betreibe Ski-Sport (Alpin).&lt;br /&gt;
In die Freitagsrunde bin ich eher durch Zufall gekommen, xD ich hatte in der Einführungswoche ausversehen Marcels Glückskugelschreiber bei der Kleingruppenrunde eingesteckt. Als ich den dann zurück gebracht hatte und an der ersten Sitzung teilnahm wusste ich, Da muss ich dabei sein...&lt;br /&gt;
Falls ihr mehr über mich wissen wollt, mailt mich einfach an.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Karl Wessel (&amp;lt;email&amp;gt;karl@freitagsrunde.org&amp;lt;/email&amp;gt;) ==&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;
'''Das sind die ehemaligen und inaktiven Mitglieder der Freitagsrunde - Zurück zu den [[Freitagsrunde:Mitglieder|aktiven Mitgliedern]].'''&lt;br /&gt;
&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>Mario</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Freitagsrunde:Ehemalige_Mitglieder&amp;diff=19409</id>
		<title>Freitagsrunde:Ehemalige Mitglieder</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Freitagsrunde:Ehemalige_Mitglieder&amp;diff=19409"/>
		<updated>2012-10-19T16:31:12Z</updated>

		<summary type="html">&lt;p&gt;Mario: /* Mario Bodemann (mario.bodemann@gmail.com) */ Update auf aktuelle Daten&lt;/p&gt;
&lt;hr /&gt;
&lt;div&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;
== Mario Bodemann (&amp;lt;email&amp;gt;mario.bodemann@gmail.com&amp;lt;/email&amp;gt;) ==&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 war jahrelang aktives Mitglied in der Freitagsrunde und arbeite gegenwaertig als Software Engineer bei [http://www.wooga.com Wooga].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;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;
Seit August 2006 promoviere ich an der [http://www.cs.unc.edu University of North Carolina in Chapel Hill] im Bereich der Multiprozessor-Echtzeitsysteme. Ermoeglicht hat mir den Schritt das [http://www.fulbright.de Fulbright Programm]. &lt;br /&gt;
&lt;br /&gt;
Mehr ueber mich erfahrt ihr auf [http://www.cs.unc.edu/~bbb meiner persoenlichen Homepage].&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;
Im SS 2009 habe ich mein Studium (Informatik Diplom) abgeschlossen.&lt;br /&gt;
Mittlerweile mache ich als wissenschaftlicher Mitarbeiter die Universität unsicher.&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Robert Buchholz (&amp;lt;email&amp;gt;rbu@freitagsrunde.org&amp;lt;/email&amp;gt;) ==&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;
== Kai Dietrich (&amp;lt;email&amp;gt;kai@freitagsrunde.org&amp;lt;/email&amp;gt;) ==&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;
== Sebastian Dyroff (&amp;lt;email&amp;gt;sdyroff@freitagsrunde.org&amp;lt;/email&amp;gt;) ==&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 Jahren aktiv an der Unipolitik beteiligen. Natürlich habe ich mich auch an vielen anderen Aktivitäten der Freitagsrunde beteiligt. Seit 2008 bin ich auch Tutor bei [http://www.kbs.tu-berlin.de/menue/lehre KBS].&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;
== 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 (&amp;lt;email&amp;gt;timo@freitagsrunde.org&amp;lt;/email&amp;gt;) ==&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;
== 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 '''viel''' 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;
&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 (&amp;lt;email&amp;gt;dkaes@cs.tu-berlin.de&amp;lt;/email&amp;gt;) ==&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 (&amp;lt;email&amp;gt;thomas@freitagsrunde.org&amp;lt;/email&amp;gt;) ==&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 &amp;lt;email&amp;gt;thomas@freitagsrunde.org&amp;lt;/email&amp;gt;.&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;
&lt;br /&gt;
== Julia Kowalle ([mailto:julia@freitagsrunde.org julia@freitagsrunde.org]) ==&lt;br /&gt;
&lt;br /&gt;
== Michael Kunze (&amp;lt;email&amp;gt;JaegerMFK@gmx.de&amp;lt;/email&amp;gt;) ==&lt;br /&gt;
[[Bild:MichaelKunze.jpg|thumb|150px|Michael Kunze]]&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;
== Brandon Llanque (&amp;lt;email&amp;gt;brandon@freitagsrunde.org&amp;lt;/email&amp;gt;) ==&lt;br /&gt;
[[Bild:BrandonLlanque.jpg|thumb|150px|Brandon Llanque]]&lt;br /&gt;
Hallo, ich bin der Brandon und möchte diesen sinnlosen Text demnächst gegen einen sinnvollen Text ersetzen.&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&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 '''Uni-Politik''' 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;
== Daniel Levin (&amp;lt;email&amp;gt;dlevin@freitagsrunde.org&amp;lt;/email&amp;gt;) ==&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'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;
== 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;
== Ellen Michelsen ([mailto:ellen@freitagsrunde.org ellen@freitagsrunde.org]) ==&lt;br /&gt;
Ich studierte Informatik von Oktober 04 bis August 09 und war aktiv in der Freitagsrunde tätig. Es hat sich gezeigt, dass sich mit viel Engagement eine Menge bewegen lässt ;-).&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;
== 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;
== Judith Rohloff ([mailto:judith@freitagsrunde.org judith@freitagsrunde.org]) ==&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;
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;
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;
== Felix Schwarz ([mailto:felix@freitagsrunde.org felix@freitagsrunde.org]) ==&lt;br /&gt;
[[Bild:Foto-felix.jpeg|framed|Felix Schwarz]]&lt;br /&gt;
Ich habe ab dem WS 2001/2002 an der TU Berlin Informatik studiert und habe im &lt;br /&gt;
SS 2007 meine Diplomprüfung abgeschlossen.&lt;br /&gt;
&lt;br /&gt;
Als politisch interessierter Mensch habe ich im WS 2002/2003 die Freitagsrunde &lt;br /&gt;
mit gegründet und in den folgenden Jahren verschiedene Projekte angestoßen (Wiki, &lt;br /&gt;
studentische Seminare wie den Eclipse-Kurs, [[Klausurensammlung]], etc.) bzw.&lt;br /&gt;
mich an diverse Aktionen (Streik WS 2003/2004, [[Einführungswoche|Einführungswochen]],&lt;br /&gt;
[[Javakurs]], Gremienarbeit) beteiligt.&lt;br /&gt;
&lt;br /&gt;
Während dieser Zeit habe ich insbesondere zwei Dinge gelernt:&lt;br /&gt;
# Einzelpersonen können selbst in großen Organisationen wie der TU viel bewirken!&lt;br /&gt;
# Freitagsrunden-Engagement macht Spaß und bringt einem viele neue Freunde!&lt;br /&gt;
 &lt;br /&gt;
Inzwischen schaue ich nur noch ab und zu als &amp;quot;Alumnus&amp;quot; bei der Freitagsrunde &lt;br /&gt;
vorbei und bin ansonsten Software-Entwickler. Noch mehr Uninteressantes über&lt;br /&gt;
mich gibt es auf meiner [[Benutzer:Felix|Benutzerseite]].&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Daniel Sturm (&amp;lt;email&amp;gt;freitagsrunde@DanielSturm.de&amp;lt;/email&amp;gt;) ==&lt;br /&gt;
[[Bild:Foto_Daniel.jpg|thumb|150px|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;
&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;
== 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;
== Bernd Weiss (&amp;lt;email&amp;gt;bweiss@freitagsrunde.org&amp;lt;/email&amp;gt;) ==&lt;br /&gt;
[[Bild:BerndWeiss.jpg|thumb|150px|Bernd Weiss]]&lt;br /&gt;
Hiho, ich studiere seit dem Wintersemester 2009/2010 Technische-Informatik.&lt;br /&gt;
Ich Interessiere mich für alles was flimmert, was ich essen kann =D, fahre gerne Rad und betreibe Ski-Sport (Alpin).&lt;br /&gt;
In die Freitagsrunde bin ich eher durch Zufall gekommen, xD ich hatte in der Einführungswoche ausversehen Marcels Glückskugelschreiber bei der Kleingruppenrunde eingesteckt. Als ich den dann zurück gebracht hatte und an der ersten Sitzung teilnahm wusste ich, Da muss ich dabei sein...&lt;br /&gt;
Falls ihr mehr über mich wissen wollt, mailt mich einfach an.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Karl Wessel (&amp;lt;email&amp;gt;karl@freitagsrunde.org&amp;lt;/email&amp;gt;) ==&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;
'''Das sind die ehemaligen und inaktiven Mitglieder der Freitagsrunde - Zurück zu den [[Freitagsrunde:Mitglieder|aktiven Mitgliedern]].'''&lt;br /&gt;
&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>Mario</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Benutzer_Diskussion:Mario&amp;diff=16634</id>
		<title>Benutzer Diskussion:Mario</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Benutzer_Diskussion:Mario&amp;diff=16634"/>
		<updated>2011-09-12T17:21:46Z</updated>

		<summary type="html">&lt;p&gt;Mario: Links angepasst ...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= CKurs - Ein und Ausgabe =&lt;br /&gt;
&lt;br /&gt;
 - DRAFT -&lt;br /&gt;
&lt;br /&gt;
*Kommentare im Code sind Infos zum Erzählen.&lt;br /&gt;
*Fett: Fragen an Publikum/Im Code: Ergänzung zum letzten Listings ...&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Wiederholung =&lt;br /&gt;
'''Durch Studis zu ergänzen'''&lt;br /&gt;
''HelloWorld''-Programm an die Tafel &lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt; // Einbinden des Headers der IO-Lib&amp;lt;br&amp;gt;&lt;br /&gt;
 int main(int argc, char **argv)  // Haupteinsprungspunkt&lt;br /&gt;
 { // Scope erwähnen?&lt;br /&gt;
   // Platz für Variablen lassen&lt;br /&gt;
   printf(&amp;quot;Hello World!\n&amp;quot;); // Kurz: \n =&amp;gt; newline, folgende Ausgabe in der nächsten Zeile&lt;br /&gt;
   return 0;&lt;br /&gt;
 } &lt;br /&gt;
&lt;br /&gt;
* ''\n'' für eine Zeilenende&lt;br /&gt;
* ''\&amp;quot;'' für ein ''&amp;quot;''-Symbol&lt;br /&gt;
* ''\\'' für ein ''\''-Symbol (Windows-Pfadtrenner)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= dynamische Ausgabe =&lt;br /&gt;
&lt;br /&gt;
(Ausgabe an Tafel/Laptop)&lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 int main(int argc, char **argv)  &lt;br /&gt;
 { &amp;lt;br&amp;gt;&lt;br /&gt;
   printf(&amp;quot;Hello World!''' Some Number: %d'''\n&amp;quot;''', 42'''); // Wichtig: Komma erwähnen!&lt;br /&gt;
   return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
* ''printf'' benutzt das '''%'''-Zeichen zur Markierung welcher Teil des Textes ersetzt werden muss.&lt;br /&gt;
* nach dem '''%'''-Zeichen steht der ''Typbezeichner'': '''%d''' steht für '''d'''ecimal (ganzzahlige Ausgabe).&lt;br /&gt;
** ''%s'' für Zeichenketten&lt;br /&gt;
** ''%f'' für Fließkommazahlen&lt;br /&gt;
** ''%%'' für ''%''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Variablen==&lt;br /&gt;
* bisher: keine Verbesserung, da '''%d''' auch einfach direkt '''42''' sein könnte ...&lt;br /&gt;
* Nutzbar auch für Variablen: ('''''Frage'': Was ist eine Variable?''')&lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 int main(int argc, char **argv)  &lt;br /&gt;
 { &lt;br /&gt;
   '''int iSumOfDigits = 1 + 9 + 8 + 5;'''&lt;br /&gt;
   printf(&amp;quot;Hello World! Some Number: %d\n&amp;quot;, '''iSumOfDigits''');&lt;br /&gt;
   return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
* '''''Frage:'' Was ist das Ergebnis? Warum?'''&lt;br /&gt;
* '''''Antwort:'' Hello World! Some Number: 23'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Formatierung ==&lt;br /&gt;
* ''%5d'' für 5 Zahlen mindestens&lt;br /&gt;
* ''%05d'' für 5 Zahlen mindestens, aufgefüllt mit Nullen&lt;br /&gt;
* ''%-5d'' für 5 Zahlen mindestens, linksbündig&lt;br /&gt;
* ''%-5.2f'' für 5 Zahlen mindestens, linksbündig, auf zwei Nachkommastellen gerundet&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''Beispiel (An Tafel/Laptop)'''''&lt;br /&gt;
 char pcName[255];&lt;br /&gt;
 strcpy(pcName,&amp;quot;Mario&amp;quot;);// #include &amp;lt;string.h&amp;gt; + ''richtige'' Art der Zuweisung für konstanten Inhalt&amp;lt;br&amp;gt;&lt;br /&gt;
 unsigned uiAge = 26u;&lt;br /&gt;
 float fHeight=1.83f;&amp;lt;br&amp;gt;&lt;br /&gt;
 printf(&amp;quot;%s ist %5.0fm hoch und %05d Jahre alt\n&amp;quot;, pcName, fHeight, uiAge);&lt;br /&gt;
 printf(&amp;quot;%s ist %-5.1fm hoch und %-05d Jahre alt\n&amp;quot;, pcName, fHeight, uiAge);&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''Frage: '' Wie sieht die Ausgabe aus? Warum?'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Antwort: '''''&lt;br /&gt;
 Mario ist     2m hoch und 00026 Jahre alt&lt;br /&gt;
 Mario ist 1.8  m hoch und 26    Jahre alt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Eingabe =&lt;br /&gt;
&lt;br /&gt;
* ''scanf'' ähnlich zu ''printf''&lt;br /&gt;
* liest stets von der Kommandozeile&lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 int main(int argc, char **argv)  &lt;br /&gt;
 { &lt;br /&gt;
   unsigned int uiAge;&lt;br /&gt;
   '''printf(&amp;quot;Alter: &amp;quot;);''' // Ausgabe vor der Eingabe ...&lt;br /&gt;
   '''scanf(&amp;quot;%d&amp;quot;, &amp;amp;uiAge);''' // '''&amp;amp;''': Adressoperator, kommt später, immer mitnehmen!&lt;br /&gt;
   printf(&amp;quot;Du bist %d Jahre alt.\n&amp;quot;, uiAge);&lt;br /&gt;
   return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fehlerhafte Eingabe ==&lt;br /&gt;
&lt;br /&gt;
'''''Frage:'' Welchen Wert hat ''uiAge'' wenn ''A'' eingegeben wurde?'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''Antwort:''' ''0'' und keine Fehlermeldung. Daher: Stets prüfen, ob Konvertierung möglich war.&lt;br /&gt;
&lt;br /&gt;
* Rückgabewert von ''scanf'' gibt Anzahl der erfolgreich gelesenen '''%'''-Zeichenketten zurück&lt;br /&gt;
* '''0''' bedeutet, keine erfolgreiche Konvertierung möglich ...&lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 int main(int argc, char **argv)  &lt;br /&gt;
 {&lt;br /&gt;
   unsigned int uiAge;&lt;br /&gt;
   printf(&amp;quot;Alter: &amp;quot;);&lt;br /&gt;
   if( 1 != scanf(&amp;quot;%d&amp;quot;, &amp;amp;uiAge) )&lt;br /&gt;
   {&lt;br /&gt;
     printf(&amp;quot;Konnte das Alter nicht lesen!\n&amp;quot;);&lt;br /&gt;
     return -1;&lt;br /&gt;
   }&amp;lt;br&amp;gt;&lt;br /&gt;
   printf(&amp;quot;%s ist %d Jahre alt\n&amp;quot;, pcName, uiAge);&lt;br /&gt;
   return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Dateien =&lt;br /&gt;
&lt;br /&gt;
Ein und Ausgabe in Dateien: Schrittfolge zum Dateibearbeiten:&lt;br /&gt;
# Datei öffnen '''FILE *pOpenedFile = fopen( ''FILE_PATH'', ''MODE'');'''&lt;br /&gt;
#* ''FILE_PATH'' = &amp;quot;/usr/share/..&amp;quot;&lt;br /&gt;
#* ''MODE''&lt;br /&gt;
#** '''r'''ead (nur lesend, bricht ab bei nicht existenter Datei)&lt;br /&gt;
#** '''w'''rite (nur schreibend, erzeugt Datei, schreibt von Anfang)&lt;br /&gt;
#** '''a'''ppend (nur schreibend, schreibt ans Ende)&lt;br /&gt;
#** '''r+''' (read+write) lesen und schreiben, Dateiinhalt bleibt erhalten&lt;br /&gt;
#** '''w+''' (write+read) lesen und schreiben, Dateiinhalt wird gelöscht&lt;br /&gt;
#** '''a+''' (append+read) vom Dateianfang lesen und ans Ende schreiben, funktioniert nicht unter MAC, lieber mit r+ arbeiten ... :-)&lt;br /&gt;
#* '''pOpenedFile''' muss ungleich '''NULL''' sein, wenn Datei geöffnet werden konnte&lt;br /&gt;
# Datei bearbeiten&lt;br /&gt;
#* Schreiben:&lt;br /&gt;
#** '''f'''printf( pOpenedFile, ''FORMAT_STRING''[, ''TYPES'']*);&lt;br /&gt;
#** ''FORMAT_STRING'' und ''TYPES'', wie bei printf!&lt;br /&gt;
#* Lesen:&lt;br /&gt;
#** '''f'''scanf( pOpenedFile,  ''FORMAT_STRING''[, &amp;amp;''TYPES'']*);&lt;br /&gt;
#** ''FORMAT_STRING'' und ''TYPES'', wie bei scanf!&lt;br /&gt;
#** Testen ob Dateiende: '''feof(pOpenedFile)''' &lt;br /&gt;
#*** Wenn Rückgabe != 0 wurde Dateiende erreicht&lt;br /&gt;
# Datei schließen (Sonst kann die Datei nicht erneut geöffnet werden)&lt;br /&gt;
#* '''fclose( pOpenedFile );'''&lt;br /&gt;
&lt;br /&gt;
= Komplexe Aufgabe =&lt;br /&gt;
'''''Aufgabe:'' Lese eine Datei mit folgendem Inhalt ein und füge am Ende der Datei die Summe aller Elemente hinzu.'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1 2 3 &lt;br /&gt;
4 5 6&lt;br /&gt;
7 8 9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
(Summe = 45)&lt;br /&gt;
&lt;br /&gt;
'''''Antwort:'''''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
int main(int argc, char **argv)&lt;br /&gt;
{&lt;br /&gt;
  // Schritt 1: Öffnen&lt;br /&gt;
  FILE *pOpenFile = fopen(&amp;quot;/tmp/sample.txt&amp;quot;, &amp;quot;a+&amp;quot;);&lt;br /&gt;
  if( NULL == pOpenFile )&lt;br /&gt;
  {&lt;br /&gt;
    printf(&amp;quot;Konnte Datei nicht öffnen!\n&amp;quot;);&lt;br /&gt;
    return -1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Schritt 2a: Bearbeiten (lesen)&lt;br /&gt;
  int iSum = 0;&lt;br /&gt;
  while( feof( pOpenFile ) == 0 )&lt;br /&gt;
  {&lt;br /&gt;
    int iReadDecimal = 0;&lt;br /&gt;
    if( 1 == fscanf(pOpenFile, &amp;quot;%d&amp;quot;, &amp;amp;iReadDecimal) )&lt;br /&gt;
    {&lt;br /&gt;
      iSum+=iReadDecimal;&lt;br /&gt;
      printf(&amp;quot;Wert gelesen: \&amp;quot;%d\&amp;quot;\nAktuelle Summe: %d\n\n&amp;quot;, iReadDecimal, iSum);&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
      printf(&amp;quot;Wert konnte nicht gelesen werden ...\n&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Schritt 2b: Bearbeiten (schreiben)&lt;br /&gt;
  printf(&amp;quot;Hänge Ergebnis %d ans Ende der Datei an.\n&amp;quot;, iSum);&lt;br /&gt;
  if( 0 == fprintf(pOpenFile, &amp;quot;%d\n&amp;quot;, iSum) )&lt;br /&gt;
  {&lt;br /&gt;
    printf(&amp;quot;Inhalt der Datei konnte nicht verändert werden\n&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  else&lt;br /&gt;
  {&lt;br /&gt;
    printf(&amp;quot;Datei wurde erfolgreich beschrieben!\n&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Schritt 3: Schließen&lt;br /&gt;
  fclose(pOpenFile);&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ENDE =&lt;br /&gt;
&lt;br /&gt;
Empfohlene Aufgabe: [http://wiki.freitagsrunde.org/Ckurs2009/EingabeAusgabe Ein und Ausgabe] &amp;amp; [http://wiki.freitagsrunde.org/Ckurs2009/Taschenrechner Taschenrechner]&lt;/div&gt;</summary>
		<author><name>Mario</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Benutzer_Diskussion:Mario&amp;diff=16632</id>
		<title>Benutzer Diskussion:Mario</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Benutzer_Diskussion:Mario&amp;diff=16632"/>
		<updated>2011-09-12T17:12:10Z</updated>

		<summary type="html">&lt;p&gt;Mario: /* Dateien */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= CKurs - Ein und Ausgabe =&lt;br /&gt;
&lt;br /&gt;
 - DRAFT -&lt;br /&gt;
&lt;br /&gt;
*Kommentare im Code sind Infos zum Erzählen.&lt;br /&gt;
*Fett: Fragen an Publikum/Im Code: Ergänzung zum letzten Listings ...&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Wiederholung =&lt;br /&gt;
'''Durch Studis zu ergänzen'''&lt;br /&gt;
''HelloWorld''-Programm an die Tafel &lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt; // Einbinden des Headers der IO-Lib&amp;lt;br&amp;gt;&lt;br /&gt;
 int main(int argc, char **argv)  // Haupteinsprungspunkt&lt;br /&gt;
 { // Scope erwähnen?&lt;br /&gt;
   // Platz für Variablen lassen&lt;br /&gt;
   printf(&amp;quot;Hello World!\n&amp;quot;); // Kurz: \n =&amp;gt; newline, folgende Ausgabe in der nächsten Zeile&lt;br /&gt;
   return 0;&lt;br /&gt;
 } &lt;br /&gt;
&lt;br /&gt;
* ''\n'' für eine Zeilenende&lt;br /&gt;
* ''\&amp;quot;'' für ein ''&amp;quot;''-Symbol&lt;br /&gt;
* ''\\'' für ein ''\''-Symbol (Windows-Pfadtrenner)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= dynamische Ausgabe =&lt;br /&gt;
&lt;br /&gt;
(Ausgabe an Tafel/Laptop)&lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 int main(int argc, char **argv)  &lt;br /&gt;
 { &amp;lt;br&amp;gt;&lt;br /&gt;
   printf(&amp;quot;Hello World!''' Some Number: %d'''\n&amp;quot;''', 42'''); // Wichtig: Komma erwähnen!&lt;br /&gt;
   return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
* ''printf'' benutzt das '''%'''-Zeichen zur Markierung welcher Teil des Textes ersetzt werden muss.&lt;br /&gt;
* nach dem '''%'''-Zeichen steht der ''Typbezeichner'': '''%d''' steht für '''d'''ecimal (ganzzahlige Ausgabe).&lt;br /&gt;
** ''%s'' für Zeichenketten&lt;br /&gt;
** ''%f'' für Fließkommazahlen&lt;br /&gt;
** ''%%'' für ''%''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Variablen==&lt;br /&gt;
* bisher: keine Verbesserung, da '''%d''' auch einfach direkt '''42''' sein könnte ...&lt;br /&gt;
* Nutzbar auch für Variablen: ('''''Frage'': Was ist eine Variable?''')&lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 int main(int argc, char **argv)  &lt;br /&gt;
 { &lt;br /&gt;
   '''int iSumOfDigits = 1 + 9 + 8 + 5;'''&lt;br /&gt;
   printf(&amp;quot;Hello World! Some Number: %d\n&amp;quot;, '''iSumOfDigits''');&lt;br /&gt;
   return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
* '''''Frage:'' Was ist das Ergebnis? Warum?'''&lt;br /&gt;
* '''''Antwort:'' Hello World! Some Number: 23'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Formatierung ==&lt;br /&gt;
* ''%5d'' für 5 Zahlen mindestens&lt;br /&gt;
* ''%05d'' für 5 Zahlen mindestens, aufgefüllt mit Nullen&lt;br /&gt;
* ''%-5d'' für 5 Zahlen mindestens, linksbündig&lt;br /&gt;
* ''%-5.2f'' für 5 Zahlen mindestens, linksbündig, auf zwei Nachkommastellen gerundet&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''Beispiel (An Tafel/Laptop)'''''&lt;br /&gt;
 char pcName[255];&lt;br /&gt;
 strcpy(pcName,&amp;quot;Mario&amp;quot;);// #include &amp;lt;string.h&amp;gt; + ''richtige'' Art der Zuweisung für konstanten Inhalt&amp;lt;br&amp;gt;&lt;br /&gt;
 unsigned uiAge = 26u;&lt;br /&gt;
 float fHeight=1.83f;&amp;lt;br&amp;gt;&lt;br /&gt;
 printf(&amp;quot;%s ist %5.0fm hoch und %05d Jahre alt\n&amp;quot;, pcName, fHeight, uiAge);&lt;br /&gt;
 printf(&amp;quot;%s ist %-5.1fm hoch und %-05d Jahre alt\n&amp;quot;, pcName, fHeight, uiAge);&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''Frage: '' Wie sieht die Ausgabe aus? Warum?'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Antwort: '''''&lt;br /&gt;
 Mario ist     2m hoch und 00026 Jahre alt&lt;br /&gt;
 Mario ist 1.8  m hoch und 26    Jahre alt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Eingabe =&lt;br /&gt;
&lt;br /&gt;
* ''scanf'' ähnlich zu ''printf''&lt;br /&gt;
* liest stets von der Kommandozeile&lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 int main(int argc, char **argv)  &lt;br /&gt;
 { &lt;br /&gt;
   unsigned int uiAge;&lt;br /&gt;
   '''printf(&amp;quot;Alter: &amp;quot;);''' // Ausgabe vor der Eingabe ...&lt;br /&gt;
   '''scanf(&amp;quot;%d&amp;quot;, &amp;amp;uiAge);''' // '''&amp;amp;''': Adressoperator, kommt später, immer mitnehmen!&lt;br /&gt;
   printf(&amp;quot;Du bist %d Jahre alt.\n&amp;quot;, uiAge);&lt;br /&gt;
   return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fehlerhafte Eingabe ==&lt;br /&gt;
&lt;br /&gt;
'''''Frage:'' Welchen Wert hat ''uiAge'' wenn ''A'' eingegeben wurde?'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''Antwort:''' ''0'' und keine Fehlermeldung. Daher: Stets prüfen, ob Konvertierung möglich war.&lt;br /&gt;
&lt;br /&gt;
* Rückgabewert von ''scanf'' gibt Anzahl der erfolgreich gelesenen '''%'''-Zeichenketten zurück&lt;br /&gt;
* '''0''' bedeutet, keine erfolgreiche Konvertierung möglich ...&lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 int main(int argc, char **argv)  &lt;br /&gt;
 {&lt;br /&gt;
   unsigned int uiAge;&lt;br /&gt;
   printf(&amp;quot;Alter: &amp;quot;);&lt;br /&gt;
   if( 1 != scanf(&amp;quot;%d&amp;quot;, &amp;amp;uiAge) )&lt;br /&gt;
   {&lt;br /&gt;
     printf(&amp;quot;Konnte das Alter nicht lesen!\n&amp;quot;);&lt;br /&gt;
     return -1;&lt;br /&gt;
   }&amp;lt;br&amp;gt;&lt;br /&gt;
   printf(&amp;quot;%s ist %d Jahre alt\n&amp;quot;, pcName, uiAge);&lt;br /&gt;
   return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Dateien =&lt;br /&gt;
&lt;br /&gt;
Ein und Ausgabe in Dateien: Schrittfolge zum Dateibearbeiten:&lt;br /&gt;
# Datei öffnen '''FILE *pOpenedFile = fopen( ''FILE_PATH'', ''MODE'');'''&lt;br /&gt;
#* ''FILE_PATH'' = &amp;quot;/usr/share/..&amp;quot;&lt;br /&gt;
#* ''MODE''&lt;br /&gt;
#** '''r'''ead (nur lesend, bricht ab bei nicht existenter Datei)&lt;br /&gt;
#** '''w'''rite (nur schreibend, erzeugt Datei, schreibt von Anfang)&lt;br /&gt;
#** '''a'''ppend (nur schreibend, schreibt ans Ende)&lt;br /&gt;
#** '''r+''' (read+write) lesen und schreiben, Dateiinhalt bleibt erhalten&lt;br /&gt;
#** '''w+''' (write+read) lesen und schreiben, Dateiinhalt wird gelöscht&lt;br /&gt;
#** '''a+''' (append+read) vom Dateianfang lesen und ans Ende schreiben, funktioniert nicht unter MAC, lieber mit r+ arbeiten ... :-)&lt;br /&gt;
#* '''pOpenedFile''' muss ungleich '''NULL''' sein, wenn Datei geöffnet werden konnte&lt;br /&gt;
# Datei bearbeiten&lt;br /&gt;
#* Schreiben:&lt;br /&gt;
#** '''f'''printf( pOpenedFile, ''FORMAT_STRING''[, ''TYPES'']*);&lt;br /&gt;
#** ''FORMAT_STRING'' und ''TYPES'', wie bei printf!&lt;br /&gt;
#* Lesen:&lt;br /&gt;
#** '''f'''scanf( pOpenedFile,  ''FORMAT_STRING''[, &amp;amp;''TYPES'']*);&lt;br /&gt;
#** ''FORMAT_STRING'' und ''TYPES'', wie bei scanf!&lt;br /&gt;
#** Testen ob Dateiende: '''feof(pOpenedFile)''' &lt;br /&gt;
#*** Wenn Rückgabe != 0 wurde Dateiende erreicht&lt;br /&gt;
# Datei schließen (Sonst kann die Datei nicht erneut geöffnet werden)&lt;br /&gt;
#* '''fclose( pOpenedFile );'''&lt;br /&gt;
&lt;br /&gt;
= Komplexe Aufgabe =&lt;br /&gt;
'''''Aufgabe:'' Lese eine Datei mit folgendem Inhalt ein und füge am Ende der Datei die Summe aller Elemente hinzu.'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1 2 3 &lt;br /&gt;
4 5 6&lt;br /&gt;
7 8 9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
(Summe = 45)&lt;br /&gt;
&lt;br /&gt;
'''''Antwort:'''''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
int main(int argc, char **argv)&lt;br /&gt;
{&lt;br /&gt;
  // Schritt 1: Öffnen&lt;br /&gt;
  FILE *pOpenFile = fopen(&amp;quot;/tmp/sample.txt&amp;quot;, &amp;quot;a+&amp;quot;);&lt;br /&gt;
  if( NULL == pOpenFile )&lt;br /&gt;
  {&lt;br /&gt;
    printf(&amp;quot;Konnte Datei nicht öffnen!\n&amp;quot;);&lt;br /&gt;
    return -1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Schritt 2a: Bearbeiten (lesen)&lt;br /&gt;
  int iSum = 0;&lt;br /&gt;
  while( feof( pOpenFile ) == 0 )&lt;br /&gt;
  {&lt;br /&gt;
    int iReadDecimal = 0;&lt;br /&gt;
    if( 1 == fscanf(pOpenFile, &amp;quot;%d&amp;quot;, &amp;amp;iReadDecimal) )&lt;br /&gt;
    {&lt;br /&gt;
      iSum+=iReadDecimal;&lt;br /&gt;
      printf(&amp;quot;Wert gelesen: \&amp;quot;%d\&amp;quot;\nAktuelle Summe: %d\n\n&amp;quot;, iReadDecimal, iSum);&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
      printf(&amp;quot;Wert konnte nicht gelesen werden ...\n&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Schritt 2b: Bearbeiten (schreiben)&lt;br /&gt;
  printf(&amp;quot;Hänge Ergebnis %d ans Ende der Datei an.\n&amp;quot;, iSum);&lt;br /&gt;
  if( 0 == fprintf(pOpenFile, &amp;quot;%d\n&amp;quot;, iSum) )&lt;br /&gt;
  {&lt;br /&gt;
    printf(&amp;quot;Inhalt der Datei konnte nicht verändert werden\n&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  else&lt;br /&gt;
  {&lt;br /&gt;
    printf(&amp;quot;Datei wurde erfolgreich beschrieben!\n&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Schritt 3: Schließen&lt;br /&gt;
  fclose(pOpenFile);&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ENDE =&lt;br /&gt;
&lt;br /&gt;
Empfohlene Aufgabe: '''Taschenrechner''' + '''Kassenbon?'''&lt;/div&gt;</summary>
		<author><name>Mario</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Benutzer:Mario&amp;diff=16631</id>
		<title>Benutzer:Mario</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Benutzer:Mario&amp;diff=16631"/>
		<updated>2011-09-12T17:11:19Z</updated>

		<summary type="html">&lt;p&gt;Mario: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:Mario.jpg|thumb|250px|Ich]]&lt;br /&gt;
Hallo bei meiner eigenen WikiSeite. Sie ist noch etwas leer, aber das wird sich bald ändern ....&lt;br /&gt;
&lt;br /&gt;
=== Kontakt === &lt;br /&gt;
* Email: mario@freitagsrunde.org&lt;br /&gt;
&lt;br /&gt;
==== Was mache ich? ====&lt;br /&gt;
* [[Ckurs]] &amp;lt;-- des wegen gibt es diese Seite überhaupt ... :-)&lt;br /&gt;
* Studieren (bis 1.11)&lt;br /&gt;
* [http://3dpresence.tid.es/ Arbeiten (bis 1.11)]&lt;br /&gt;
* [http://wooga.de Arbeiten (ab 1.11)]&lt;br /&gt;
&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Mario</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Benutzer_Diskussion:Mario&amp;diff=16629</id>
		<title>Benutzer Diskussion:Mario</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Benutzer_Diskussion:Mario&amp;diff=16629"/>
		<updated>2011-09-12T16:31:46Z</updated>

		<summary type="html">&lt;p&gt;Mario: a+ angepasst&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= CKurs - Ein und Ausgabe =&lt;br /&gt;
&lt;br /&gt;
 - DRAFT -&lt;br /&gt;
&lt;br /&gt;
*Kommentare im Code sind Infos zum Erzählen.&lt;br /&gt;
*Fett: Fragen an Publikum/Im Code: Ergänzung zum letzten Listings ...&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Wiederholung =&lt;br /&gt;
'''Durch Studis zu ergänzen'''&lt;br /&gt;
''HelloWorld''-Programm an die Tafel &lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt; // Einbinden des Headers der IO-Lib&amp;lt;br&amp;gt;&lt;br /&gt;
 int main(int argc, char **argv)  // Haupteinsprungspunkt&lt;br /&gt;
 { // Scope erwähnen?&lt;br /&gt;
   // Platz für Variablen lassen&lt;br /&gt;
   printf(&amp;quot;Hello World!\n&amp;quot;); // Kurz: \n =&amp;gt; newline, folgende Ausgabe in der nächsten Zeile&lt;br /&gt;
   return 0;&lt;br /&gt;
 } &lt;br /&gt;
&lt;br /&gt;
* ''\n'' für eine Zeilenende&lt;br /&gt;
* ''\&amp;quot;'' für ein ''&amp;quot;''-Symbol&lt;br /&gt;
* ''\\'' für ein ''\''-Symbol (Windows-Pfadtrenner)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= dynamische Ausgabe =&lt;br /&gt;
&lt;br /&gt;
(Ausgabe an Tafel/Laptop)&lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 int main(int argc, char **argv)  &lt;br /&gt;
 { &amp;lt;br&amp;gt;&lt;br /&gt;
   printf(&amp;quot;Hello World!''' Some Number: %d'''\n&amp;quot;''', 42'''); // Wichtig: Komma erwähnen!&lt;br /&gt;
   return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
* ''printf'' benutzt das '''%'''-Zeichen zur Markierung welcher Teil des Textes ersetzt werden muss.&lt;br /&gt;
* nach dem '''%'''-Zeichen steht der ''Typbezeichner'': '''%d''' steht für '''d'''ecimal (ganzzahlige Ausgabe).&lt;br /&gt;
** ''%s'' für Zeichenketten&lt;br /&gt;
** ''%f'' für Fließkommazahlen&lt;br /&gt;
** ''%%'' für ''%''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Variablen==&lt;br /&gt;
* bisher: keine Verbesserung, da '''%d''' auch einfach direkt '''42''' sein könnte ...&lt;br /&gt;
* Nutzbar auch für Variablen: ('''''Frage'': Was ist eine Variable?''')&lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 int main(int argc, char **argv)  &lt;br /&gt;
 { &lt;br /&gt;
   '''int iSumOfDigits = 1 + 9 + 8 + 5;'''&lt;br /&gt;
   printf(&amp;quot;Hello World! Some Number: %d\n&amp;quot;, '''iSumOfDigits''');&lt;br /&gt;
   return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
* '''''Frage:'' Was ist das Ergebnis? Warum?'''&lt;br /&gt;
* '''''Antwort:'' Hello World! Some Number: 23'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Formatierung ==&lt;br /&gt;
* ''%5d'' für 5 Zahlen mindestens&lt;br /&gt;
* ''%05d'' für 5 Zahlen mindestens, aufgefüllt mit Nullen&lt;br /&gt;
* ''%-5d'' für 5 Zahlen mindestens, linksbündig&lt;br /&gt;
* ''%-5.2f'' für 5 Zahlen mindestens, linksbündig, auf zwei Nachkommastellen gerundet&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''Beispiel (An Tafel/Laptop)'''''&lt;br /&gt;
 char pcName[255];&lt;br /&gt;
 strcpy(pcName,&amp;quot;Mario&amp;quot;);// #include &amp;lt;string.h&amp;gt; + ''richtige'' Art der Zuweisung für konstanten Inhalt&amp;lt;br&amp;gt;&lt;br /&gt;
 unsigned uiAge = 26u;&lt;br /&gt;
 float fHeight=1.83f;&amp;lt;br&amp;gt;&lt;br /&gt;
 printf(&amp;quot;%s ist %5.0fm hoch und %05d Jahre alt\n&amp;quot;, pcName, fHeight, uiAge);&lt;br /&gt;
 printf(&amp;quot;%s ist %-5.1fm hoch und %-05d Jahre alt\n&amp;quot;, pcName, fHeight, uiAge);&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''Frage: '' Wie sieht die Ausgabe aus? Warum?'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Antwort: '''''&lt;br /&gt;
 Mario ist     2m hoch und 00026 Jahre alt&lt;br /&gt;
 Mario ist 1.8  m hoch und 26    Jahre alt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Eingabe =&lt;br /&gt;
&lt;br /&gt;
* ''scanf'' ähnlich zu ''printf''&lt;br /&gt;
* liest stets von der Kommandozeile&lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 int main(int argc, char **argv)  &lt;br /&gt;
 { &lt;br /&gt;
   unsigned int uiAge;&lt;br /&gt;
   '''printf(&amp;quot;Alter: &amp;quot;);''' // Ausgabe vor der Eingabe ...&lt;br /&gt;
   '''scanf(&amp;quot;%d&amp;quot;, &amp;amp;uiAge);''' // '''&amp;amp;''': Adressoperator, kommt später, immer mitnehmen!&lt;br /&gt;
   printf(&amp;quot;Du bist %d Jahre alt.\n&amp;quot;, uiAge);&lt;br /&gt;
   return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fehlerhafte Eingabe ==&lt;br /&gt;
&lt;br /&gt;
'''''Frage:'' Welchen Wert hat ''uiAge'' wenn ''A'' eingegeben wurde?'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''Antwort:''' ''0'' und keine Fehlermeldung. Daher: Stets prüfen, ob Konvertierung möglich war.&lt;br /&gt;
&lt;br /&gt;
* Rückgabewert von ''scanf'' gibt Anzahl der erfolgreich gelesenen '''%'''-Zeichenketten zurück&lt;br /&gt;
* '''0''' bedeutet, keine erfolgreiche Konvertierung möglich ...&lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 int main(int argc, char **argv)  &lt;br /&gt;
 {&lt;br /&gt;
   unsigned int uiAge;&lt;br /&gt;
   printf(&amp;quot;Alter: &amp;quot;);&lt;br /&gt;
   if( 1 != scanf(&amp;quot;%d&amp;quot;, &amp;amp;uiAge) )&lt;br /&gt;
   {&lt;br /&gt;
     printf(&amp;quot;Konnte das Alter nicht lesen!\n&amp;quot;);&lt;br /&gt;
     return -1;&lt;br /&gt;
   }&amp;lt;br&amp;gt;&lt;br /&gt;
   printf(&amp;quot;%s ist %d Jahre alt\n&amp;quot;, pcName, uiAge);&lt;br /&gt;
   return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Dateien =&lt;br /&gt;
&lt;br /&gt;
Ein und Ausgabe in Dateien: Schrittfolge zum Dateibearbeiten:&lt;br /&gt;
# Datei öffnen '''FILE *pOpenedFile = fopen( ''FILE_PATH'', ''MODE'');'''&lt;br /&gt;
#* ''FILE_PATH'' = &amp;quot;/usr/share/..&amp;quot;&lt;br /&gt;
#* ''MODE''&lt;br /&gt;
#** '''r'''ead (nur lesend, bricht ab bei nicht existenter Datei)&lt;br /&gt;
#** '''w'''rite (nur schreibend, erzeugt Datei, schreibt von Anfang)&lt;br /&gt;
#** '''a'''ppend (nur schreibend, schreibt ans Ende)&lt;br /&gt;
#** '''r+''' (read+write) lesen und schreiben, Dateiinhalt bleibt erhalten&lt;br /&gt;
#** '''w+''' (write+read) lesen und schreiben, Dateiinhalt wird gelöscht&lt;br /&gt;
#** '''a+''' (append+read) vom Dateianfang lesen und ans Ende schreiben, funktioniert nicht unter MAC&lt;br /&gt;
#* '''pOpenedFile''' muss ungleich '''NULL''' sein, wenn Datei geöffnet werden konnte&lt;br /&gt;
# Datei bearbeiten&lt;br /&gt;
#* Schreiben:&lt;br /&gt;
#** '''f'''printf( pOpenedFile, ''FORMAT_STRING''[, ''TYPES'']*);&lt;br /&gt;
#** ''FORMAT_STRING'' und ''TYPES'', wie bei printf!&lt;br /&gt;
#* Lesen:&lt;br /&gt;
#** '''f'''scanf( pOpenedFile,  ''FORMAT_STRING''[, &amp;amp;''TYPES'']*);&lt;br /&gt;
#** ''FORMAT_STRING'' und ''TYPES'', wie bei scanf!&lt;br /&gt;
#** Testen ob Dateiende: '''feof(pOpenedFile)''' &lt;br /&gt;
#*** Wenn Rückgabe != 0 wurde Dateiende erreicht&lt;br /&gt;
# Datei schließen (Sonst kann die Datei nicht erneut geöffnet werden)&lt;br /&gt;
#* '''fclose( pOpenedFile );'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Komplexe Aufgabe =&lt;br /&gt;
'''''Aufgabe:'' Lese eine Datei mit folgendem Inhalt ein und füge am Ende der Datei die Summe aller Elemente hinzu.'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1 2 3 &lt;br /&gt;
4 5 6&lt;br /&gt;
7 8 9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
(Summe = 45)&lt;br /&gt;
&lt;br /&gt;
'''''Antwort:'''''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
int main(int argc, char **argv)&lt;br /&gt;
{&lt;br /&gt;
  // Schritt 1: Öffnen&lt;br /&gt;
  FILE *pOpenFile = fopen(&amp;quot;/tmp/sample.txt&amp;quot;, &amp;quot;a+&amp;quot;);&lt;br /&gt;
  if( NULL == pOpenFile )&lt;br /&gt;
  {&lt;br /&gt;
    printf(&amp;quot;Konnte Datei nicht öffnen!\n&amp;quot;);&lt;br /&gt;
    return -1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Schritt 2a: Bearbeiten (lesen)&lt;br /&gt;
  int iSum = 0;&lt;br /&gt;
  while( feof( pOpenFile ) == 0 )&lt;br /&gt;
  {&lt;br /&gt;
    int iReadDecimal = 0;&lt;br /&gt;
    if( 1 == fscanf(pOpenFile, &amp;quot;%d&amp;quot;, &amp;amp;iReadDecimal) )&lt;br /&gt;
    {&lt;br /&gt;
      iSum+=iReadDecimal;&lt;br /&gt;
      printf(&amp;quot;Wert gelesen: \&amp;quot;%d\&amp;quot;\nAktuelle Summe: %d\n\n&amp;quot;, iReadDecimal, iSum);&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
      printf(&amp;quot;Wert konnte nicht gelesen werden ...\n&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Schritt 2b: Bearbeiten (schreiben)&lt;br /&gt;
  printf(&amp;quot;Hänge Ergebnis %d ans Ende der Datei an.\n&amp;quot;, iSum);&lt;br /&gt;
  if( 0 == fprintf(pOpenFile, &amp;quot;%d\n&amp;quot;, iSum) )&lt;br /&gt;
  {&lt;br /&gt;
    printf(&amp;quot;Inhalt der Datei konnte nicht verändert werden\n&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  else&lt;br /&gt;
  {&lt;br /&gt;
    printf(&amp;quot;Datei wurde erfolgreich beschrieben!\n&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Schritt 3: Schließen&lt;br /&gt;
  fclose(pOpenFile);&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ENDE =&lt;br /&gt;
&lt;br /&gt;
Empfohlene Aufgabe: '''Taschenrechner''' + '''Kassenbon?'''&lt;/div&gt;</summary>
		<author><name>Mario</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Benutzer_Diskussion:Mario&amp;diff=16278</id>
		<title>Benutzer Diskussion:Mario</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Benutzer_Diskussion:Mario&amp;diff=16278"/>
		<updated>2011-09-05T20:45:25Z</updated>

		<summary type="html">&lt;p&gt;Mario: Adaption des Feedbacks&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= CKurs - Ein und Ausgabe =&lt;br /&gt;
&lt;br /&gt;
 - DRAFT -&lt;br /&gt;
&lt;br /&gt;
*Kommentare im Code sind Infos zum Erzählen.&lt;br /&gt;
*Fett: Fragen an Publikum/Im Code: Ergänzung zum letzten Listings ...&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Wiederholung =&lt;br /&gt;
'''Durch Studis zu ergänzen'''&lt;br /&gt;
''HelloWorld''-Programm an die Tafel &lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt; // Einbinden des Headers der IO-Lib&amp;lt;br&amp;gt;&lt;br /&gt;
 int main(int argc, char **argv)  // Haupteinsprungspunkt&lt;br /&gt;
 { // Scope erwähnen?&lt;br /&gt;
   // Platz für Variablen lassen&lt;br /&gt;
   printf(&amp;quot;Hello World!\n&amp;quot;); // Kurz: \n =&amp;gt; newline, folgende Ausgabe in der nächsten Zeile&lt;br /&gt;
   return 0;&lt;br /&gt;
 } &lt;br /&gt;
&lt;br /&gt;
* ''\n'' für eine Zeilenende&lt;br /&gt;
* ''\&amp;quot;'' für ein ''&amp;quot;''-Symbol&lt;br /&gt;
* ''\\'' für ein ''\''-Symbol (Windows-Pfadtrenner)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= dynamische Ausgabe =&lt;br /&gt;
&lt;br /&gt;
(Ausgabe an Tafel/Laptop)&lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 int main(int argc, char **argv)  &lt;br /&gt;
 { &amp;lt;br&amp;gt;&lt;br /&gt;
   printf(&amp;quot;Hello World!''' Some Number: %d'''\n&amp;quot;''', 42'''); // Wichtig: Komma erwähnen!&lt;br /&gt;
   return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
* ''printf'' benutzt das '''%'''-Zeichen zur Markierung welcher Teil des Textes ersetzt werden muss.&lt;br /&gt;
* nach dem '''%'''-Zeichen steht der ''Typbezeichner'': '''%d''' steht für '''d'''ecimal (ganzzahlige Ausgabe).&lt;br /&gt;
** ''%s'' für Zeichenketten&lt;br /&gt;
** ''%f'' für Fließkommazahlen&lt;br /&gt;
** ''%%'' für ''%''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Variablen==&lt;br /&gt;
* bisher: keine Verbesserung, da '''%d''' auch einfach direkt '''42''' sein könnte ...&lt;br /&gt;
* Nutzbar auch für Variablen: ('''''Frage'': Was ist eine Variable?''')&lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 int main(int argc, char **argv)  &lt;br /&gt;
 { &lt;br /&gt;
   '''int iSumOfDigits = 1 + 9 + 8 + 5;'''&lt;br /&gt;
   printf(&amp;quot;Hello World! Some Number: %d\n&amp;quot;, '''iSumOfDigits''');&lt;br /&gt;
   return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
* '''''Frage:'' Was ist das Ergebnis? Warum?'''&lt;br /&gt;
* '''''Antwort:'' Hello World! Some Number: 23'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Formatierung ==&lt;br /&gt;
* ''%5d'' für 5 Zahlen mindestens&lt;br /&gt;
* ''%05d'' für 5 Zahlen mindestens, aufgefüllt mit Nullen&lt;br /&gt;
* ''%-5d'' für 5 Zahlen mindestens, linksbündig&lt;br /&gt;
* ''%-5.2f'' für 5 Zahlen mindestens, linksbündig, auf zwei Nachkommastellen gerundet&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''Beispiel (An Tafel/Laptop)'''''&lt;br /&gt;
 char pcName[255];&lt;br /&gt;
 strcpy(pcName,&amp;quot;Mario&amp;quot;);// #include &amp;lt;string.h&amp;gt; + ''richtige'' Art der Zuweisung für konstanten Inhalt&amp;lt;br&amp;gt;&lt;br /&gt;
 unsigned uiAge = 26u;&lt;br /&gt;
 float fHeight=1.83f;&amp;lt;br&amp;gt;&lt;br /&gt;
 printf(&amp;quot;%s ist %5.0fm hoch und %05d Jahre alt\n&amp;quot;, pcName, fHeight, uiAge);&lt;br /&gt;
 printf(&amp;quot;%s ist %-5.1fm hoch und %-05d Jahre alt\n&amp;quot;, pcName, fHeight, uiAge);&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''Frage: '' Wie sieht die Ausgabe aus? Warum?'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Antwort: '''''&lt;br /&gt;
 Mario ist     2m hoch und 00026 Jahre alt&lt;br /&gt;
 Mario ist 1.8  m hoch und 26    Jahre alt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Eingabe =&lt;br /&gt;
&lt;br /&gt;
* ''scanf'' ähnlich zu ''printf''&lt;br /&gt;
* liest stets von der Kommandozeile&lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 int main(int argc, char **argv)  &lt;br /&gt;
 { &lt;br /&gt;
   unsigned int uiAge;&lt;br /&gt;
   '''printf(&amp;quot;Alter: &amp;quot;);''' // Ausgabe vor der Eingabe ...&lt;br /&gt;
   '''scanf(&amp;quot;%d&amp;quot;, &amp;amp;uiAge);''' // '''&amp;amp;''': Adressoperator, kommt später, immer mitnehmen!&lt;br /&gt;
   printf(&amp;quot;Du bist %d Jahre alt.\n&amp;quot;, uiAge);&lt;br /&gt;
   return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fehlerhafte Eingabe ==&lt;br /&gt;
&lt;br /&gt;
'''''Frage:'' Welchen Wert hat ''uiAge'' wenn ''A'' eingegeben wurde?'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''Antwort:''' ''0'' und keine Fehlermeldung. Daher: Stets prüfen, ob Konvertierung möglich war.&lt;br /&gt;
&lt;br /&gt;
* Rückgabewert von ''scanf'' gibt Anzahl der erfolgreich gelesenen '''%'''-Zeichenketten zurück&lt;br /&gt;
* '''0''' bedeutet, keine erfolgreiche Konvertierung möglich ...&lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 int main(int argc, char **argv)  &lt;br /&gt;
 {&lt;br /&gt;
   unsigned int uiAge;&lt;br /&gt;
   printf(&amp;quot;Alter: &amp;quot;);&lt;br /&gt;
   if( 1 != scanf(&amp;quot;%d&amp;quot;, &amp;amp;uiAge) )&lt;br /&gt;
   {&lt;br /&gt;
     printf(&amp;quot;Konnte das Alter nicht lesen!\n&amp;quot;);&lt;br /&gt;
     return -1;&lt;br /&gt;
   }&amp;lt;br&amp;gt;&lt;br /&gt;
   printf(&amp;quot;%s ist %d Jahre alt\n&amp;quot;, pcName, uiAge);&lt;br /&gt;
   return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Dateien =&lt;br /&gt;
&lt;br /&gt;
Ein und Ausgabe in Dateien: Schrittfolge zum Dateibearbeiten:&lt;br /&gt;
# Datei öffnen '''FILE *pOpenedFile = fopen( ''FILE_PATH'', ''MODE'');'''&lt;br /&gt;
#* ''FILE_PATH'' = &amp;quot;/usr/share/..&amp;quot;&lt;br /&gt;
#* ''MODE''&lt;br /&gt;
#** '''r'''ead (nur lesend, bricht ab bei nicht existenter Datei)&lt;br /&gt;
#** '''w'''rite (nur schreibend, erzeugt Datei, schreibt von Anfang)&lt;br /&gt;
#** '''a'''ppend (nur schreibend, schreibt ans Ende)&lt;br /&gt;
#** '''r+''' (read+write) lesen und schreiben, Dateiinhalt bleibt erhalten&lt;br /&gt;
#** '''w+''' (write+read) lesen und schreiben, Dateiinhalt wird gelöscht&lt;br /&gt;
#** '''a+''' (append+read) vom Dateianfang lesen und ans Ende schreiben&lt;br /&gt;
#* '''pOpenedFile''' muss ungleich '''NULL''' sein, wenn Datei geöffnet werden konnte&lt;br /&gt;
# Datei bearbeiten&lt;br /&gt;
#* Schreiben:&lt;br /&gt;
#** '''f'''printf( pOpenedFile, ''FORMAT_STRING''[, ''TYPES'']*);&lt;br /&gt;
#** ''FORMAT_STRING'' und ''TYPES'', wie bei printf!&lt;br /&gt;
#* Lesen:&lt;br /&gt;
#** '''f'''scanf( pOpenedFile,  ''FORMAT_STRING''[, &amp;amp;''TYPES'']*);&lt;br /&gt;
#** ''FORMAT_STRING'' und ''TYPES'', wie bei scanf!&lt;br /&gt;
#** Testen ob Dateiende: '''feof(pOpenedFile)''' &lt;br /&gt;
#*** Wenn Rückgabe != 0 wurde Dateiende erreicht&lt;br /&gt;
# Datei schließen (Sonst kann die Datei nicht erneut geöffnet werden)&lt;br /&gt;
#* '''fclose( pOpenedFile );'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Komplexe Aufgabe =&lt;br /&gt;
'''''Aufgabe:'' Lese eine Datei mit folgendem Inhalt ein und füge am Ende der Datei die Summe aller Elemente hinzu.'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1 2 3 &lt;br /&gt;
4 5 6&lt;br /&gt;
7 8 9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
(Summe = 45)&lt;br /&gt;
&lt;br /&gt;
'''''Antwort:'''''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
int main(int argc, char **argv)&lt;br /&gt;
{&lt;br /&gt;
  // Schritt 1: Öffnen&lt;br /&gt;
  FILE *pOpenFile = fopen(&amp;quot;/tmp/sample.txt&amp;quot;, &amp;quot;a+&amp;quot;);&lt;br /&gt;
  if( NULL == pOpenFile )&lt;br /&gt;
  {&lt;br /&gt;
    printf(&amp;quot;Konnte Datei nicht öffnen!\n&amp;quot;);&lt;br /&gt;
    return -1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Schritt 2a: Bearbeiten (lesen)&lt;br /&gt;
  int iSum = 0;&lt;br /&gt;
  while( feof( pOpenFile ) == 0 )&lt;br /&gt;
  {&lt;br /&gt;
    int iReadDecimal = 0;&lt;br /&gt;
    if( 1 == fscanf(pOpenFile, &amp;quot;%d&amp;quot;, &amp;amp;iReadDecimal) )&lt;br /&gt;
    {&lt;br /&gt;
      iSum+=iReadDecimal;&lt;br /&gt;
      printf(&amp;quot;Wert gelesen: \&amp;quot;%d\&amp;quot;\nAktuelle Summe: %d\n\n&amp;quot;, iReadDecimal, iSum);&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
      printf(&amp;quot;Wert konnte nicht gelesen werden ...\n&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Schritt 2b: Bearbeiten (schreiben)&lt;br /&gt;
  printf(&amp;quot;Hänge Ergebnis %d ans Ende der Datei an.\n&amp;quot;, iSum);&lt;br /&gt;
  if( 0 == fprintf(pOpenFile, &amp;quot;%d\n&amp;quot;, iSum) )&lt;br /&gt;
  {&lt;br /&gt;
    printf(&amp;quot;Inhalt der Datei konnte nicht verändert werden\n&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  else&lt;br /&gt;
  {&lt;br /&gt;
    printf(&amp;quot;Datei wurde erfolgreich beschrieben!\n&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Schritt 3: Schließen&lt;br /&gt;
  fclose(pOpenFile);&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ENDE =&lt;br /&gt;
&lt;br /&gt;
Empfohlene Aufgabe: '''Taschenrechner''' + '''Kassenbon?'''&lt;/div&gt;</summary>
		<author><name>Mario</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Benutzer_Diskussion:Mario&amp;diff=16241</id>
		<title>Benutzer Diskussion:Mario</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Benutzer_Diskussion:Mario&amp;diff=16241"/>
		<updated>2011-08-30T21:02:16Z</updated>

		<summary type="html">&lt;p&gt;Mario: howto added&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= CKurs - Ein und Ausgabe =&lt;br /&gt;
&lt;br /&gt;
 - DRAFT -&lt;br /&gt;
&lt;br /&gt;
*Kommentare im Code sind Infos zum Erzählen.&lt;br /&gt;
*Fett: Fragen an Publikum/Im Code: Ergänzung zum letzten Listings ...&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Wiederholung =&lt;br /&gt;
'''Durch Studis zu ergänzen'''&lt;br /&gt;
''HelloWorld''-Programm an die Tafel &lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt; // Einbinden des Headers der IO-Lib&amp;lt;br&amp;gt;&lt;br /&gt;
 int main(int argc, char **argv)  // Haupteinsprungspunkt&lt;br /&gt;
 { // Scope erwähnen?&lt;br /&gt;
   // Platz für Variablen lassen&lt;br /&gt;
   printf(&amp;quot;Hello World!\n&amp;quot;); // Kurz: \n =&amp;gt; newline, folgende Ausgabe in der nächsten Zeile&lt;br /&gt;
   return 0;&lt;br /&gt;
 } &lt;br /&gt;
&lt;br /&gt;
* ''\n'' für eine Zeilenende&lt;br /&gt;
* ''\&amp;quot;'' für ein ''&amp;quot;''-Symbol&lt;br /&gt;
* ''\\'' für ein ''\''-Symbol (Windows-Pfadtrenner)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= dynamische Ausgabe =&lt;br /&gt;
&lt;br /&gt;
(Ausgabe an Tafel/Laptop)&lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 int main(int argc, char **argv)  &lt;br /&gt;
 { &amp;lt;br&amp;gt;&lt;br /&gt;
   printf(&amp;quot;Hello World!''' Some Number: %d'''\n&amp;quot;''', 42'''); // Wichtig: Komma erwähnen!&lt;br /&gt;
   return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
* ''printf'' benutzt das '''%'''-Zeichen zur Markierung welcher Teil des Textes ersetzt werden muss.&lt;br /&gt;
* nach dem '''%'''-Zeichen steht der ''Typbezeichner'': '''%d''' steht für '''d'''igit (ganzzahlige Formatierung).&lt;br /&gt;
** ''%s'' für Zeichenketten&lt;br /&gt;
** ''%f'' für Fließkommazahlen&lt;br /&gt;
** ''%%'' für ''%''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Variablen==&lt;br /&gt;
* bisher: keine Verbesserung, da '''%d''' auch einfach direkt '''42''' sein könnte ...&lt;br /&gt;
* Nutzbar auch für Variablen: ('''''Frage'': Was ist eine Variable?''')&lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 int main(int argc, char **argv)  &lt;br /&gt;
 { &lt;br /&gt;
   '''int iSumOfSquares = 1 + 9 + 8 + 5;'''&lt;br /&gt;
   printf(&amp;quot;Hello World! Some Number: %d\n&amp;quot;, '''iSumOfSquares''');&lt;br /&gt;
   return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
* '''''Frage:'' Was ist das Ergebnis? Warum?'''&lt;br /&gt;
* '''''Antwort:'' Hello World! Some Number: 42'''&lt;br /&gt;
&lt;br /&gt;
* Formatierung&lt;br /&gt;
** ''%5d'' für 5 Zahlen mindestens&lt;br /&gt;
** ''%05d'' für 5 Zahlen mindestens, aufgefüllt mit Nullen&lt;br /&gt;
** ''%-5d'' für 5 Zahlen mindestens, linksbündig&lt;br /&gt;
** ''%-5.2f'' für 5 Zahlen mindestens, linksbündig, genau 2 Nachkommastellen&lt;br /&gt;
&lt;br /&gt;
'''''Beispiel (An Tafel/Laptop)'''''&lt;br /&gt;
 char pcName[255];&lt;br /&gt;
 strcpy(pcName,&amp;quot;Mario&amp;quot;);// #include &amp;lt;string.h&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 unsigned uiAge = 26u;&lt;br /&gt;
 float fHeight=1.83f;&lt;br /&gt;
 float fPi = 3.1459f;&amp;lt;br&amp;gt;&lt;br /&gt;
 printf(&amp;quot;%s ist %5.0fm hoch und %05d Jahre alt\n&amp;quot;, pcName, fHeight, uiAge);&lt;br /&gt;
 printf(&amp;quot;%s ist %-5.1fm hoch und %-05d Jahre alt\n&amp;quot;, pcName, fHeight, uiAge);&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''Frage: '' Was ist das Ergebnis? Warum?'''&lt;br /&gt;
 Mario ist     2m hoch und 00026 Jahre alt&lt;br /&gt;
 Mario ist 1.8  m hoch und 26    Jahre alt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Eingabe =&lt;br /&gt;
&lt;br /&gt;
* scanf wie printf&lt;br /&gt;
* liest stets von der Kommandozeile&lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 int main(int argc, char **argv)  &lt;br /&gt;
 { &lt;br /&gt;
   char pcName[255]; // Verschiebung der Eklärung auf späteres Tutorium.&lt;br /&gt;
   unsigned int uiAge;&lt;br /&gt;
   '''printf(&amp;quot;Name: &amp;quot;);'''&lt;br /&gt;
   '''scanf(&amp;quot;%s&amp;quot;, &amp;amp;pcName);''' // '''&amp;amp;''': Adressoperator, kommt später, immer mitnehmen!&lt;br /&gt;
   '''printf(&amp;quot;Alter: &amp;quot;);'''&lt;br /&gt;
   '''scanf(&amp;quot;%d&amp;quot;, &amp;amp;uiAge);'''&lt;br /&gt;
   printf(&amp;quot;%s ist %d Jahre alt.\n&amp;quot;, pcName, uiAge);&lt;br /&gt;
   return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Fehlerfälle =&lt;br /&gt;
&lt;br /&gt;
'''''Frage:'' Was passiert, wenn ''&amp;quot;A&amp;quot;'' als Alter angegeben wird?'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''Antwort:''' Nix! Keine Fehlermeldung, etc. Stets selber überprüfen!&lt;br /&gt;
* Rückgabewert von ''scanf'' gibt Anzahl der erfolgreich gelesenen '''%?'''-Zeichenketten zurück&lt;br /&gt;
* ''0'' bedeutet, keine erfolgreiche Konvertierung möglich ...&lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 int main(int argc, char **argv)  &lt;br /&gt;
 {&lt;br /&gt;
   char pcName[255];&lt;br /&gt;
   unsigned int uiAge;&lt;br /&gt;
   printf(&amp;quot;Name: &amp;quot;);&lt;br /&gt;
   scanf(&amp;quot;%s&amp;quot;, &amp;amp;pcName);&amp;lt;br&amp;gt;&lt;br /&gt;
   printf(&amp;quot;Alter: &amp;quot;);&lt;br /&gt;
   if( 1 != scanf(&amp;quot;%d&amp;quot;, &amp;amp;uiAge) )&lt;br /&gt;
   {&lt;br /&gt;
     printf(&amp;quot;Konnte das Alter nicht lesen!\n&amp;quot;);&lt;br /&gt;
     return -1;&lt;br /&gt;
   }&amp;lt;br&amp;gt;&lt;br /&gt;
   printf(&amp;quot;%s ist %d Jahre alt\n&amp;quot;, pcName, uiAge);&lt;br /&gt;
   return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Dateien =&lt;br /&gt;
&lt;br /&gt;
Ein und Ausgabe in Dateien: Schrittfolge zum Dateibearbeiten:&lt;br /&gt;
# Datei öffnen '''FILE fOpenedFile = fopen( ''FILE_PATH'', ''MODE'');'''&lt;br /&gt;
#* ''FILE_PATH'' = &amp;quot;/usr/share/..&amp;quot;&lt;br /&gt;
#* ''MODE'' = '''r'''ead, '''w'''rite oder &lt;br /&gt;
#**'''w+''' (write+read) lesen und schreiben, Dateiinhalt wird dabei auf gelöscht&lt;br /&gt;
#**'''r+''' (read+write) lesen und schreiben, Dateiinhalt bleibt erhalten&lt;br /&gt;
#* '''fOpenedFile''' muss ungleich NULL sein, wenn Datei geöffnet werden konnte&lt;br /&gt;
# Datei bearbeiten&lt;br /&gt;
#* Schreiben:&lt;br /&gt;
#** '''f'''printf( fOpenedFile, ''FORMAT_STRING''[, ''TYPES'']*);&lt;br /&gt;
#** ''FORMAT_STRING'' und ''TYPES'', wie bei printf!&lt;br /&gt;
#* Lesen:&lt;br /&gt;
#** '''f'''scanf( fOpenedFile,  ''FORMAT_STRING''[, &amp;amp;''TYPES'']*);&lt;br /&gt;
#** ''FORMAT_STRING'' und ''TYPES'', wie bei scanf!&lt;br /&gt;
# Datei schließen (Sonst kann Windows die Datei nicht in anderen Programmen lesen ...)&lt;br /&gt;
#* '''fclose( fOpenedFile );'''&lt;br /&gt;
&lt;br /&gt;
'''''Frage:'' Wie lese ich die existierende ''/tmp/sample.txt'' ein?'''&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''Antwort:'''''&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 int main(int argc, char **argv)  &lt;br /&gt;
 {&lt;br /&gt;
   // Schritt 1: Öffnen&lt;br /&gt;
   FILE* pOpenendFile = fopen(&amp;quot;/tmp/sample.txt&amp;quot;, &amp;quot;r+&amp;quot;);&lt;br /&gt;
   if( NULL == pOpenendFile )&lt;br /&gt;
   {&lt;br /&gt;
        printf(&amp;quot;Konnte Datei nicht öffnen!\n&amp;quot;);&lt;br /&gt;
        return -1;&lt;br /&gt;
   }&amp;lt;br&amp;gt;&lt;br /&gt;
   // Schritt 2: Bearbeiten (lesen)&lt;br /&gt;
   char pcFileEntry[255];&lt;br /&gt;
   if( 0 &amp;gt;= fscanf(pOpenendFile, &amp;quot;%s&amp;quot;, &amp;amp;pcFileEntry) )&lt;br /&gt;
   {&lt;br /&gt;
        printf(&amp;quot;Konnte Datei nicht lesen!\n&amp;quot;);&lt;br /&gt;
   }&lt;br /&gt;
   else&lt;br /&gt;
   {&lt;br /&gt;
        printf(&amp;quot;Inhalt gelesen: \&amp;quot;%s\&amp;quot;\n&amp;quot;, pcFileEntry);&lt;br /&gt;
   }&amp;lt;br&amp;gt;&lt;br /&gt;
   // Schritt 2: Bearbeiten (schreiben)&lt;br /&gt;
   if( 0 == fprintf(pOpenendFile, &amp;quot;FileRead!\n&amp;quot;) )&lt;br /&gt;
   {&lt;br /&gt;
        printf(&amp;quot;Inhalt der Datei konnte nicht verändert werden\n&amp;quot;);&lt;br /&gt;
   }&lt;br /&gt;
   else&lt;br /&gt;
   {&lt;br /&gt;
        printf(&amp;quot;Datei wurde erfolgreich beschrieben!\n&amp;quot;);&lt;br /&gt;
   }&amp;lt;br&amp;gt;&lt;br /&gt;
   // Schritt 3: Datei Schließen&lt;br /&gt;
   fclose(pOpenendFile);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= ENDE =&lt;br /&gt;
&lt;br /&gt;
Empfohlene Aufgabe: '''Taschenrechner''' + '''Kassenbon?'''&lt;/div&gt;</summary>
		<author><name>Mario</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Benutzer_Diskussion:Mario&amp;diff=16240</id>
		<title>Benutzer Diskussion:Mario</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Benutzer_Diskussion:Mario&amp;diff=16240"/>
		<updated>2011-08-30T20:55:09Z</updated>

		<summary type="html">&lt;p&gt;Mario: Weiterer Text&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= CKurs - Ein und Ausgabe =&lt;br /&gt;
&lt;br /&gt;
 - DRAFT -&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Wiederholung =&lt;br /&gt;
'''Durch Studis zu ergänzen'''&lt;br /&gt;
''HelloWorld''-Programm an die Tafel (Kommentare=Infos zum Erzählen) &lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt; // Einbinden des Headers der IO-Lib&amp;lt;br&amp;gt;&lt;br /&gt;
 int main(int argc, char **argv)  // Haupteinsprungspunkt&lt;br /&gt;
 { // Scope erwähnen?&lt;br /&gt;
   // Platz für Variablen lassen&lt;br /&gt;
   printf(&amp;quot;Hello World!\n&amp;quot;); // Kurz: \n =&amp;gt; newline, folgende Ausgabe in der nächsten Zeile&lt;br /&gt;
   return 0;&lt;br /&gt;
 } &lt;br /&gt;
&lt;br /&gt;
* ''\n'' für eine Zeilenende&lt;br /&gt;
* ''\&amp;quot;'' für ein ''&amp;quot;''-Symbol&lt;br /&gt;
* ''\\'' für ein ''\''-Symbol (Windows-Pfadtrenner)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= dynamische Ausgabe =&lt;br /&gt;
&lt;br /&gt;
(Ausgabe an Tafel/Laptop)&lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 int main(int argc, char **argv)  &lt;br /&gt;
 { &amp;lt;br&amp;gt;&lt;br /&gt;
   printf(&amp;quot;Hello World!''' Some Number: %d'''\n&amp;quot;''', 42'''); // Wichtig: Komma erwähnen!&lt;br /&gt;
   return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
* ''printf'' benutzt das '''%'''-Zeichen zur Markierung welcher Teil des Textes ersetzt werden muss.&lt;br /&gt;
* nach dem '''%'''-Zeichen steht der ''Typbezeichner'': '''%d''' steht für '''d'''igit (ganzzahlige Formatierung).&lt;br /&gt;
** ''%s'' für Zeichenketten&lt;br /&gt;
** ''%f'' für Fließkommazahlen&lt;br /&gt;
** ''%%'' für ''%''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Variablen==&lt;br /&gt;
* bisher: keine Verbesserung, da '''%d''' auch einfach direkt '''42''' sein könnte ...&lt;br /&gt;
* Nutzbar auch für Variablen: ('''''Frage'': Was ist eine Variable?''')&lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 int main(int argc, char **argv)  &lt;br /&gt;
 { &lt;br /&gt;
   '''int iSumOfSquares = 1 + 9 + 8 + 5;'''&lt;br /&gt;
   printf(&amp;quot;Hello World! Some Number: %d\n&amp;quot;, '''iSumOfSquares''');&lt;br /&gt;
   return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
* '''''Frage:'' Was ist das Ergebnis? Warum?'''&lt;br /&gt;
&lt;br /&gt;
* Formatierung&lt;br /&gt;
** ''%5d'' für 5 Zahlen mindestens&lt;br /&gt;
** ''%05d'' für 5 Zahlen mindestens, aufgefüllt mit Nullen&lt;br /&gt;
** ''%-5d'' für 5 Zahlen mindestens, linksbündig&lt;br /&gt;
** ''%-5.2f'' für 5 Zahlen mindestens, linksbündig, genau 2 Nachkommastellen&lt;br /&gt;
&lt;br /&gt;
'''''Beispiel (An Tafel/Laptop)'''''&lt;br /&gt;
 char pcName[255];&lt;br /&gt;
 strcpy(pcName,&amp;quot;Mario&amp;quot;);// #include &amp;lt;string.h&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 unsigned uiAge = 26u;&lt;br /&gt;
 float fHeight=1.83f;&lt;br /&gt;
 float fPi = 3.1459f;&amp;lt;br&amp;gt;&lt;br /&gt;
 printf(&amp;quot;%s ist %5.0fm hoch und %05d Jahre alt\n&amp;quot;, pcName, fHeight, uiAge);&lt;br /&gt;
 printf(&amp;quot;%s ist %-5.1fm hoch und %-05d Jahre alt\n&amp;quot;, pcName, fHeight, uiAge);&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''Frage: '' Was ist das Ergebnis? Warum?'''&lt;br /&gt;
 Mario ist     2m hoch und 00026 Jahre alt&lt;br /&gt;
 Mario ist 1.8  m hoch und 26    Jahre alt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Eingabe =&lt;br /&gt;
&lt;br /&gt;
* scanf wie printf&lt;br /&gt;
* liest stets von der Kommandozeile&lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 int main(int argc, char **argv)  &lt;br /&gt;
 { &lt;br /&gt;
   char pcName[255]; // Verschiebung der Eklärung auf späteres Tutorium.&lt;br /&gt;
   unsigned int uiAge;&lt;br /&gt;
   '''printf(&amp;quot;Name: &amp;quot;);'''&lt;br /&gt;
   '''scanf(&amp;quot;%s&amp;quot;, &amp;amp;pcName);''' // '''&amp;amp;''': Adressoperator, kommt später, immer mitnehmen!&lt;br /&gt;
   '''printf(&amp;quot;Alter: &amp;quot;);'''&lt;br /&gt;
   '''scanf(&amp;quot;%d&amp;quot;, &amp;amp;uiAge);'''&lt;br /&gt;
   printf(&amp;quot;%s ist %d Jahre alt.\n&amp;quot;, pcName, uiAge);&lt;br /&gt;
   return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Fehlerfälle =&lt;br /&gt;
&lt;br /&gt;
'''''Frage:'' Was passiert, wenn ''&amp;quot;A&amp;quot;'' als Alter angegeben wird?'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''Antwort:''' Nix! Keine Fehlermeldung, etc. Stets selber überprüfen!&lt;br /&gt;
* Rückgabewert von ''scanf'' gibt Anzahl der erfolgreich gelesenen '''%?'''-Zeichenketten zurück&lt;br /&gt;
* ''0'' bedeutet, keine erfolgreiche Konvertierung möglich ...&lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 int main(int argc, char **argv)  &lt;br /&gt;
 {&lt;br /&gt;
   char pcName[255];&lt;br /&gt;
   unsigned int uiAge;&lt;br /&gt;
   printf(&amp;quot;Name: &amp;quot;);&lt;br /&gt;
   scanf(&amp;quot;%s&amp;quot;, &amp;amp;pcName);&amp;lt;br&amp;gt;&lt;br /&gt;
   printf(&amp;quot;Alter: &amp;quot;);&lt;br /&gt;
   if( 1 != scanf(&amp;quot;%d&amp;quot;, &amp;amp;uiAge) )&lt;br /&gt;
   {&lt;br /&gt;
     printf(&amp;quot;Konnte das Alter nicht lesen!\n&amp;quot;);&lt;br /&gt;
     return -1;&lt;br /&gt;
   }&amp;lt;br&amp;gt;&lt;br /&gt;
   printf(&amp;quot;%s ist %d Jahre alt\n&amp;quot;, pcName, uiAge);&lt;br /&gt;
   return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
= ENDE =&lt;br /&gt;
&lt;br /&gt;
Empfohlene Aufgabe: ''Taschenrechner'' + ''Kassenbon?''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Dateien =&lt;br /&gt;
&lt;br /&gt;
Ein und Ausgabe in Dateien: Schrittfolge zum Dateibearbeiten:&lt;br /&gt;
# Datei öffnen '''FILE fOpenedFile = fopen( ''FILE_PATH'', ''MODE'');'''&lt;br /&gt;
#* ''FILE_PATH'' = &amp;quot;/usr/share/..&amp;quot;&lt;br /&gt;
#* ''MODE'' = '''r'''ead, '''w'''rite oder &lt;br /&gt;
#**'''w+''' (write+read) lesen und schreiben, Dateiinhalt wird dabei auf gelöscht&lt;br /&gt;
#**'''r+''' (read+write) lesen und schreiben, Dateiinhalt bleibt erhalten&lt;br /&gt;
#* '''fOpenedFile''' muss ungleich NULL sein, wenn Datei geöffnet werden konnte&lt;br /&gt;
# Datei bearbeiten&lt;br /&gt;
#* Schreiben:&lt;br /&gt;
#** '''f'''printf( fOpenedFile, ''FORMAT_STRING''[, ''TYPES'']*);&lt;br /&gt;
#** ''FORMAT_STRING'' und ''TYPES'', wie bei printf!&lt;br /&gt;
#* Lesen:&lt;br /&gt;
#** '''f'''scanf( fOpenedFile,  ''FORMAT_STRING''[, &amp;amp;''TYPES'']*);&lt;br /&gt;
#** ''FORMAT_STRING'' und ''TYPES'', wie bei scanf!&lt;br /&gt;
# Datei schließen (Sonst kann Windows die Datei nicht in anderen Programmen lesen ...)&lt;br /&gt;
#* '''fclose( fOpenedFile );'''&lt;br /&gt;
&lt;br /&gt;
'''''Frage:'' Wie lese ich die existierende ''/tmp/sample.txt'' ein?'''&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 int main(int argc, char **argv)  &lt;br /&gt;
 {&lt;br /&gt;
   // Schritt 1: Öffnen&lt;br /&gt;
   FILE* pOpenendFile = fopen(&amp;quot;/tmp/sample.txt&amp;quot;, &amp;quot;r+&amp;quot;);&lt;br /&gt;
   if( NULL == pOpenendFile )&lt;br /&gt;
   {&lt;br /&gt;
        printf(&amp;quot;Konnte Datei nicht öffnen!\n&amp;quot;);&lt;br /&gt;
        return -1;&lt;br /&gt;
   }&amp;lt;br&amp;gt;&lt;br /&gt;
   // Schritt 2: Bearbeiten (lesen)&lt;br /&gt;
   char pcFileEntry[255];&lt;br /&gt;
   if( 0 &amp;gt;= fscanf(pOpenendFile, &amp;quot;%s&amp;quot;, &amp;amp;pcFileEntry) )&lt;br /&gt;
   {&lt;br /&gt;
        printf(&amp;quot;Konnte Datei nicht lesen!\n&amp;quot;);&lt;br /&gt;
   }&lt;br /&gt;
   else&lt;br /&gt;
   {&lt;br /&gt;
        printf(&amp;quot;Inhalt gelesen: \&amp;quot;%s\&amp;quot;\n&amp;quot;, pcFileEntry);&lt;br /&gt;
   }&amp;lt;br&amp;gt;&lt;br /&gt;
   // Schritt 2: Bearbeiten (schreiben)&lt;br /&gt;
   if( 0 == fprintf(pOpenendFile, &amp;quot;FileRead!\n&amp;quot;) )&lt;br /&gt;
   {&lt;br /&gt;
        printf(&amp;quot;Inhalt der Datei konnte nicht verändert werden\n&amp;quot;);&lt;br /&gt;
   }&lt;br /&gt;
   else&lt;br /&gt;
   {&lt;br /&gt;
        printf(&amp;quot;Datei wurde erfolgreich beschrieben!\n&amp;quot;);&lt;br /&gt;
   }&amp;lt;br&amp;gt;&lt;br /&gt;
   // Schritt 3: Datei Schließen&lt;br /&gt;
   fclose(pOpenendFile);&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>Mario</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Benutzer_Diskussion:Mario&amp;diff=16238</id>
		<title>Benutzer Diskussion:Mario</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Benutzer_Diskussion:Mario&amp;diff=16238"/>
		<updated>2011-08-30T18:05:21Z</updated>

		<summary type="html">&lt;p&gt;Mario: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= CKurs - Ein und Ausgabe =&lt;br /&gt;
&lt;br /&gt;
-DRAFT-&lt;br /&gt;
= Wiederholung =&lt;br /&gt;
&lt;br /&gt;
''HelloWorld''-Programm an die Tafel (Kommentare=Infos zum Erzählen) Durch Studis zu ergänzen&lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt; // Einbinden des Headers der IO-Lib&amp;lt;br&amp;gt;&lt;br /&gt;
 int main(int argc, char **argv)  // Haupteinsprungspunkt&lt;br /&gt;
 { // Scope erwähnen?&lt;br /&gt;
   // Platz für Variablen lassen&lt;br /&gt;
   printf(&amp;quot;Hello World!\n&amp;quot;); // Kurz: \n =&amp;gt; newline, folgende Ausgabe in der nächsten Zeile&lt;br /&gt;
   return 0;&lt;br /&gt;
 } &lt;br /&gt;
&lt;br /&gt;
= Ausgabe von Variablen =&lt;br /&gt;
&lt;br /&gt;
''printf'' benutzt besondere Zeichen, um zu Markieren, dass der folgende Text ersetzt werden muss. Zeichen: ''%''. Dannach steht ein ''Typbezeichner'', der für die Umwandlung des Argumentes sorgt. Bspw. ''%d'' gibt eine ganze Zahl ('''d'''igit) aus. Anwendung im Beispiel (Beibehalten des bereits geschriebenen codes an Tafel/Laptop:&lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 int main(int argc, char **argv)  &lt;br /&gt;
 { &amp;lt;br&amp;gt;&lt;br /&gt;
   printf(&amp;quot;Hello World!''' %d times again!'''\n&amp;quot;''', 42'''); // Wichtig: Komma erwähnen!&lt;br /&gt;
   return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Nutzbar auch für Variablen:&lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 int main(int argc, char **argv)  &lt;br /&gt;
 { &lt;br /&gt;
   int iSumOfDigits = 1 + 9 + 8 + 5;&lt;br /&gt;
   printf('''&amp;quot;Quersumme: %d\n, iSumOfDigits'''); // Oder ähnliches&lt;br /&gt;
   return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==Weitere Typen==&lt;br /&gt;
*''%s'' für Zeichenketten&lt;br /&gt;
*''%f'' für Fließkommazahlen&lt;br /&gt;
&lt;br /&gt;
Beispiel&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 int main(int argc, char **argv)  &lt;br /&gt;
 { &lt;br /&gt;
   char* pcName = &amp;quot;Mario&amp;quot;;&lt;br /&gt;
   unsigned int uiAge = 26;&lt;br /&gt;
   printf(&amp;quot;%s ist %d Jahre alt\n&amp;quot;, pcName, uiAge);&lt;br /&gt;
   return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
= Eingabe =&lt;br /&gt;
&lt;br /&gt;
scanf wie printf&lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 int main(int argc, char **argv)  &lt;br /&gt;
 { &lt;br /&gt;
   char* pcName;&lt;br /&gt;
   unsigned int uiAge;&lt;br /&gt;
   '''printf(&amp;quot;Name: &amp;quot;);'''&lt;br /&gt;
   '''scanf(&amp;quot;%s&amp;quot;, &amp;amp;pcName);'''&lt;br /&gt;
   '''printf(&amp;quot;Alter: &amp;quot;);'''&lt;br /&gt;
   '''scanf(&amp;quot;%d&amp;quot;, &amp;amp;uiAge);'''&lt;br /&gt;
   printf(&amp;quot;%s ist %d Jahre alt\n&amp;quot;, pcName, uiAge);&lt;br /&gt;
   return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
= Dateien =&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
fopen, fprintf, fscanf, fclose&lt;br /&gt;
(fread, fseek, fwrite)&lt;br /&gt;
&lt;br /&gt;
= Fehlerfälle =&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
Rückgabewert überprüfen, Code testen.&lt;/div&gt;</summary>
		<author><name>Mario</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Benutzer_Diskussion:Mario&amp;diff=16237</id>
		<title>Benutzer Diskussion:Mario</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Benutzer_Diskussion:Mario&amp;diff=16237"/>
		<updated>2011-08-30T17:42:21Z</updated>

		<summary type="html">&lt;p&gt;Mario: CKurs Draft&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= CKurs - Ein und Ausgabe =&lt;br /&gt;
&lt;br /&gt;
-DRAFT-&lt;br /&gt;
= Wiederholung =&lt;br /&gt;
&lt;br /&gt;
''HelloWorld''-Programm an die Tafel (Kommentare=Infos zum Erzählen)&lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt; // Einbinden des Headers der IO-Lib&amp;lt;br&amp;gt;&lt;br /&gt;
 int main(int argc, char **argv)  // Haupteinsprungspunkt&lt;br /&gt;
 { // Scope erwähnen?&lt;br /&gt;
   // Platz für Variablen lassen&lt;br /&gt;
   printf(&amp;quot;Hello World!\n&amp;quot;); // Kurz: \n =&amp;gt; newline, folgende Ausgabe in der nächsten Zeile&lt;br /&gt;
   return 0;&lt;br /&gt;
 } &lt;br /&gt;
&lt;br /&gt;
= Ausgabe von Variablen =&lt;br /&gt;
&lt;br /&gt;
''printf'' benutzt besondere Zeichen, um zu markieren, dass der folgende Text ersetzt werden muss. Zeichen: ''%''. Dannach steht ein ''Typbezeichner'', der für die Umwandlung des Argumentes sorgt. Bspw. ''%d'' gibt eine ganze Zahl ('''d'''igit) aus. Anwendung im Beispiel (Beibehalten des bereits geschriebenen codes an Tafel/Laptop:&lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 int main(int argc, char **argv)  &lt;br /&gt;
 { &amp;lt;br&amp;gt;&lt;br /&gt;
   printf(&amp;quot;Hello World!''' %d times again!'''\n&amp;quot;''', 42'''); // Wichtig: Komma erwähnen!&lt;br /&gt;
   return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Nutzbar auch für Variablen:&lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 int main(int argc, char **argv)  &lt;br /&gt;
 { &lt;br /&gt;
   int iSumOfDigits = 1 + 9 + 8 + 5;&lt;br /&gt;
   printf('''&amp;quot;Quersumme: %d\n, iSumOfDigits'''); // Oder ähnliches&lt;br /&gt;
   return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==Weitere Typen==&lt;br /&gt;
*''%s'' für Zeichenketten&lt;br /&gt;
*''%f'' für Fließkommazahlen&lt;br /&gt;
&lt;br /&gt;
Beispiel&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 int main(int argc, char **argv)  &lt;br /&gt;
 { &lt;br /&gt;
   char* pcName = &amp;quot;Mario&amp;quot;;&lt;br /&gt;
   unsigned int uiAge = 26;&lt;br /&gt;
   printf(&amp;quot;%s ist %d Jahre alt\n&amp;quot;, pcName, uiAge);&lt;br /&gt;
   return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
= Eingabe =&lt;br /&gt;
&lt;br /&gt;
scanf wie printf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 int main(int argc, char **argv)  &lt;br /&gt;
 { &lt;br /&gt;
   char* pcName;&lt;br /&gt;
   unsigned int uiAge;&lt;br /&gt;
   '''printf(&amp;quot;Name: &amp;quot;);'''&lt;br /&gt;
   '''scanf(&amp;quot;%s&amp;quot;, &amp;amp;pcName);'''&lt;br /&gt;
   '''printf(&amp;quot;Alter: &amp;quot;);'''&lt;br /&gt;
   '''scanf(&amp;quot;%d&amp;quot;, &amp;amp;uiAge);'''&lt;br /&gt;
   printf(&amp;quot;%s ist %d Jahre alt\n&amp;quot;, pcName, uiAge);&lt;br /&gt;
   return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
= Dateien =&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
fopen, fprintf, fscanf, fclose&lt;br /&gt;
(fread, fseek, fwrite)&lt;/div&gt;</summary>
		<author><name>Mario</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben&amp;diff=15820</id>
		<title>Javakurs/Übungsaufgaben</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben&amp;diff=15820"/>
		<updated>2011-03-21T22:57:08Z</updated>

		<summary type="html">&lt;p&gt;Mario: /* Die Aufgaben */ Lösungen&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. Einen kleinen Überblick zu den Schwierigkeitsgraden findet ihr ganz unten auf dieser Seite.&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;
== Die Aufgaben ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; 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;
 !Überprüfer(Status)&lt;br /&gt;
 !Musterlösung&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Von der Console zum HelloWorld | Vom Arbeiten mit der Konsole bis &amp;quot;Hallo Welt&amp;quot;]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Einfaches Arbeiten mit der Kommandozeile &amp;lt;br&amp;gt; Kompilieren und Ausführen von Javacode&lt;br /&gt;
 | &lt;br /&gt;
 |[[Javakurs/Übungsaufgaben/Von der Console zum HelloWorld/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Variablen_und_Zuweisungen | Variablen und Zuweisungen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Deklarieren und definieren von Variablen&amp;lt;br&amp;gt;Grundlegende Regeln der Codeformatierung&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Variablen_und_Zuweisungen/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Cowsay | Cowsay oder &amp;quot;Wie macht die Kuh?&amp;quot;]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | etwas mehr Bildschirmausgabe&amp;lt;br&amp;gt;schöne Graphiken&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Cowsay/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Kassenbon | Erstellen eines Kassenbons]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Arbeiten mit Variablen&amp;lt;br&amp;gt;Fallunterscheidungen&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Kassenbon/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Javamenue | Ein eigenes Menü]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Lesen von Benutzereingaben über die Konsole&amp;lt;br&amp;gt;Fallunterscheidungen&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Javamenue/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Glücksspiel | Glücksspiel]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Anwenden von Fallunterscheidungen &lt;br /&gt;
 |&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Glücksspiel/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Arrays | Quickies Arrays]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Verwenden von Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Arrays/Musterloesung | Musterlösung ]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Verschachtelte_Schleifen | 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;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Verschachtelte Schleifen/Musterloesung|Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Primzahlenaufgabe | Primzahlen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2-5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Geschicktes Einsetzen von Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Primzahlenaufgabe/Musterloesung|Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Wetterstation | Wetterstation]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Wetterstation/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Geometrie | Geometrie]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Volumenberechnung&amp;lt;br&amp;gt;Lesen von Programmargumenten&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Zweierpotenzen | Zweierpotenzen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Zweierpotenzen/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Schleifen_und_Modulo | Schleifen und Modulo]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Verwendung von Schleifen&amp;lt;br&amp;gt;Benutzung des Modulo-Operators&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Schleifen_und_Modulo/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Methoden | Quickies zu Methoden]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Zusammenfassung der Vorlesung&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/MathematischeMethoden | Mathematische Methoden]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schreiben eigener Methoden&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/MathematischeMethoden/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Schaltjahr | Schaltjahr]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schreiben von Methoden&amp;lt;br&amp;gt;Fallunterscheidungen&amp;lt;br&amp;gt;Benutzerinteraktion&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Schaltjahr/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Crack_the_Password | Crack the Password]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2/3. VL&lt;br /&gt;
 | Passwörter knacken ;-)&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Crack_the_Password/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Rekursion_vs._Iteration | Rekursion vs. Iteration]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Fehler finden&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Rekursion_vs._Iteration/Musterloesung | Mister Lösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Lineare_Funktionen | Lineare Funktionen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Verwendung von Methoden&amp;lt;br&amp;gt;Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Lineare_Funktionen/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Fibonacci | Fibonaccizahlen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Fibonacci/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Brainfuck | Brainfuck vs Turingmaschine]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Arbeiten mit Arrays&amp;lt;br&amp;gt;Allgemeinwissen :-)&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Brainfuck/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Gau%C3%9F-Algorithmus | Gauß-Algorithmus]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Arrays und Matrizen&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Gau%C3%9F-Algorithmus/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Zahlenumrechner | Zahlenumrechner]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Arbeiten mit Methoden&amp;lt;br&amp;gt;mathematisches Denken&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Zahlenumrechner/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Democracy | Der Fehler im System]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Fehler finden&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Democracy/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Quersumme | Spaß mit Quersummen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5 - 7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Benutzung des Modulo-Operators&amp;lt;br&amp;gt;Auslagern von Funktionalität in Methoden&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Quersumme/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Appleman | Appleman und Fraktale]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schleifen, Umgang mit Fließkommazahlen&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Appleman/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/DiffusionLimitedAggregation | Diffusion Limited Aggregation]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | 2-dimensionale Arrays, Methoden, Schleifen, Grafische Ausgabe&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/DiffusionLimitedAggregation/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Palindrome | Palindrome]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Entwurf von Programmen&amp;lt;br&amp;gt;Parameterübergabe beim Programmaufruf&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/DDDText | DDDText]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 4. VL&lt;br /&gt;
 | Ausgabe von Buchstaben als 3D Buchstaben&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Hangman | Hangman]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Entwurf von Programmen&amp;lt;br&amp;gt;Arbeiten mit Methoden&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/SelectionSort | Selection Sort]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Verstehen von komplexeren Algorithmen&amp;lt;br&amp;gt;Schleifen und Arrays&amp;lt;br&amp;gt;(Hilfs-)Methoden&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Cäsar-Chiffre | Chiffrierung/Dechiffrierung (Cäsar)]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Eigenständiges Problemlösen. &amp;lt;br&amp;gt; Alle Konzepte des Kurses&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Abzaehlspiel | Abzählspiel]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |8&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Analyse von Aufgabenstellungen&amp;lt;br&amp;gt;Entwurf eines komplexen Programms von Grund auf&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Rennschnecke | Schneckenrennen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Objektorientierte Programmierung&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Studentendatenbank | Studentendatenbank]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Vertiefung in objektorientiertes Programmieren&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Kassenbon++ | Erstellen eines Kassenbons mit Kapselung]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Arbeiten mit Klassen&amp;lt;br&amp;gt;Kapselung&amp;lt;br&amp;gt;JavaAPI&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Multiarray| Mehrdimensionale Arrays]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5-9&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Methoden, Schleifen, Arrays&amp;lt;br&amp;gt;Objektorientierung&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Canvas | Virtuelles Canvas mit 3D-Objekten]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Arbeiten mit Methoden&amp;lt;br&amp;gt;mathematisches Denken&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Doom | ASCII DOOM ]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7-10&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Vertiefung in objektorientierte Programmierung&amp;lt;br&amp;gt;Benutzung der Java-API&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Textwordcount | Texte lesen und analysieren]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Eigenständiges Problemlösen &amp;lt;br&amp;gt; Goethe vs. Karl May&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/OOPStateCharts | StateCharts ]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Zustandsdiagramme (StateCharts) und OOP&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/AsciiCraft | ASCII Craft ]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5-10&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1-6. VL&lt;br /&gt;
 | CodeLesen, Zusammenfassung, [http://www.minecraft.net minecraft] in 2D und ASCII&lt;br /&gt;
 | &lt;br /&gt;
 | &amp;lt;nicht anwendbar&amp;gt;&lt;br /&gt;
&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 weden 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;
&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 'bash' eingeben, man sieht dann auch in welchem Verzeichnis man gerade ist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [[Javakurs_2011/Feedback|Feedback zum Kurs 2011]]&lt;br /&gt;
* [[Javakurs_2010/Feedback|Feedback zum Kurs 2010]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Java]]&lt;br /&gt;
[[Kategorie:Java_Aufgaben]]&lt;/div&gt;</summary>
		<author><name>Mario</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Javakurs_2011/Vortrag06&amp;diff=15818</id>
		<title>Javakurs 2011/Vortrag06</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Javakurs_2011/Vortrag06&amp;diff=15818"/>
		<updated>2011-03-21T22:51:36Z</updated>

		<summary type="html">&lt;p&gt;Mario: /* Folien */ Updated größe&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Vererbung =&lt;br /&gt;
&lt;br /&gt;
Vortragende: &lt;br /&gt;
* '''mario''' &amp;lt;mario at freitagsrunde.org&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Themen ===&lt;br /&gt;
* Wiederholung Kapselung&lt;br /&gt;
* Vererbung&lt;br /&gt;
** Basisklassen&lt;br /&gt;
** Überschreibung von Methoden&lt;br /&gt;
** super vs. this&lt;br /&gt;
* Object&lt;br /&gt;
** Warum?&lt;br /&gt;
** toString&lt;br /&gt;
** equals&lt;br /&gt;
* Zusammenfassung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Folien ===&lt;br /&gt;
* [http://docs.freitagsrunde.org/Veranstaltungen/javakurs_2011/vorlesungen/06-Vererbung.pdf Folien (410K)]&lt;br /&gt;
* [http://docs.freitagsrunde.org/Veranstaltungen/javakurs_2011/vorlesungen/06-Vererbung.tar.gz tex + java Code (284K)]&lt;br /&gt;
&lt;br /&gt;
=== Mitschnitt ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- TBD von Thaddäus&lt;br /&gt;
* [[Javakurs_2010/Vortrag01/HQ-Flash|FLASH-Video im Browser in bester 1536x768 Aufloesung anzeigen]]    (&amp;lt;b&amp;gt;1.1 GB&amp;lt;/b&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Downloads: &amp;lt;br&amp;gt;&lt;br /&gt;
* [http://stan.freitagsrunde.org/j0/LE1_ipod.mp4  IPOD-mp4] (174MB)&lt;br /&gt;
* [http://stan.freitagsrunde.org/j0/LE1_HQ.mp4 High Quality] (1.1GB &amp;lt;i&amp;gt;FMP4&amp;lt;/i&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dhflashplayer&amp;gt;filepath=http://stan.freitagsrunde.org/j8/7-4-08-LE1.flv|width=480|height=360&amp;lt;/dhflashplayer&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [http://stan.freitagsrunde.org/j8/7-4-08-LE1_HQ.avi High Quality] (343MB &amp;lt;i&amp;gt;x264&amp;lt;/i&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
[[Javakurs_2011 | zurück zur Hauptseite]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Java]]&lt;/div&gt;</summary>
		<author><name>Mario</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Javakurs_2011/Vortrag05&amp;diff=15816</id>
		<title>Javakurs 2011/Vortrag05</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Javakurs_2011/Vortrag05&amp;diff=15816"/>
		<updated>2011-03-21T22:48:07Z</updated>

		<summary type="html">&lt;p&gt;Mario: /* Folien */ PDF + ODP-Sources added&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Objekte =&lt;br /&gt;
&lt;br /&gt;
Vortragender: '''Martin Kresse''' (mkresse@cs...)&lt;br /&gt;
&lt;br /&gt;
=== Themen ===&lt;br /&gt;
* Was ist ein Objekt?&lt;br /&gt;
* Wie funktioniert die Java-Syntax für Objekte?&lt;br /&gt;
* Welche Fehler treten beim Programmieren mit Objekten häufig auf?&lt;br /&gt;
* Wie verwendet man Objekte um seinen Code aufzuteilen? &lt;br /&gt;
* Kapselung von Daten&lt;br /&gt;
&lt;br /&gt;
=== Folien ===&lt;br /&gt;
&lt;br /&gt;
* [http://docs.freitagsrunde.org/Veranstaltungen/javakurs_2011/vorlesungen/Javakurs2011-LE5.pdf Folien (1.52MB)]&lt;br /&gt;
* [http://docs.freitagsrunde.org/Veranstaltungen/javakurs_2011/vorlesungen/Javakurs2011-LE5.odp LirbeOffice (4.5MB)]&lt;br /&gt;
&lt;br /&gt;
=== Mitschnitt ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Javakurs_2011 | zurück zur Hauptseite]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Java]]&lt;/div&gt;</summary>
		<author><name>Mario</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben&amp;diff=15808</id>
		<title>Javakurs/Übungsaufgaben</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben&amp;diff=15808"/>
		<updated>2011-03-21T11:11:05Z</updated>

		<summary type="html">&lt;p&gt;Mario: /* 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. Einen kleinen Überblick zu den Schwierigkeitsgraden findet ihr ganz unten auf dieser Seite.&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;
== Die Aufgaben ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; 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;
 !Überprüfer(Status)&lt;br /&gt;
 !Musterlösung&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Von der Console zum HelloWorld | Vom Arbeiten mit der Konsole bis &amp;quot;Hallo Welt&amp;quot;]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Einfaches Arbeiten mit der Kommandozeile &amp;lt;br&amp;gt; Kompilieren und Ausführen von Javacode&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Variablen_und_Zuweisungen | Variablen und Zuweisungen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Deklarieren und definieren von Variablen&amp;lt;br&amp;gt;Grundlegende Regeln der Codeformatierung&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Cowsay | Cowsay oder &amp;quot;Wie macht die Kuh?&amp;quot;]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | etwas mehr Bildschirmausgabe&amp;lt;br&amp;gt;schöne Graphiken&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Kassenbon | Erstellen eines Kassenbons]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Arbeiten mit Variablen&amp;lt;br&amp;gt;Fallunterscheidungen&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Javamenue | Ein eigenes Menü]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Lesen von Benutzereingaben über die Konsole&amp;lt;br&amp;gt;Fallunterscheidungen&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Glücksspiel | Glücksspiel]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Anwenden von Fallunterscheidungen &lt;br /&gt;
 |&lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Arrays | Quickies Arrays]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Verwenden von Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Arrays/Musterloesung | Musterlösung ]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Verschachtelte_Schleifen | 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;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Verschachtelte Schleifen/Musterloesung|Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Primzahlenaufgabe | Primzahlen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2-5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Geschicktes Einsetzen von Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Primzahlenaufgabe/Musterloesung|Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Wetterstation | Wetterstation]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Wetterstation/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Geometrie | Geometrie]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Volumenberechnung&amp;lt;br&amp;gt;Lesen von Programmargumenten&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Zweierpotenzen | Zweierpotenzen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Zweierpotenzen/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Schleifen_und_Modulo | Schleifen und Modulo]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Verwendung von Schleifen&amp;lt;br&amp;gt;Benutzung des Modulo-Operators&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Schleifen_und_Modulo/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Methoden | Quickies zu Methoden]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Zusammenfassung der Vorlesung&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/MathematischeMethoden | Mathematische Methoden]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schreiben eigener Methoden&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/MathematischeMethoden/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Schaltjahr | Schaltjahr]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schreiben von Methoden&amp;lt;br&amp;gt;Fallunterscheidungen&amp;lt;br&amp;gt;Benutzerinteraktion&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Schaltjahr/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Crack_the_Password | Crack the Password]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2/3. VL&lt;br /&gt;
 | Passwörter knacken ;-)&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Crack_the_Password/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Rekursion_vs._Iteration | Rekursion vs. Iteration]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Fehler finden&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Rekursion_vs._Iteration/Musterloesung | Mister Lösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Lineare_Funktionen | Lineare Funktionen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Verwendung von Methoden&amp;lt;br&amp;gt;Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Lineare_Funktionen/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Fibonacci | Fibonaccizahlen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Fibonacci/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Brainfuck | Brainfuck vs Turingmaschine]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Arbeiten mit Arrays&amp;lt;br&amp;gt;Allgemeinwissen :-)&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Brainfuck/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Gau%C3%9F-Algorithmus | Gauß-Algorithmus]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Arrays und Matrizen&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Gau%C3%9F-Algorithmus/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Zahlenumrechner | Zahlenumrechner]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Arbeiten mit Methoden&amp;lt;br&amp;gt;mathematisches Denken&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Zahlenumrechner/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Democracy | Der Fehler im System]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Fehler finden&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Democracy/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Quersumme | Spaß mit Quersummen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5 - 7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Benutzung des Modulo-Operators&amp;lt;br&amp;gt;Auslagern von Funktionalität in Methoden&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Quersumme/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Appleman | Appleman und Fraktale]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schleifen, Umgang mit Fließkommazahlen&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Appleman/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/DiffusionLimitedAggregation | Diffusion Limited Aggregation]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | 2-dimensionale Arrays, Methoden, Schleifen, Grafische Ausgabe&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/DiffusionLimitedAggregation/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Palindrome | Palindrome]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Entwurf von Programmen&amp;lt;br&amp;gt;Parameterübergabe beim Programmaufruf&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/DDDText | DDDText]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 4. VL&lt;br /&gt;
 | Ausgabe von Buchstaben als 3D Buchstaben&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Hangman | Hangman]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Entwurf von Programmen&amp;lt;br&amp;gt;Arbeiten mit Methoden&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/SelectionSort | Selection Sort]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Verstehen von komplexeren Algorithmen&amp;lt;br&amp;gt;Schleifen und Arrays&amp;lt;br&amp;gt;(Hilfs-)Methoden&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Cäsar-Chiffre | Chiffrierung/Dechiffrierung (Cäsar)]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Eigenständiges Problemlösen. &amp;lt;br&amp;gt; Alle Konzepte des Kurses&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Abzaehlspiel | Abzählspiel]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |8&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Analyse von Aufgabenstellungen&amp;lt;br&amp;gt;Entwurf eines komplexen Programms von Grund auf&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Rennschnecke | Schneckenrennen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Objektorientierte Programmierung&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Studentendatenbank | Studentendatenbank]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Vertiefung in objektorientiertes Programmieren&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Kassenbon++ | Erstellen eines Kassenbons mit Kapselung]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Arbeiten mit Klassen&amp;lt;br&amp;gt;Kapselung&amp;lt;br&amp;gt;JavaAPI&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Multiarray| Mehrdimensionale Arrays]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5-9&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Methoden, Schleifen, Arrays&amp;lt;br&amp;gt;Objektorientierung&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Canvas | Virtuelles Canvas mit 3D-Objekten]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Arbeiten mit Methoden&amp;lt;br&amp;gt;mathematisches Denken&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Doom | ASCII DOOM ]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7-10&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Vertiefung in objektorientierte Programmierung&amp;lt;br&amp;gt;Benutzung der Java-API&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Textwordcount | Texte lesen und analysieren]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Eigenständiges Problemlösen &amp;lt;br&amp;gt; Goethe vs. Karl May&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/OOPStateCharts | StateCharts ]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Zustandsdiagramme (StateCharts) und OOP&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/AsciiCraft | ASCII Craft ]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5-10&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1-6. VL&lt;br /&gt;
 | CodeLesen, Zusammenfassung, [http://www.minecraft.net minecraft] in 2D und ASCII&lt;br /&gt;
 | &lt;br /&gt;
 | &amp;lt;nicht anwendbar&amp;gt;&lt;br /&gt;
&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 weden 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;
&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 'bash' eingeben, man sieht dann auch in welchem Verzeichnis man gerade ist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [[Javakurs_2011/Feedback|Feedback zum Kurs 2011]]&lt;br /&gt;
* [[Javakurs_2010/Feedback|Feedback zum Kurs 2010]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Java]]&lt;br /&gt;
[[Kategorie:Java_Aufgaben]]&lt;/div&gt;</summary>
		<author><name>Mario</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben&amp;diff=15807</id>
		<title>Javakurs/Übungsaufgaben</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben&amp;diff=15807"/>
		<updated>2011-03-21T11:09:52Z</updated>

		<summary type="html">&lt;p&gt;Mario: &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. Einen kleinen Überblick zu den Schwierigkeitsgraden findet ihr ganz unten auf dieser Seite.&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;
== Die Aufgaben ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; 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;
 !Überprüfer(Status)&lt;br /&gt;
 !Musterlösung&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Von der Console zum HelloWorld | Vom Arbeiten mit der Konsole bis &amp;quot;Hallo Welt&amp;quot;]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Einfaches Arbeiten mit der Kommandozeile &amp;lt;br&amp;gt; Kompilieren und Ausführen von Javacode&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Variablen_und_Zuweisungen | Variablen und Zuweisungen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Deklarieren und definieren von Variablen&amp;lt;br&amp;gt;Grundlegende Regeln der Codeformatierung&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Cowsay | Cowsay oder &amp;quot;Wie macht die Kuh?&amp;quot;]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | etwas mehr Bildschirmausgabe&amp;lt;br&amp;gt;schöne Graphiken&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Kassenbon | Erstellen eines Kassenbons]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Arbeiten mit Variablen&amp;lt;br&amp;gt;Fallunterscheidungen&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Javamenue | Ein eigenes Menü]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Lesen von Benutzereingaben über die Konsole&amp;lt;br&amp;gt;Fallunterscheidungen&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Glücksspiel | Glücksspiel]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Anwenden von Fallunterscheidungen &lt;br /&gt;
 |&lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Arrays | Quickies Arrays]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Verwenden von Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Arrays/Musterloesung | Musterlösung ]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Verschachtelte_Schleifen | 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;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Verschachtelte Schleifen/Musterloesung|Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Primzahlenaufgabe | Primzahlen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2-5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Geschicktes Einsetzen von Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Primzahlenaufgabe/Musterloesung|Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Wetterstation | Wetterstation]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Wetterstation/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Geometrie | Geometrie]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Volumenberechnung&amp;lt;br&amp;gt;Lesen von Programmargumenten&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Zweierpotenzen | Zweierpotenzen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Zweierpotenzen/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Schleifen_und_Modulo | Schleifen und Modulo]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Verwendung von Schleifen&amp;lt;br&amp;gt;Benutzung des Modulo-Operators&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Schleifen_und_Modulo/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Methoden | Quickies zu Methoden]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Zusammenfassung der Vorlesung&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/MathematischeMethoden | Mathematische Methoden]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schreiben eigener Methoden&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/MathematischeMethoden/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Schaltjahr | Schaltjahr]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schreiben von Methoden&amp;lt;br&amp;gt;Fallunterscheidungen&amp;lt;br&amp;gt;Benutzerinteraktion&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Schaltjahr/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Crack_the_Password | Crack the Password]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2/3. VL&lt;br /&gt;
 | Passwörter knacken ;-)&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Crack_the_Password/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Rekursion_vs._Iteration | Rekursion vs. Iteration]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Fehler finden&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Rekursion_vs._Iteration/Musterloesung | Mister Lösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Lineare_Funktionen | Lineare Funktionen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Verwendung von Methoden&amp;lt;br&amp;gt;Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Lineare_Funktionen/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Fibonacci | Fibonaccizahlen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Fibonacci/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Brainfuck | Brainfuck vs Turingmaschine]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Arbeiten mit Arrays&amp;lt;br&amp;gt;Allgemeinwissen :-)&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Brainfuck/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Gau%C3%9F-Algorithmus | Gauß-Algorithmus]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Arrays und Matrizen&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Gau%C3%9F-Algorithmus/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Zahlenumrechner | Zahlenumrechner]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Arbeiten mit Methoden&amp;lt;br&amp;gt;mathematisches Denken&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Zahlenumrechner/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Democracy | Der Fehler im System]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Fehler finden&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Democracy/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Quersumme | Spaß mit Quersummen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5 - 7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Benutzung des Modulo-Operators&amp;lt;br&amp;gt;Auslagern von Funktionalität in Methoden&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Quersumme/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Appleman | Appleman und Fraktale]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schleifen, Umgang mit Fließkommazahlen&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Appleman/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/DiffusionLimitedAggregation | Diffusion Limited Aggregation]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | 2-dimensionale Arrays, Methoden, Schleifen, Grafische Ausgabe&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Palindrome | Palindrome]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Entwurf von Programmen&amp;lt;br&amp;gt;Parameterübergabe beim Programmaufruf&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/DDDText | DDDText]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 4. VL&lt;br /&gt;
 | Ausgabe von Buchstaben als 3D Buchstaben&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Hangman | Hangman]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Entwurf von Programmen&amp;lt;br&amp;gt;Arbeiten mit Methoden&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/SelectionSort | Selection Sort]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Verstehen von komplexeren Algorithmen&amp;lt;br&amp;gt;Schleifen und Arrays&amp;lt;br&amp;gt;(Hilfs-)Methoden&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Cäsar-Chiffre | Chiffrierung/Dechiffrierung (Cäsar)]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Eigenständiges Problemlösen. &amp;lt;br&amp;gt; Alle Konzepte des Kurses&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Abzaehlspiel | Abzählspiel]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |8&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Analyse von Aufgabenstellungen&amp;lt;br&amp;gt;Entwurf eines komplexen Programms von Grund auf&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Rennschnecke | Schneckenrennen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Objektorientierte Programmierung&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Studentendatenbank | Studentendatenbank]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Vertiefung in objektorientiertes Programmieren&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Kassenbon++ | Erstellen eines Kassenbons mit Kapselung]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Arbeiten mit Klassen&amp;lt;br&amp;gt;Kapselung&amp;lt;br&amp;gt;JavaAPI&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Multiarray| Mehrdimensionale Arrays]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5-9&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Methoden, Schleifen, Arrays&amp;lt;br&amp;gt;Objektorientierung&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Canvas | Virtuelles Canvas mit 3D-Objekten]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Arbeiten mit Methoden&amp;lt;br&amp;gt;mathematisches Denken&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Doom | ASCII DOOM ]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7-10&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Vertiefung in objektorientierte Programmierung&amp;lt;br&amp;gt;Benutzung der Java-API&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Textwordcount | Texte lesen und analysieren]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Eigenständiges Problemlösen &amp;lt;br&amp;gt; Goethe vs. Karl May&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/OOPStateCharts | StateCharts ]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Zustandsdiagramme (StateCharts) und OOP&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/AsciiCraft | ASCII Craft ]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5-10&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1-6. VL&lt;br /&gt;
 | CodeLesen, Zusammenfassung, [http://www.minecraft.net minecraft] in 2D und ASCII&lt;br /&gt;
 | &lt;br /&gt;
 | &amp;lt;nicht anwendbar&amp;gt;&lt;br /&gt;
&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 weden 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;
&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 'bash' eingeben, man sieht dann auch in welchem Verzeichnis man gerade ist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [[Javakurs_2011/Feedback|Feedback zum Kurs 2011]]&lt;br /&gt;
* [[Javakurs_2010/Feedback|Feedback zum Kurs 2010]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Java]]&lt;br /&gt;
[[Kategorie:Java_Aufgaben]]&lt;/div&gt;</summary>
		<author><name>Mario</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben/Crack_the_Password/Musterloesung&amp;diff=15788</id>
		<title>Javakurs/Übungsaufgaben/Crack the Password/Musterloesung</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben/Crack_the_Password/Musterloesung&amp;diff=15788"/>
		<updated>2011-03-18T11:36:47Z</updated>

		<summary type="html">&lt;p&gt;Mario: On The fly lösung ...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;46 is the key!&lt;br /&gt;
56 is the key!&lt;br /&gt;
70 is the key!&lt;br /&gt;
82 is the key!&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
public class CrackPWD{&lt;br /&gt;
&lt;br /&gt;
	public static boolean checkPasscode(int H4X0R){&lt;br /&gt;
		// returns true if passcode is valid&lt;br /&gt;
		boolean result = false;&lt;br /&gt;
		for(int E1337=42; E1337&amp;lt;=(52^(0x6c)); E1337+=(3&amp;lt;&amp;lt;(14%6))){&lt;br /&gt;
			if(result=((++E1337|E1337+(2&amp;gt;&amp;gt;&amp;gt;1))^(1+H4X0R))==(123456789&amp;amp;0))&lt;br /&gt;
				break;&lt;br /&gt;
		}&lt;br /&gt;
		return result;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	public static void main(String[] arguments) {&lt;br /&gt;
		for(int i = -99999; i &amp;lt; 99999; i++)&lt;br /&gt;
			if(checkPasscode(i)) {&lt;br /&gt;
				System.out.println(i+&amp;quot; is the key!&amp;quot;);&lt;br /&gt;
			}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mario</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben&amp;diff=15782</id>
		<title>Javakurs/Übungsaufgaben</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben&amp;diff=15782"/>
		<updated>2011-03-17T18:40:15Z</updated>

		<summary type="html">&lt;p&gt;Mario: /* 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. Einen kleinen Überblick zu den Schwierigkeitsgraden findet ihr ganz unten auf dieser Seite.&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;
== Die Aufgaben ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; 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;
 !Überprüfer(Status)&lt;br /&gt;
 !Musterlösung&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Von der Console zum HelloWorld | Vom Arbeiten mit der Konsole bis &amp;quot;Hallo Welt&amp;quot;]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Einfaches Arbeiten mit der Kommandozeile &amp;lt;br&amp;gt; Kompilieren und Ausführen von Javacode&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Variablen_und_Zuweisungen | Variablen und Zuweisungen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Deklarieren und definieren von Variablen&amp;lt;br&amp;gt;Grundlegende Regeln der Codeformatierung&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Cowsay | Cowsay oder &amp;quot;Wie macht die Kuh?&amp;quot;]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | etwas mehr Bildschirmausgabe&amp;lt;br&amp;gt;schöne Graphiken&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Kassenbon | Erstellen eines Kassenbons]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Arbeiten mit Variablen&amp;lt;br&amp;gt;Fallunterscheidungen&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Javamenue | Ein eigenes Menü]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Lesen von Benutzereingaben über die Konsole&amp;lt;br&amp;gt;Fallunterscheidungen&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Glücksspiel | Glücksspiel]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Anwenden von Fallunterscheidungen &lt;br /&gt;
 |&lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Arrays | Quickies Arrays]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Verwenden von Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Arrays/Musterloesung | Musterlösung ]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Verschachtelte_Schleifen | 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;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Verschachtelte Schleifen/Musterloesung|Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Primzahlenaufgabe | Primzahlen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2-5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Geschicktes Einsetzen von Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Primzahlenaufgabe/Musterloesung|Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Wetterstation | Wetterstation]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Wetterstation/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Geometrie | Geometrie]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Volumenberechnung&amp;lt;br&amp;gt;Lesen von Programmargumenten&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Zweierpotenzen | Zweierpotenzen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Zweierpotenzen/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Schleifen_und_Modulo | Schleifen und Modulo]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Verwendung von Schleifen&amp;lt;br&amp;gt;Benutzung des Modulo-Operators&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Schleifen_und_Modulo/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Methoden | Quickies zu Methoden]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Zusammenfassung der Vorlesung&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/MathematischeMethoden | Mathematische Methoden]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schreiben eigener Methoden&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Schaltjahr | Schaltjahr]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schreiben von Methoden&amp;lt;br&amp;gt;Fallunterscheidungen&amp;lt;br&amp;gt;Benutzerinteraktion&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Crack_the_Password | Crack the Password]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2/3. VL&lt;br /&gt;
 | Passwörter knacken ;-)&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Rekursion_vs._Iteration | Rekursion vs. Iteration]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Fehler finden&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Lineare_Funktionen | Lineare Funktionen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Verwendung von Methoden&amp;lt;br&amp;gt;Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Fibonacci | Fibonaccizahlen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Brainfuck | Brainfuck vs Turingmaschine]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Arbeiten mit Arrays&amp;lt;br&amp;gt;Allgemeinwissen :-)&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Gau%C3%9F-Algorithmus | Gauß-Algorithmus]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Arrays und Matrizen&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Zahlenumrechner | Zahlenumrechner]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Arbeiten mit Methoden&amp;lt;br&amp;gt;mathematisches Denken&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Democracy | Der Fehler im System]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Fehler finden&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Quersumme | Spaß mit Quersummen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5 - 7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Benutzung des Modulo-Operators&amp;lt;br&amp;gt;Auslagern von Funktionalität in Methoden&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Appleman | Appleman und Fraktale]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schleifen, Umgang mit Fließkommazahlen&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/DiffusionLimitedAggregation | Diffusion Limited Aggregation]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | 2-dimensionale Arrays, Methoden, Schleifen, Grafische Ausgabe&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Palindrome | Palindrome]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Entwurf von Programmen&amp;lt;br&amp;gt;Parameterübergabe beim Programmaufruf&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/DDDText | DDDText]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 4. VL&lt;br /&gt;
 | Ausgabe von Buchstaben als 3D Buchstaben&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Hangman | Hangman]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Entwurf von Programmen&amp;lt;br&amp;gt;Arbeiten mit Methoden&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/SelectionSort | Selection Sort]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Verstehen von komplexeren Algorithmen&amp;lt;br&amp;gt;Schleifen und Arrays&amp;lt;br&amp;gt;(Hilfs-)Methoden&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Cäsar-Chiffre | Chiffrierung/Dechiffrierung (Cäsar)]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Eigenständiges Problemlösen. &amp;lt;br&amp;gt; Alle Konzepte des Kurses&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Abzaehlspiel | Abzählspiel]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |8&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Analyse von Aufgabenstellungen&amp;lt;br&amp;gt;Entwurf eines komplexen Programms von Grund auf&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Rennschnecke | Schneckenrennen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Objektorientierte Programmierung&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Studentendatenbank | Studentendatenbank]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Vertiefung in objektorientiertes Programmieren&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Kassenbon++ | Erstellen eines Kassenbons mit Kapselung]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Arbeiten mit Klassen&amp;lt;br&amp;gt;Kapselung&amp;lt;br&amp;gt;JavaAPI&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Multiarray| Mehrdimensionale Arrays]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5-9&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Methoden, Schleifen, Arrays&amp;lt;br&amp;gt;Objektorientierung&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Canvas | Virtuelles Canvas mit 3D-Objekten]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Arbeiten mit Methoden&amp;lt;br&amp;gt;mathematisches Denken&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Doom | ASCII DOOM ]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7-10&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Vertiefung in objektorientierte Programmierung&amp;lt;br&amp;gt;Benutzung der Java-API&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Textwordcount | Texte lesen und analysieren]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Eigenständiges Problemlösen &amp;lt;br&amp;gt; Goethe vs. Karl May&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/OOPStateCharts | StateCharts ]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Zustandsdiagramme (StateCharts) und OOP&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/AsciiCraft | ASCII Craft ]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5-10&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1-6. VL&lt;br /&gt;
 | CodeLesen, Zusammenfassung, [http://www.minecraft.net minecraft] in 2D und ASCII&lt;br /&gt;
 | &lt;br /&gt;
 | &amp;lt;nicht anwendbar&amp;gt;&lt;br /&gt;
&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 weden 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;
&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 'bash' eingeben, man sieht dann auch in welchem Verzeichnis man gerade ist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [[Javakurs_2011/Feedback|Feedback zum Kurs 2011]]&lt;br /&gt;
* [[Javakurs_2010/Feedback|Feedback zum Kurs 2010]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Java]]&lt;br /&gt;
[[Kategorie:Java_Aufgaben]]&lt;/div&gt;</summary>
		<author><name>Mario</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben&amp;diff=15780</id>
		<title>Javakurs/Übungsaufgaben</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben&amp;diff=15780"/>
		<updated>2011-03-17T18:31:00Z</updated>

		<summary type="html">&lt;p&gt;Mario: /* Die Aufgaben */ Musterlösungen&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. Einen kleinen Überblick zu den Schwierigkeitsgraden findet ihr ganz unten auf dieser Seite.&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;
== Die Aufgaben ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; 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;
 !Überprüfer(Status)&lt;br /&gt;
 !Musterlösung&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Von der Console zum HelloWorld | Vom Arbeiten mit der Konsole bis &amp;quot;Hallo Welt&amp;quot;]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Einfaches Arbeiten mit der Kommandozeile &amp;lt;br&amp;gt; Kompilieren und Ausführen von Javacode&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Variablen_und_Zuweisungen | Variablen und Zuweisungen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Deklarieren und definieren von Variablen&amp;lt;br&amp;gt;Grundlegende Regeln der Codeformatierung&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Cowsay | Cowsay oder &amp;quot;Wie macht die Kuh?&amp;quot;]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | etwas mehr Bildschirmausgabe&amp;lt;br&amp;gt;schöne Graphiken&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Kassenbon | Erstellen eines Kassenbons]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Arbeiten mit Variablen&amp;lt;br&amp;gt;Fallunterscheidungen&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Javamenue | Ein eigenes Menü]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Lesen von Benutzereingaben über die Konsole&amp;lt;br&amp;gt;Fallunterscheidungen&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Glücksspiel | Glücksspiel]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Anwenden von Fallunterscheidungen &lt;br /&gt;
 |&lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Arrays | Quickies Arrays]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Verwenden von Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Arrays/Musterloesung | Lösung ]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Verschachtelte_Schleifen | 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;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Verschachtelte Schleifen/Musterloesung|Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Primzahlenaufgabe | Primzahlen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2-5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Geschicktes Einsetzen von Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Primzahlenaufgabe/Musterloesung|Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Wetterstation | Wetterstation]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Wetterstation/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Geometrie | Geometrie]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Volumenberechnung&amp;lt;br&amp;gt;Lesen von Programmargumenten&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Zweierpotenzen | Zweierpotenzen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Zweierpotenzen/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Schleifen_und_Modulo | Schleifen und Modulo]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Verwendung von Schleifen&amp;lt;br&amp;gt;Benutzung des Modulo-Operators&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Schleifen_und_Modulo/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Methoden | Quickies zu Methoden]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Zusammenfassung der Vorlesung&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/MathematischeMethoden | Mathematische Methoden]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schreiben eigener Methoden&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Schaltjahr | Schaltjahr]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schreiben von Methoden&amp;lt;br&amp;gt;Fallunterscheidungen&amp;lt;br&amp;gt;Benutzerinteraktion&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Crack_the_Password | Crack the Password]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2/3. VL&lt;br /&gt;
 | Passwörter knacken ;-)&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Rekursion_vs._Iteration | Rekursion vs. Iteration]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Fehler finden&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Lineare_Funktionen | Lineare Funktionen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Verwendung von Methoden&amp;lt;br&amp;gt;Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Fibonacci | Fibonaccizahlen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Brainfuck | Brainfuck vs Turingmaschine]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Arbeiten mit Arrays&amp;lt;br&amp;gt;Allgemeinwissen :-)&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Gau%C3%9F-Algorithmus | Gauß-Algorithmus]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Arrays und Matrizen&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Zahlenumrechner | Zahlenumrechner]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Arbeiten mit Methoden&amp;lt;br&amp;gt;mathematisches Denken&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Democracy | Der Fehler im System]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Fehler finden&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Quersumme | Spaß mit Quersummen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5 - 7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Benutzung des Modulo-Operators&amp;lt;br&amp;gt;Auslagern von Funktionalität in Methoden&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Appleman | Appleman und Fraktale]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schleifen, Umgang mit Fließkommazahlen&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/DiffusionLimitedAggregation | Diffusion Limited Aggregation]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | 2-dimensionale Arrays, Methoden, Schleifen, Grafische Ausgabe&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Palindrome | Palindrome]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Entwurf von Programmen&amp;lt;br&amp;gt;Parameterübergabe beim Programmaufruf&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/DDDText | DDDText]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 4. VL&lt;br /&gt;
 | Ausgabe von Buchstaben als 3D Buchstaben&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Hangman | Hangman]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Entwurf von Programmen&amp;lt;br&amp;gt;Arbeiten mit Methoden&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/SelectionSort | Selection Sort]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Verstehen von komplexeren Algorithmen&amp;lt;br&amp;gt;Schleifen und Arrays&amp;lt;br&amp;gt;(Hilfs-)Methoden&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Cäsar-Chiffre | Chiffrierung/Dechiffrierung (Cäsar)]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Eigenständiges Problemlösen. &amp;lt;br&amp;gt; Alle Konzepte des Kurses&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Abzaehlspiel | Abzählspiel]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |8&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Analyse von Aufgabenstellungen&amp;lt;br&amp;gt;Entwurf eines komplexen Programms von Grund auf&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Rennschnecke | Schneckenrennen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Objektorientierte Programmierung&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Studentendatenbank | Studentendatenbank]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Vertiefung in objektorientiertes Programmieren&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Kassenbon++ | Erstellen eines Kassenbons mit Kapselung]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Arbeiten mit Klassen&amp;lt;br&amp;gt;Kapselung&amp;lt;br&amp;gt;JavaAPI&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Multiarray| Mehrdimensionale Arrays]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5-9&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Methoden, Schleifen, Arrays&amp;lt;br&amp;gt;Objektorientierung&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Canvas | Virtuelles Canvas mit 3D-Objekten]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Arbeiten mit Methoden&amp;lt;br&amp;gt;mathematisches Denken&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Doom | ASCII DOOM ]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7-10&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Vertiefung in objektorientierte Programmierung&amp;lt;br&amp;gt;Benutzung der Java-API&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Textwordcount | Texte lesen und analysieren]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Eigenständiges Problemlösen &amp;lt;br&amp;gt; Goethe vs. Karl May&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/OOPStateCharts | StateCharts ]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Zustandsdiagramme (StateCharts) und OOP&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/AsciiCraft | ASCII Craft ]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5-10&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1-6. VL&lt;br /&gt;
 | CodeLesen, Zusammenfassung, [http://www.minecraft.net minecraft] in 2D und ASCII&lt;br /&gt;
 | &lt;br /&gt;
 | &amp;lt;nicht anwendbar&amp;gt;&lt;br /&gt;
&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 weden 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;
&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 'bash' eingeben, man sieht dann auch in welchem Verzeichnis man gerade ist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [[Javakurs_2011/Feedback|Feedback zum Kurs 2011]]&lt;br /&gt;
* [[Javakurs_2010/Feedback|Feedback zum Kurs 2010]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Java]]&lt;br /&gt;
[[Kategorie:Java_Aufgaben]]&lt;/div&gt;</summary>
		<author><name>Mario</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Javakurs_2011&amp;diff=15761</id>
		<title>Javakurs 2011</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Javakurs_2011&amp;diff=15761"/>
		<updated>2011-03-14T00:28:03Z</updated>

		<summary type="html">&lt;p&gt;Mario: /* freier Javakurs */ Mein Vortrag verlinkt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
= freier Javakurs =&lt;br /&gt;
[[Bild:Javakurs.PNG|thumb|280px|Javakurs 2011]]&lt;br /&gt;
Auch dieses Jahres bietet die Freitagsrunde wieder einen Javakurs an!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der Kurs findet zwischen dem WiSe10/11 und dem SoSe2011 statt.&amp;lt;br&amp;gt;&lt;br /&gt;
Er richtet sich vor allem an Programmieranfänger, dennoch ist wirklich jeder herzlich willkommen der an Java interessiert ist.&lt;br /&gt;
Wir müssen aber ausdrücklich darauf hinweisen, dass dieser Kurs &amp;lt;strong&amp;gt;nicht&amp;lt;/strong&amp;gt; zur Klausurvorbereitung gedacht ist. Es gibt keine Leistungspunkte, Scheine oder sonstige Nachweise.&lt;br /&gt;
&lt;br /&gt;
Die Vorlesungsräume werden noch bekanntgegeben.&amp;lt;br&amp;gt;&lt;br /&gt;
Die offenen Übungen finden voraussichtlich in den Räumen TEL106 und TEL206 statt. &lt;br /&gt;
&lt;br /&gt;
Der Kurs ist kostenlos, zur besseren Planung wird allerdings um eine unverbindliche &amp;lt;span style=&amp;quot;background-color:yellow;&amp;quot;&amp;gt;[http://anmeldung.freitagsrunde.org/?event=javakurs11 Anmeldung]&amp;lt;/span&amp;gt; gebeten (siehe unten).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;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;
 !Do 17.03.2011 MA004&lt;br /&gt;
 !Fr 18.03.2011 MA004&lt;br /&gt;
 !Mo 21.03.2011  MA005 &lt;br /&gt;
 !Di 22.03.2011 MA005 &lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 |10:00-11:15&lt;br /&gt;
 | bgcolor=&amp;quot;#E8E8E8&amp;quot; | [[Javakurs 2011/VortragTemplate | 01: Hello World]]&lt;br /&gt;
 | bgcolor=&amp;quot;#E8E8E8&amp;quot; | [[Javakurs 2011/VortragTemplate | 03: Methoden]]&lt;br /&gt;
 | bgcolor=&amp;quot;#E8E8E8&amp;quot; | [[Javakurs 2011/VortragTemplate | 04: Von der Aufgabe zum Code]]&lt;br /&gt;
 | bgcolor=&amp;quot;#E8E8E8&amp;quot; | [[Javakurs 2011/Vortrag06 | 06: Vererbung]]&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 |11:30-13:15&lt;br /&gt;
 |Übung&lt;br /&gt;
 |Übung&lt;br /&gt;
 |Übung&lt;br /&gt;
 |Übung&lt;br /&gt;
 |- bgcolor=&amp;quot;#FFFFFF&amp;quot;&lt;br /&gt;
 |13:15-14:15&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;
 |14:15-15:15&lt;br /&gt;
 | [[Javakurs 2011/Vortrag2 | 02: Schleifen und Arrays]]&lt;br /&gt;
 | bgcolor=&amp;quot;#F5F5F5&amp;quot; rowspan=2 | Übung&lt;br /&gt;
 | [[Javakurs 2011/VortragTemplate | 05: Objekte und Kapselung]]&lt;br /&gt;
 | bgcolor=&amp;quot;#F5F5F5&amp;quot; rowspan=2 |Übung&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 |15:30-17:30&lt;br /&gt;
 | Übung&lt;br /&gt;
 | Übung&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1&amp;gt;'''[[Javakurs/Übungsaufgaben | --&amp;gt; Zu den Übungsaufgaben &amp;lt;-- ]]'''&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Anmeldung ==&lt;br /&gt;
Um unverbindlich Anmeldung unter &lt;br /&gt;
[http://anmeldung.freitagsrunde.org/?event=javakurs11 http://anmeldung.freitagsrunde.org] &lt;br /&gt;
wird zur besseren Planbarkeit gebeten, damit niemand auf dem Boden sitzen muss ;)&lt;br /&gt;
&lt;br /&gt;
== Warum teilnehmen? ==&lt;br /&gt;
Der Javakurs richtet sich an Programmieranfänger, die gerne Java lernen möchten. Wir haben uns zum Ziel gesetzt, möglichst gut verständliche und vor allem motivierende Lehre zu machen, weil wir glauben, dass die Uni-Lehre manchmal zu langweilig ist und deshalb viele Studenten unnötigerweise Probleme haben. Lernen sollte Spass machen, nicht anstrengen. Folglich dient der Kurs auch nicht der Vorbereitung auf Tests oder Klausuren.&lt;br /&gt;
&lt;br /&gt;
Hauptsächlich hoffen wir damit den Teilnehmern von MPGI2 einen Kickstart für ihre Vorlesung zu geben, weil es je nach Dozent und Zuhörer manchmal zu schnell und manchmal zu langsam geht. Allerdings steht der Kurs jedem offen!&lt;br /&gt;
&lt;br /&gt;
Wenn du also einfach gerne Java lernen möchtest, dann bist du herzlich eingeladen!&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 Sprache Java quälen. Die Situation hat sich seitdem zwar etwas geändert, aber vielen, gerade Studenten aus Informatik-fremden Studiengängen, ist immer noch die Sprache selbst und nicht die Algorithmen eine Hürde.&lt;br /&gt;
&lt;br /&gt;
Der Kurs wird wie im letzten Jahr komplett von engagierten StudentInnen geplant und durchgeführt. Insgesamt stehen euch in den Übungen zwölf TutorInnen mit Rat und Tat zur Seite, im Schnitt also einer für fünf bis zehn Studierende. Aus den Reihen der TutorInnen rekrutieren sich auch unsere Vortragenden in den Vorlesungen. Inzwischen haben wir einiges an Erfahrung sammeln können, überarbeiten aber jedes Jahr die Vorträge und unterziehen sie einem Peer-Review Prozess. Wir hoffen, dass wir damit eine möglichst hohe Qualität bieten können.&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 weiterführende Lehrveranstaltungen und das Lehrpersonal der Uni da. Er stellt jedoch eine gute Starthilfe dar und hilft vor allem den Studierenden, denen der Umgang mit Programmiersprachen noch ein wenig fremd ist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Es gibt für diesen Kurs keinerlei Scheine oder sonstige Anrechnung.'''&lt;br /&gt;
&lt;br /&gt;
Es gibt auch keinerlei Anwesenheitspflicht. Dementsprechend entspannt ist allerdings auch die Atmosphäre. :)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Teilnahmevoraussetzungen ==&lt;br /&gt;
Der Javakurs ist für Programmieranfänger konzipiert. Was wir allerdings voraussetzen, sind rudimentäre Programmierkenntnisse und Kenntnisse wie man einen Computer bedient. Wir bringen euch weder bei wie ihr eine Datei öffnet oder einen Browser bedient, noch was ein IF/ELSE-Konstrukt ist und wie/wofür man es benutzt.&lt;br /&gt;
&lt;br /&gt;
Die zweite Voraussetzung ist eine Möglichkeit bzw. ein Account um in den Übungsräumen zu arbeiten. Die Übungen finden in den Rechnerräumen des IRB statt. In diese Rechner kann man sich mit einem tubIT- oder IRB-Account einloggen. Wenn du noch keinen tubIT oder IRB-Account hast, bist du vermutlich auch nicht Student an der TU Berlin. Dann ist die einfachste Lösung für dich, deinen eigenen Laptop mitzubringen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Termine &amp;amp; Räume == &lt;br /&gt;
Der Javakurs findet vom 17.3.2011 bis 22.3.2011 statt. Das Wochenende ist natürlich frei.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Steckdosen sind zwar vorhanden, aber bringt bitte ein paar Mehrfachsteckdosen mit, andere freuen sich ;)&lt;br /&gt;
&lt;br /&gt;
== offene Übungen ==&lt;br /&gt;
&lt;br /&gt;
Der praktische Teil des Kurses orientiert sich vor allem daran, was ihr selbst ausprobieren wollt.&amp;lt;br&amp;gt;&lt;br /&gt;
Ihr bestimmt selbst in welchem Schwierigkeitsgrad ihr lernen wollt und wie hoch euer Arbeitspensum ist.&lt;br /&gt;
Die folgenden Übungsaufgaben sind als Vorschläge zu verstehen aus denen ihr auswählen könnt, was und vor allem wieviel ihr davon versuchen wollt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;'''[[Javakurs/Übungsaufgaben | --&amp;gt; Zu den Übungsaufgaben &amp;lt;-- ]]'''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ansprechpartner ==&lt;br /&gt;
Solltet ihr Fragen zu Organisatorischem haben sind wir unter&lt;br /&gt;
&amp;lt;email&amp;gt;javakurs2011@lists.freitagsrunde.org&amp;lt;/email&amp;gt;&lt;br /&gt;
gerne für euch da!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [[Javakurs 2011/Tutorenportal]]&lt;br /&gt;
* [[Javakurs 2011/Feedback]]&lt;br /&gt;
* [[Javakurs 2011/Orga]]&lt;br /&gt;
* [[Javakurs2008| Seiten des Javakurses 2008]]&lt;br /&gt;
* [[Javakurs2009| Seiten des Javakurses 2009]]&lt;br /&gt;
* [[Javakurs2010| Seiten des Javakurses 2010]]&lt;br /&gt;
* [[Javakurs/Übungsaufgaben|Übungsaufgaben]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie: Veranstaltungen der Freitagsrunde]]&lt;/div&gt;</summary>
		<author><name>Mario</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Javakurs_2011/Vortrag06&amp;diff=15760</id>
		<title>Javakurs 2011/Vortrag06</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Javakurs_2011/Vortrag06&amp;diff=15760"/>
		<updated>2011-03-14T00:26:58Z</updated>

		<summary type="html">&lt;p&gt;Mario: Draft added&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Vererbung =&lt;br /&gt;
&lt;br /&gt;
Vortragende: &lt;br /&gt;
* '''mario''' &amp;lt;mario at freitagsrunde.org&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Themen ===&lt;br /&gt;
* Wiederholung Kapselung&lt;br /&gt;
* Vererbung&lt;br /&gt;
** Basisklassen&lt;br /&gt;
** Überschreibung von Methoden&lt;br /&gt;
** super vs. this&lt;br /&gt;
* Object&lt;br /&gt;
** Warum?&lt;br /&gt;
** toString&lt;br /&gt;
** equals&lt;br /&gt;
* Zusammenfassung&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Folien ===&lt;br /&gt;
* [http://docs.freitagsrunde.org/Veranstaltungen/javakurs_2011/vorlesungen/06-Vererbung.pdf Folien (341K)]&lt;br /&gt;
* [http://docs.freitagsrunde.org/Veranstaltungen/javakurs_2011/vorlesungen/06-Vererbung.tar.gz tex + java Code (442K)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Mitschnitt ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- TBD von Thaddäus&lt;br /&gt;
* [[Javakurs_2010/Vortrag01/HQ-Flash|FLASH-Video im Browser in bester 1536x768 Aufloesung anzeigen]]    (&amp;lt;b&amp;gt;1.1 GB&amp;lt;/b&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Downloads: &amp;lt;br&amp;gt;&lt;br /&gt;
* [http://stan.freitagsrunde.org/j0/LE1_ipod.mp4  IPOD-mp4] (174MB)&lt;br /&gt;
* [http://stan.freitagsrunde.org/j0/LE1_HQ.mp4 High Quality] (1.1GB &amp;lt;i&amp;gt;FMP4&amp;lt;/i&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dhflashplayer&amp;gt;filepath=http://stan.freitagsrunde.org/j8/7-4-08-LE1.flv|width=480|height=360&amp;lt;/dhflashplayer&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [http://stan.freitagsrunde.org/j8/7-4-08-LE1_HQ.avi High Quality] (343MB &amp;lt;i&amp;gt;x264&amp;lt;/i&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
[[Javakurs_2010 | zurück zur Hauptseite]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Java]]&lt;/div&gt;</summary>
		<author><name>Mario</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben/OOPStateCharts/Musterloesung&amp;diff=15752</id>
		<title>Javakurs/Übungsaufgaben/OOPStateCharts/Musterloesung</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben/OOPStateCharts/Musterloesung&amp;diff=15752"/>
		<updated>2011-03-11T00:07:49Z</updated>

		<summary type="html">&lt;p&gt;Mario: Die Seite wurde neu angelegt: „Lösung: (kompilierbar in nur einer Datei ...)  &amp;lt;pre&amp;gt; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader;  /**  * Base Cl…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Lösung: (kompilierbar in nur einer Datei ...)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
import java.io.BufferedReader;&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.io.InputStreamReader;&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Base Class for all states&lt;br /&gt;
 */&lt;br /&gt;
class State {&lt;br /&gt;
	// ! returns a new state, if transition is correct&lt;br /&gt;
	public State transition(String signal) {&lt;br /&gt;
		return this;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * First class to be used in this state chart&lt;br /&gt;
 */&lt;br /&gt;
class InitialState extends State {&lt;br /&gt;
	// ! returns a new state, if transition is correct&lt;br /&gt;
	@Override&lt;br /&gt;
	public State transition(String signal) {&lt;br /&gt;
		if (signal.equals(&amp;quot;start&amp;quot;)) {&lt;br /&gt;
			return new StartedState();&lt;br /&gt;
		} else {&lt;br /&gt;
			System.out.println(&amp;quot;!! signal \&amp;quot;&amp;quot; + signal + &amp;quot;\&amp;quot; not found !!&amp;quot;);&lt;br /&gt;
			return this;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * First class to be used in this state chart&lt;br /&gt;
 */&lt;br /&gt;
class StartedState extends State {&lt;br /&gt;
	// ! returns a new state, if transition is correct&lt;br /&gt;
	@Override&lt;br /&gt;
	public State transition(String signal) {&lt;br /&gt;
		if (signal.equals(&amp;quot;end&amp;quot;)) {&lt;br /&gt;
			return new InitialState();&lt;br /&gt;
		} else if (signal.equals(&amp;quot;exit&amp;quot;)) {&lt;br /&gt;
			return null;&lt;br /&gt;
		} else {&lt;br /&gt;
			System.out.println(&amp;quot;!! signal \&amp;quot;&amp;quot; + signal + &amp;quot;\&amp;quot; not found !!&amp;quot;);&lt;br /&gt;
			return this;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Class file starting main loop&lt;br /&gt;
 */&lt;br /&gt;
public class StateCharts {&lt;br /&gt;
	/**&lt;br /&gt;
	 * Main class, creating the state chart&lt;br /&gt;
	 * &lt;br /&gt;
	 * @param args&lt;br /&gt;
	 * @throws IOException&lt;br /&gt;
	 */&lt;br /&gt;
	public static void main(String[] args) throws IOException {&lt;br /&gt;
		// set the state chart to be initial at state initial&lt;br /&gt;
		State current_state = new InitialState();&lt;br /&gt;
&lt;br /&gt;
		// loop through the state till exit is reached&lt;br /&gt;
		while (current_state != null) {&lt;br /&gt;
			// print information about current class&lt;br /&gt;
			System.out.println(&amp;quot;Current state: &amp;quot;&lt;br /&gt;
					+ current_state.getClass().getName());&lt;br /&gt;
&lt;br /&gt;
			// get signal for next state&lt;br /&gt;
			System.out.print(&amp;quot;signal to be send: &amp;quot;);&lt;br /&gt;
			InputStreamReader input = new InputStreamReader(System.in);&lt;br /&gt;
			BufferedReader reader = new BufferedReader(input);&lt;br /&gt;
			String signal = reader.readLine();&lt;br /&gt;
&lt;br /&gt;
			// get next state if needed&lt;br /&gt;
			current_state = current_state.transition(signal);&lt;br /&gt;
			System.out.println();&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		// inform user&lt;br /&gt;
		System.out.println(&amp;quot;StateChart is at end state.&amp;quot;);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mario</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben&amp;diff=15751</id>
		<title>Javakurs/Übungsaufgaben</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben&amp;diff=15751"/>
		<updated>2011-03-11T00:00:31Z</updated>

		<summary type="html">&lt;p&gt;Mario: /* Die Aufgaben */ Statecharts ++&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. Einen kleinen Überblick zu den Schwierigkeitsgraden findet ihr ganz unten auf dieser Seite.&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;
== Die Aufgaben ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; 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;
 !Überprüfer(Status)&lt;br /&gt;
 !Musterlösung&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Von der Console zum HelloWorld | Vom Arbeiten mit der Konsole bis &amp;quot;Hallo Welt&amp;quot;]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Einfaches Arbeiten mit der Kommandozeile &amp;lt;br&amp;gt; Kompilieren und Ausführen von Javacode&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Variablen_und_Zuweisungen | Variablen und Zuweisungen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Deklarieren und definieren von Variablen&amp;lt;br&amp;gt;Grundlegende Regeln der Codeformatierung&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Cowsay | Cowsay oder &amp;quot;Wie macht die Kuh?&amp;quot;]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | etwas mehr Bildschirmausgabe&amp;lt;br&amp;gt;schöne Graphiken&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Kassenbon | Erstellen eines Kassenbons]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Arbeiten mit Variablen&amp;lt;br&amp;gt;Fallunterscheidungen&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Javamenue | Ein eigenes Menü]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Lesen von Benutzereingaben über die Konsole&amp;lt;br&amp;gt;Fallunterscheidungen&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Glücksspiel | Glücksspiel]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Anwenden von Fallunterscheidungen &lt;br /&gt;
 |&lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Arrays | Quickies Arrays]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Verwenden von Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Verschachtelte_Schleifen | 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;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Primzahlenaufgabe | Primzahlen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2-5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Geschicktes Einsetzen von Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Wetterstation | Wetterstation]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Geometrie | Geometrie]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Volumenberechnung&amp;lt;br&amp;gt;Lesen von Programmargumenten&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Zweierpotenzen | Zweierpotenzen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Schleifen_und_Modulo | Schleifen und Modulo]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Verwendung von Schleifen&amp;lt;br&amp;gt;Benutzung des Modulo-Operators&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Methoden | Quickies zu Methoden]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Zusammenfassung der Vorlesung&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/MathematischeMethoden | Mathematische Methoden]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schreiben eigener Methoden&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Schaltjahr | Schaltjahr]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schreiben von Methoden&amp;lt;br&amp;gt;Fallunterscheidungen&amp;lt;br&amp;gt;Benutzerinteraktion&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Crack_the_Password | Crack the Password]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2/3. VL&lt;br /&gt;
 | Passwörter knacken ;-)&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Rekursion_vs._Iteration | Rekursion vs. Iteration]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Fehler finden&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Lineare_Funktionen | Lineare Funktionen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Verwendung von Methoden&amp;lt;br&amp;gt;Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Fibonacci | Fibonaccizahlen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Brainfuck | Brainfuck vs Turingmaschine]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Arbeiten mit Arrays&amp;lt;br&amp;gt;Allgemeinwissen :-)&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Gau%C3%9F-Algorithmus | Gauß-Algorithmus]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Arrays und Matrizen&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Zahlenumrechner | Zahlenumrechner]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Arbeiten mit Methoden&amp;lt;br&amp;gt;mathematisches Denken&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Democracy | Der Fehler im System]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Fehler finden&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Quersumme | Spaß mit Quersummen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5 - 7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Benutzung des Modulo-Operators&amp;lt;br&amp;gt;Auslagern von Funktionalität in Methoden&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Appleman | Appleman und Fraktale]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schleifen, Umgang mit Fließkommazahlen&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/DiffusionLimitedAggregation | Diffusion Limited Aggregation]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | 2-dimensionale Arrays, Methoden, Schleifen, Grafische Ausgabe&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Palindrome | Palindrome]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Entwurf von Programmen&amp;lt;br&amp;gt;Parameterübergabe beim Programmaufruf&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/DDDText | DDDText]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 4. VL&lt;br /&gt;
 | Ausgabe von Buchstaben als 3D Buchstaben&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Hangman | Hangman]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Entwurf von Programmen&amp;lt;br&amp;gt;Arbeiten mit Methoden&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/SelectionSort | Selection Sort]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Verstehen von komplexeren Algorithmen&amp;lt;br&amp;gt;Schleifen und Arrays&amp;lt;br&amp;gt;(Hilfs-)Methoden&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Cäsar-Chiffre | Chiffrierung/Dechiffrierung (Cäsar)]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Eigenständiges Problemlösen. &amp;lt;br&amp;gt; Alle Konzepte des Kurses&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Abzaehlspiel | Abzählspiel]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |8&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Analyse von Aufgabenstellungen&amp;lt;br&amp;gt;Entwurf eines komplexen Programms von Grund auf&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Rennschnecke | Schneckenrennen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Objektorientierte Programmierung&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Studentendatenbank | Studentendatenbank]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Vertiefung in objektorientiertes Programmieren&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Kassenbon++ | Erstellen eines Kassenbons mit Kapselung]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Arbeiten mit Klassen&amp;lt;br&amp;gt;Kapselung&amp;lt;br&amp;gt;JavaAPI&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Multiarray| Mehrdimensionale Arrays]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5-9&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Methoden, Schleifen, Arrays&amp;lt;br&amp;gt;Objektorientierung&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Canvas | Virtuelles Canvas mit 3D-Objekten]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Arbeiten mit Methoden&amp;lt;br&amp;gt;mathematisches Denken&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Doom | ASCII DOOM ]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7-10&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Vertiefung in objektorientierte Programmierung&amp;lt;br&amp;gt;Benutzung der Java-API&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Textwordcount | Texte lesen und analysieren]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Eigenständiges Problemlösen &amp;lt;br&amp;gt; Goethe vs. Karl May&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/OOPStateCharts | StateCharts ]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Zustandsdiagramme (StateCharts) und OOP&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/AsciiCraft | ASCII Craft ]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5-10&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1-6. VL&lt;br /&gt;
 | CodeLesen, Zusammenfassung, [http://www.minecraft.net minecraft] in 2D und ASCII&lt;br /&gt;
 | &lt;br /&gt;
 | &amp;lt;nicht anwendbar&amp;gt;&lt;br /&gt;
&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 weden 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;
&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 'bash' eingeben, man sieht dann auch in welchem Verzeichnis man gerade ist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [[Javakurs_2011/Feedback|Feedback zum Kurs 2011]]&lt;br /&gt;
* [[Javakurs_2010/Feedback|Feedback zum Kurs 2010]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Java]]&lt;br /&gt;
[[Kategorie:Java_Aufgaben]]&lt;/div&gt;</summary>
		<author><name>Mario</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Datei:OOPStatechart.png&amp;diff=15750</id>
		<title>Datei:OOPStatechart.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Datei:OOPStatechart.png&amp;diff=15750"/>
		<updated>2011-03-10T23:55:53Z</updated>

		<summary type="html">&lt;p&gt;Mario: hat eine neue Version von „Datei:OOPStatechart.png“ hochgeladen: Bessere Version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;simples Statechart&lt;/div&gt;</summary>
		<author><name>Mario</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben/OOPStateCharts&amp;diff=15749</id>
		<title>Javakurs/Übungsaufgaben/OOPStateCharts</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben/OOPStateCharts&amp;diff=15749"/>
		<updated>2011-03-10T23:54:29Z</updated>

		<summary type="html">&lt;p&gt;Mario: Statechart aufgabe&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Aufgabenstellung = &lt;br /&gt;
[[Bild:OOPStatechart.png|thumb|Javakurs 2011 - StateChart]].&lt;br /&gt;
Schreibe ein Programm, welches in objekt orientierter Weise, das hier gezeigte Diagramm als [http://de.wikipedia.org/wiki/Zustands%C3%BCbergangsdiagramm StateChart] erzeugt.&lt;br /&gt;
&lt;br /&gt;
= Hilfestellung = &lt;br /&gt;
&lt;br /&gt;
Benutze die folgende Klasse als Basis für alle weiteren Zustände:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;/**&lt;br /&gt;
 * Base Class for all states&lt;br /&gt;
 */&lt;br /&gt;
class State {&lt;br /&gt;
	// ! returns a new state, if transition is correct&lt;br /&gt;
	public State transition(String signal) {&lt;br /&gt;
		return this;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wobei jeder Aufruf von transition entweder das gleiche Objekt (''this'') oder ein neues Objekt zurückliefert, je nach dem, ob ein Statusübergang statt findet, oder nicht. Die ''main''-Methode könnte dann wie folgt aussehen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;/**&lt;br /&gt;
 * Class file starting main loop&lt;br /&gt;
 */&lt;br /&gt;
public class StateCharts {&lt;br /&gt;
	/**&lt;br /&gt;
	 * Main class, creating the state chart&lt;br /&gt;
	 * &lt;br /&gt;
	 * @param args&lt;br /&gt;
	 * @throws IOException&lt;br /&gt;
	 */&lt;br /&gt;
	public static void main(String[] args) throws IOException {&lt;br /&gt;
		// set the state chart to be initial at state initial&lt;br /&gt;
		State current_state = new InitialState();&lt;br /&gt;
&lt;br /&gt;
		// loop through the state till exit is reached&lt;br /&gt;
		while (current_state != null) {&lt;br /&gt;
			// print information about current class&lt;br /&gt;
			System.out.println(&amp;quot;Current state: &amp;quot;&lt;br /&gt;
					+ current_state.getClass().getName());&lt;br /&gt;
&lt;br /&gt;
			// get signal for next state&lt;br /&gt;
			System.out.print(&amp;quot;signal to be send: &amp;quot;);&lt;br /&gt;
			InputStreamReader input = new InputStreamReader(System.in);&lt;br /&gt;
			BufferedReader reader = new BufferedReader(input);&lt;br /&gt;
			String signal = reader.readLine();&lt;br /&gt;
&lt;br /&gt;
			// get next state if needed&lt;br /&gt;
			current_state = current_state.transition(signal);&lt;br /&gt;
			System.out.println();&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		// inform user&lt;br /&gt;
		System.out.println(&amp;quot;StateChart is at end state.&amp;quot;);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mario</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Datei:OOPStatechart.png&amp;diff=15748</id>
		<title>Datei:OOPStatechart.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Datei:OOPStatechart.png&amp;diff=15748"/>
		<updated>2011-03-10T23:48:43Z</updated>

		<summary type="html">&lt;p&gt;Mario: simples Statechart&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;simples Statechart&lt;/div&gt;</summary>
		<author><name>Mario</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben/AsciiCraft&amp;diff=15747</id>
		<title>Javakurs/Übungsaufgaben/AsciiCraft</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben/AsciiCraft&amp;diff=15747"/>
		<updated>2011-03-09T23:37:43Z</updated>

		<summary type="html">&lt;p&gt;Mario: /* Ziel des Spieles */ mehr diamanten .... :-)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Eine Komplexe Aufgabe, die Codelesen vertiefen soll, den Kurs zusammenfasst und einen etwas größeren Umfang als andere Aufgaben bietet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Aufgabe =&lt;br /&gt;
&lt;br /&gt;
Im Folgenden wird Schritt für Schritt erklärt werden, wie das Spiel AsciiCraft, eine Anlehnung an [http://www.minecraft.net/ Minecraft], geschrieben wurde. Ziel ist es in dieser Aufgabe Quellode zu lesen, diesen zu verstehen und diesen durch Erweiterungen an eigene Vorlieben anzupassen. Dazu wirde es keine Konkreten Aufgaben geben, ziel ist es eher euch einen Plattform für eigene Experimente zu geben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
[[Bild:asciicraft.png|thumb|280px|Javakurs 2011 - AsciiCraft]].&lt;br /&gt;
Um das Programm zu verstehen, ist es wichtig, dass man eine Vorstellung bekommt, was es eigentlich tun soll. Daher bietet es sich an, dieses auf seinem Rechner/Account zu installieren. Bitte ladet euch dafür&lt;br /&gt;
das [http://docs.freitagsrunde.org/Veranstaltungen/javakurs_2011/uebungen/Javakurs2011-AsciiCraft.tar.gz Archiv von unserem Server] herunter.&lt;br /&gt;
&lt;br /&gt;
In diesem Archiv (zu entpacken mittels ''tar -xf'', oder per grafischer Oberfläche (Linkklick auf das Archiv)) findet ihr einen Ordner und drei Skripte. Die Skripte sind zum compilieren, ausführen und löschen der Kompilate da und sollten selbsterklärend sein. Der Ordner ''src'' beinhaltet den Quellcode und wird später für uns sehr interessant werden.&lt;br /&gt;
&lt;br /&gt;
Ihr solltet nun das Projekt kompilieren (''./build.sh'') und es dann einmal starten (''./run.sh'', von der Kommandozeile aus).&lt;br /&gt;
&lt;br /&gt;
Nun solltet ihr ein ähnliches Bild wie das hier abgebildete zu sehen sein. &lt;br /&gt;
&lt;br /&gt;
Ist dies nicht der Falls, solltet ihr die Ausgaben kontrollieren und eventuelle Fehler einem Tutor melden. Auch könntet ihr probieren die Kommandozeilen Optionen euch anzusehen: &lt;br /&gt;
 &lt;br /&gt;
 ./run.sh -h&lt;br /&gt;
&lt;br /&gt;
= Ziel des Spieles: ❁ =&lt;br /&gt;
&lt;br /&gt;
Nach dem ihr im letzten Abschnitt erfolgreich das Spiel installiert und kompiliert habt, ist es nun an der Zeit die Aufgabe des Spieles kennen zu lernen: Euer Ziel ist es mit dem kleinen Pfeil (meist in der Mitte der Konsole) den Diamanten aus dem Bergwerk zu fördern. &lt;br /&gt;
&lt;br /&gt;
Dieses Ziel erreicht ihr, in dem ihr mit den Tasten ''A'' und ''D'' euch nach ''links'' oder ''rechts'' bewegt. Da ihr an der Oberfläche den Diamanten nicht finden können wird, müsst ihr mit den folgen Tasten euch in den Berg eingraben:&lt;br /&gt;
&lt;br /&gt;
* ''E'' .. baut das Feld direkt über dem Spieler ab&lt;br /&gt;
* ''R'' .. gräbt das Feld ein Feld über dem das ihr anschaut an.&lt;br /&gt;
* ''F'' .. gräbt in die Richtung in die ihr gerade schaut.&lt;br /&gt;
* ''C'' .. Analog zu ''R'' legt das Feld eins unter dem Feld das ihr anschaut frei.&lt;br /&gt;
* ''X'' .. Gräbt das Feld direkt unter euch ab (''Achtung: Mit Vorsicht zu genießen!!!'')&lt;br /&gt;
&lt;br /&gt;
Damit ihr auch evtl. wieder nach oben gelangen könnt, kann der Spieler mit der Leertaste ('' '') springen, aber nur, wenn dafür genug Platz frei ist.&lt;br /&gt;
&lt;br /&gt;
Die ''Pfeiltasten'' und ''Esc'' sorgen dafür, dass sofort das Programm beendet wird und der GameOver-Bildschirm angezeigt wird.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sobald ihr euch einen Weg zum Diamanten gegraben habt, müsst ihr ihn nur noch ausgraben, um zum Ende des Spieles zu kommen.&lt;br /&gt;
&lt;br /&gt;
= Konzept des Codes =&lt;br /&gt;
&lt;br /&gt;
Um diese Aufgabe erfolgreich und sinnvol zu bearbeiten, ist es am besten, wenn ihr diesen Aufgaben Text parallel zum Code offen lasst, damit ihr schnell zwischen der Beschreibung und dem Code hin und her schalten könnt.&lt;br /&gt;
&lt;br /&gt;
Dieser Code wurde designed, damit er möglichst viele Techniken einsetzt, die ihr schon kennen solltet. Es wurde des Weiteren versucht den Code zu dokumentieren und zu kommentieren. So werdet ihr nicht nur die Vererbeung wiederfinden, sondern auch die Kapselung, Schleifen, Arrays, Ausgabe, Variablen und eigentlich Alles was ihr wissen müsst.&lt;br /&gt;
&lt;br /&gt;
Basisidee ist die der Wiederverwendung. Es wurde versucht alle Klassen die an dem Programm beteiligt sind so zu gestallten, dass sie möglichst leicht auszutauschen sind. So lässt sich ohne großen Aufwand weitere Felder hinzufügen. Doch nun zu den bereits vorhandenen Klassen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Pakete ==&lt;br /&gt;
Die Klassen die an dem Spiel beteiligt sind, findet ihr unter ''src/...'' alle Klassen sind unter dem gleichen Paket gespeichert: ''javakurs2011.asciicraft''. Wobei ein Paket eine Unterteilung von Klassen ist. So ist es möglich, dass es Klassen gibt, die gleich heißen, aber in anderen Paketen definiert wurden. &lt;br /&gt;
&lt;br /&gt;
Eine Klasse markiert man als zu einem Paket gehörend, in dem man es in einen Unterordner der Form ''paket/unterpaket'' steckt. Des Weiteren muss jede Klasse am Anfang seiner .java Datei einen Eintrag wie folgt haben: ''package paket.unterpaket;'', welches dafür sorgt, dass die Klasse auch als zu dem Paket gehörig erkannt wird.  (bitte beachtet, dass der ''/'' in der JavaDatei durch einen Punkt (''.'') ersetzt wurde.) Die Technik der Pakete wird meist in größeren Produktionen eingesetzt und wird euch in eurem weiteren Studium bestimmt noch häufiger begegegen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Abstrakte Klasse ''Tile'' ==&lt;br /&gt;
[[Bild:AsciiCraftTiles.png|thumb|280px|Invisible, Player, Diamond, Coal, Iron und Dirt ''Tile''s]]&lt;br /&gt;
&lt;br /&gt;
Jedes der Felder, die ihr im Spiel seht, ist abgeleitet von der '''abstrakten''' Klasse ''Tile'' (konkret ''AirTile.java  CoalTile.java  DiamondTile.java  DirtTile.java  IronTile.java'', in allen steht bei der Klassendefinition die Zeile ''extends Tile''). Der Sinn dahinter ist, dass ihr in der abstrakten Klasse Methoden angebt, die von allen Unterklassen implementiert werden ''müssen''. Dieser Mechanismus macht es möglich, dass man im Folgenden von der genauen Implementierung der Klasse (bspw. ''IronTile'') abstrahiert und dieses nur noch als ''Tile'' auffasst.&lt;br /&gt;
&lt;br /&gt;
Dies wird etwas deutlicher, wenn man sich vor Augen hält, wie das Spielfeld aussieht: In der Datei ''World.java'' wird in ''Zeile 14'' ein Feld von mehreren Objekten der Klasse ''Tile'' erzeugt. Das bedeutet, dass man in diesem Array alle Unterklassen, also alle Klassen, die von ''Tile'' erben, speichern kann, und alle mindestens die Funktionalitäten von ''Tile'' anbieten. In unserem Fall ist dies noch sehr wenig, da lediglich eine Methode, die ''toString''-Methode, von Tile als zu implementieren gekennzeichnet wurde. Vorstellbar ist aber, dass in einem späteren Zeitpunkt jedes ''Tile'' einen neue Funktionalität haben soll, wie dass beim Abbauen des Tiles eine bestimmte Methode ausgeführt werden soll. Diese Methode könnte zum Beispiel ''mine()'' heißen und könnte dafür sorgen, dass das ''IronTile'' zwei Versuche braucht um abgebaut zu werden.&lt;br /&gt;
&lt;br /&gt;
== Die Welt ==&lt;br /&gt;
Wie bereits im vorherigen Kapitel erwähnt, speichert die Klasse ''World'' alles was zur Spielwelt gehört. Dies ist nicht nur die Größe des Spielfeldes, die Spielfelder selbst, sondern auch den Spieler. Der Spieler ansich ist auch nur ein klügeres ''Tile''. So kann er zwar genau wie anderer ''Tiles'' auch angezeigt werden, siehe ''toString()'', aber er kann auch in der Methode ''simulate()'' sich den aktuellen Gegebenheiten anpassen. So wird gegenwärtig diese Methode dazu genutzt den Spieler auf den Boden fallen zu lassen, sobald er auf einem 'AirTile''-Feld steht. Damit das Programm diese Entscheidung treffen kann, muss es wissen auf welcher Welt er sich befindet, also wird der ''simulate''-Methode die Welt als Parameter mit angegeben.&lt;br /&gt;
&lt;br /&gt;
Dies Welt ist des Weiteren auch für das Anzeigen und Erstellen der neuen Spielwelt zuständig. Anzeigen tut sie, indem sie zuerst durch das Feld der ''Tiles'' geht und jedes aus dem Array heraus nimmt und dessen ''toString()''-Methode implizit aufruft. (vgl. Zeile 154 in World.java, dort wird nicht .toString() benutzt, sondern implizit das Tile in einen String durch addieren des Tiles zu einem String, aufgerufen). Das ganze passiert jedoch nur, falls das Tile überhaupt sichtbar (''.isVisible()'' liefert ''true'') ist. Ist dies nicht der Fall wird lediglich ein graues Viereck angezeigt. Das Tile ist nur dann nicht sichtbar, wenn es bisher noch nicht entdeckt worden ist und unterhalb der Oberfläche liegt.&lt;br /&gt;
&lt;br /&gt;
Dies führt uns zur Erstellung des Spielfeldes. Das Spielfeld wird in der Zeile 48 der Datei ''World.java'' erzeugt. Das Erstellen des Feldes basiert sehr stark auf ''kontrolliertem'' Zufall: So wird in Zeile 50 zunächst das gesamte Spielfeld auf ''Luft'' gesetzt. Dies wird erreicht, indem an jedem Index des Feldes ein neues Element vom Typ ''AirTile'' erstellt wird. Ein Teil dieser Luft-Teile wird im Folgenden durch zufällige ''DirtTiles'' ersetzt. Basis dafür ist dass innerhalb der for-Schleife in Zeile 56 an einer zufälligen Höhe nahe der Hälfte des Spielfeldes für jeden Spalteneintrag neu bestimmt wird, ob das Tile nach oben oder unten plaziert werden soll. Nachdem die Höhe des ''Horizontes'' erstellt wurde, werden alle folgenden Teile auch als ''DirtTiles'' erstellt.&lt;br /&gt;
&lt;br /&gt;
Sobald alle ''DirtTile''s erstellt wurden, werden erneut alle ''DirtTiles'' angefasst (Zeile 72) und zufällig durch entweder ein ''IronTile'' oder ein ''CoalTile'' ersetzt.&lt;br /&gt;
&lt;br /&gt;
Nun sind prinzipiell alle ''normalen'' Tiles erstellt und die Welt ansich ist einsatzbereit. Nun der Spaß des Programmes beginnt dann, wenn man die Welt langsam anfängt zu erforschen. Daher müssen noch alle Tiles auf ''unsichtbar'' gesetzt werden, die nicht direkt an der Oberfläche liegen. Das passiert, in dem für alle Spalten des Feldes gezählt wird, wieviele nicht-''AirTiles'' bereits gefunden wurden. Ist diese Zahl größer als eins, bedeutet dies, dass wir unterhalb der Oberfläche sind, und somit, zumindest initial alle Tiles unsichtbar sind. Diese Annahme gilt nur, wenn wir keine Überhänge in der Oberwelt zulassen.&lt;br /&gt;
&lt;br /&gt;
Nun wird der Diamant plaziert. Dies passiert auch wieder sehr zufällig, indem einfach eine zufällige Position eines ''DirtTile''s gesucht wird, die nahe am unteren Ende des Spielfeldes liegt. &lt;br /&gt;
&lt;br /&gt;
Nach dem Der Diamant gesetzt wurde, wird versucht, den Spieler leicht mittig auf dem Feld zu plazieren, indem nach einem ''AirTile'' in der Mittleren Spalte gesucht wird. Wurde kein Leeres Tile gefunden, so wird es bei der nächsten Spalte weiter probiert. Vorstellen kann man sich dies wie bei dem alten ''VierGewinnt''-Spiel: Der Spieler wird in einer Spalte herein geworfen und geschaut, ob er gleich wieder oben heraus fällt. Ist dies der Fall wird er einfach bei der nächsten Spalte eingeworfen und das ganze nochmal probiert.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Interaktion == &lt;br /&gt;
&lt;br /&gt;
Nachdem nun die Welt erstellt wurde, wir nun wissen wie wir sie anzeigen können, ist das Einzige was noch fehlt die Interaktion mit ihr. Zum Anfang des Programmes wird, wie bereits bekannt, die ''main''-Methode ausgeführt (siehe ''Main.java''). Diese sorgt dafür, dass wir auf dem gesamten Terminal schreiben können. Siehe dazu auch die [http://jline.sourceforge.net/ benutzte Bibliothek ''JLine''], da diese genauer beschreibt wie genau es funkioniert. Nachdem die Bibliothek JLine initialisiert wurde, werden die Variablen von Benutzer eingelesen (Mittels der Kommandozeilen Parameter) und das Spielfeld erstellt. Folgend wird die Hauptschleife, also die, die das gesamte Programm kontrolliert gestartet. Die Idee ist, dass nach dem die Methode ''runMainLoop(..)' zurück gekommen ist, das Programm beendet werden soll. Daher ist der letzte Aufruf der ''main''-Methode ein Reset des Terminals, damit Alles wieder auf seinen initialen Zustand zurück gesetzt wird.&lt;br /&gt;
&lt;br /&gt;
Das eigentlich Spannende passiert in der ''runMainLoopMethode(..)''. Hier werden zunächst einige statistische Variablen erzeugt, die speichern wieviele ''Tile'' von den unterschiedlichen Typen abgetragen worden sind. Nach der Initialisierung dieser Variablen wird die Schleife gestartet, die erst beendet wird, wenn das Spiel beendet werden soll (also, entweder wenn der Diamant gefunden wurde, oder aber sobald eine der Pfeiltasten oder ESC gedrückt wurde.)&lt;br /&gt;
&lt;br /&gt;
Zu Allererst wird die Welt aktualisiert, indem w.simulate() aufgerufen wird. Diese Methode aktualisiert zur Zeit lediglich den Player, aber könnte Theoretisch auch für allgemeinere Situationen benutzt werden. Nachdem die SpielWelt aktualisiert wurde, ist es an der Zeit die Welt anzuzeigen. Nach dem Anzeigen wird ausgewertet, ob der Benutzer einer der Tasten gedrückt hat. Ist dies der Fall, wird geschaut, ob eines der Tile gemined werden soll. Die Überprüfung passiert in der bereits erwähnten ''mine()''-Methode, die das Tile zurück liefert, welches gerade gemined wurde (dabei kann es sich prinzipiell auch um ein ''AirTile'' handeln.) Als nächstes wird diese Tile in der runMainLoop() ausgewertet, und die loop beendet, wenn ein ''DiamondTile'' gefunden wurde. Sonst werden einfach die Zähler der passenden Typen hochgesetzt. Nun beginnt die Schleife wieder von vorne, in dem sie zuerst die Welt aktualisiert, dann sie anzeigt und letztlich erneut die Eingaben des Benutzers auswertet.&lt;br /&gt;
&lt;br /&gt;
Nach dem die Schleife verlassen wurde, wird der ''GameOver''-Bildschirm angezeigt, der die statistischen Variablen ausgibt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Ende =&lt;br /&gt;
[[Bild:asciicraft-score.png|thumb|280px|Javakurs 2011 - AsciiCraft GameOver]].&lt;br /&gt;
&lt;br /&gt;
Damit sind wir auch schon am Ende des kurzen Überblicks über das Spiel angelangt. Jetzt bleibt euch nur zu tun, das ebend gelesene noch mal revue passieren zu lassen und evtl. eigenen Erweiterungen zu schreiben (Wie wäre es zum Beispiel mit einem Mehrspielermodus, oder mit Lava, welche dem Spieler Schaden zufügt). Auch könntet ihr einfach von vorne Anfangen und ein ganz eigenes Spiel schreiben.&lt;/div&gt;</summary>
		<author><name>Mario</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben/AsciiCraft&amp;diff=15746</id>
		<title>Javakurs/Übungsaufgaben/AsciiCraft</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben/AsciiCraft&amp;diff=15746"/>
		<updated>2011-03-09T23:19:38Z</updated>

		<summary type="html">&lt;p&gt;Mario: /* Abstrakte Klasse Tile */ Tiles-Grafik angefügt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Eine Komplexe Aufgabe, die Codelesen vertiefen soll, den Kurs zusammenfasst und einen etwas größeren Umfang als andere Aufgaben bietet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Aufgabe =&lt;br /&gt;
&lt;br /&gt;
Im Folgenden wird Schritt für Schritt erklärt werden, wie das Spiel AsciiCraft, eine Anlehnung an [http://www.minecraft.net/ Minecraft], geschrieben wurde. Ziel ist es in dieser Aufgabe Quellode zu lesen, diesen zu verstehen und diesen durch Erweiterungen an eigene Vorlieben anzupassen. Dazu wirde es keine Konkreten Aufgaben geben, ziel ist es eher euch einen Plattform für eigene Experimente zu geben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
[[Bild:asciicraft.png|thumb|280px|Javakurs 2011 - AsciiCraft]].&lt;br /&gt;
Um das Programm zu verstehen, ist es wichtig, dass man eine Vorstellung bekommt, was es eigentlich tun soll. Daher bietet es sich an, dieses auf seinem Rechner/Account zu installieren. Bitte ladet euch dafür&lt;br /&gt;
das [http://docs.freitagsrunde.org/Veranstaltungen/javakurs_2011/uebungen/Javakurs2011-AsciiCraft.tar.gz Archiv von unserem Server] herunter.&lt;br /&gt;
&lt;br /&gt;
In diesem Archiv (zu entpacken mittels ''tar -xf'', oder per grafischer Oberfläche (Linkklick auf das Archiv)) findet ihr einen Ordner und drei Skripte. Die Skripte sind zum compilieren, ausführen und löschen der Kompilate da und sollten selbsterklärend sein. Der Ordner ''src'' beinhaltet den Quellcode und wird später für uns sehr interessant werden.&lt;br /&gt;
&lt;br /&gt;
Ihr solltet nun das Projekt kompilieren (''./build.sh'') und es dann einmal starten (''./run.sh'', von der Kommandozeile aus).&lt;br /&gt;
&lt;br /&gt;
Nun solltet ihr ein ähnliches Bild wie das hier abgebildete zu sehen sein. &lt;br /&gt;
&lt;br /&gt;
Ist dies nicht der Falls, solltet ihr die Ausgaben kontrollieren und eventuelle Fehler einem Tutor melden. Auch könntet ihr probieren die Kommandozeilen Optionen euch anzusehen: &lt;br /&gt;
 &lt;br /&gt;
 ./run.sh -h&lt;br /&gt;
&lt;br /&gt;
= Ziel des Spieles =&lt;br /&gt;
&lt;br /&gt;
Nach dem ihr im letzten Abschnitt erfolgreich das Spiel installiert und kompiliert habt, ist es nun an der Zeit die Aufgabe des Spieles kennen zu lernen: Euer Ziel ist es mit dem kleinen Pfeil (meist in der Mitte der Konsole) den Diamanten aus dem Bergwerk zu fördern. &lt;br /&gt;
&lt;br /&gt;
Dieses Ziel erreicht ihr, in dem ihr mit den Tasten ''A'' und ''D'' euch nach ''links'' oder ''rechts'' bewegt. Da ihr an der Oberfläche den Diamanten nicht finden können wird, müsst ihr mit den folgen Tasten euch in den Berg eingraben:&lt;br /&gt;
&lt;br /&gt;
* ''E'' .. baut das Feld direkt über dem Spieler ab&lt;br /&gt;
* ''R'' .. gräbt das Feld ein Feld über dem das ihr anschaut an.&lt;br /&gt;
* ''F'' .. gräbt in die Richtung in die ihr gerade schaut.&lt;br /&gt;
* ''C'' .. Analog zu ''R'' legt das Feld eins unter dem Feld das ihr anschaut frei.&lt;br /&gt;
* ''X'' .. Gräbt das Feld direkt unter euch ab (''Achtung: Mit Vorsicht zu genießen!!!'')&lt;br /&gt;
&lt;br /&gt;
Damit ihr auch evtl. wieder nach oben gelangen könnt, kann der Spieler mit der Leertaste ('' '') springen, aber nur, wenn dafür genug Platz frei ist.&lt;br /&gt;
&lt;br /&gt;
Die ''Pfeiltasten'' und ''Esc'' sorgen dafür, dass sofort das Programm beendet wird und der GameOver-Bildschirm angezeigt wird.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sobald ihr euch einen Weg zum Diamanten gegraben habt, müsst ihr ihn nur noch ausgraben, um zum Ende des Spieles zu kommen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Konzept des Codes =&lt;br /&gt;
&lt;br /&gt;
Um diese Aufgabe erfolgreich und sinnvol zu bearbeiten, ist es am besten, wenn ihr diesen Aufgaben Text parallel zum Code offen lasst, damit ihr schnell zwischen der Beschreibung und dem Code hin und her schalten könnt.&lt;br /&gt;
&lt;br /&gt;
Dieser Code wurde designed, damit er möglichst viele Techniken einsetzt, die ihr schon kennen solltet. Es wurde des Weiteren versucht den Code zu dokumentieren und zu kommentieren. So werdet ihr nicht nur die Vererbeung wiederfinden, sondern auch die Kapselung, Schleifen, Arrays, Ausgabe, Variablen und eigentlich Alles was ihr wissen müsst.&lt;br /&gt;
&lt;br /&gt;
Basisidee ist die der Wiederverwendung. Es wurde versucht alle Klassen die an dem Programm beteiligt sind so zu gestallten, dass sie möglichst leicht auszutauschen sind. So lässt sich ohne großen Aufwand weitere Felder hinzufügen. Doch nun zu den bereits vorhandenen Klassen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Pakete ==&lt;br /&gt;
Die Klassen die an dem Spiel beteiligt sind, findet ihr unter ''src/...'' alle Klassen sind unter dem gleichen Paket gespeichert: ''javakurs2011.asciicraft''. Wobei ein Paket eine Unterteilung von Klassen ist. So ist es möglich, dass es Klassen gibt, die gleich heißen, aber in anderen Paketen definiert wurden. &lt;br /&gt;
&lt;br /&gt;
Eine Klasse markiert man als zu einem Paket gehörend, in dem man es in einen Unterordner der Form ''paket/unterpaket'' steckt. Des Weiteren muss jede Klasse am Anfang seiner .java Datei einen Eintrag wie folgt haben: ''package paket.unterpaket;'', welches dafür sorgt, dass die Klasse auch als zu dem Paket gehörig erkannt wird.  (bitte beachtet, dass der ''/'' in der JavaDatei durch einen Punkt (''.'') ersetzt wurde.) Die Technik der Pakete wird meist in größeren Produktionen eingesetzt und wird euch in eurem weiteren Studium bestimmt noch häufiger begegegen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Abstrakte Klasse ''Tile'' ==&lt;br /&gt;
[[Bild:AsciiCraftTiles.png|thumb|280px|Invisible, Player, Diamond, Coal, Iron und Dirt ''Tile''s]]&lt;br /&gt;
&lt;br /&gt;
Jedes der Felder, die ihr im Spiel seht, ist abgeleitet von der '''abstrakten''' Klasse ''Tile'' (konkret ''AirTile.java  CoalTile.java  DiamondTile.java  DirtTile.java  IronTile.java'', in allen steht bei der Klassendefinition die Zeile ''extends Tile''). Der Sinn dahinter ist, dass ihr in der abstrakten Klasse Methoden angebt, die von allen Unterklassen implementiert werden ''müssen''. Dieser Mechanismus macht es möglich, dass man im Folgenden von der genauen Implementierung der Klasse (bspw. ''IronTile'') abstrahiert und dieses nur noch als ''Tile'' auffasst.&lt;br /&gt;
&lt;br /&gt;
Dies wird etwas deutlicher, wenn man sich vor Augen hält, wie das Spielfeld aussieht: In der Datei ''World.java'' wird in ''Zeile 14'' ein Feld von mehreren Objekten der Klasse ''Tile'' erzeugt. Das bedeutet, dass man in diesem Array alle Unterklassen, also alle Klassen, die von ''Tile'' erben, speichern kann, und alle mindestens die Funktionalitäten von ''Tile'' anbieten. In unserem Fall ist dies noch sehr wenig, da lediglich eine Methode, die ''toString''-Methode, von Tile als zu implementieren gekennzeichnet wurde. Vorstellbar ist aber, dass in einem späteren Zeitpunkt jedes ''Tile'' einen neue Funktionalität haben soll, wie dass beim Abbauen des Tiles eine bestimmte Methode ausgeführt werden soll. Diese Methode könnte zum Beispiel ''mine()'' heißen und könnte dafür sorgen, dass das ''IronTile'' zwei Versuche braucht um abgebaut zu werden.&lt;br /&gt;
&lt;br /&gt;
== Die Welt ==&lt;br /&gt;
Wie bereits im vorherigen Kapitel erwähnt, speichert die Klasse ''World'' alles was zur Spielwelt gehört. Dies ist nicht nur die Größe des Spielfeldes, die Spielfelder selbst, sondern auch den Spieler. Der Spieler ansich ist auch nur ein klügeres ''Tile''. So kann er zwar genau wie anderer ''Tiles'' auch angezeigt werden, siehe ''toString()'', aber er kann auch in der Methode ''simulate()'' sich den aktuellen Gegebenheiten anpassen. So wird gegenwärtig diese Methode dazu genutzt den Spieler auf den Boden fallen zu lassen, sobald er auf einem 'AirTile''-Feld steht. Damit das Programm diese Entscheidung treffen kann, muss es wissen auf welcher Welt er sich befindet, also wird der ''simulate''-Methode die Welt als Parameter mit angegeben.&lt;br /&gt;
&lt;br /&gt;
Dies Welt ist des Weiteren auch für das Anzeigen und Erstellen der neuen Spielwelt zuständig. Anzeigen tut sie, indem sie zuerst durch das Feld der ''Tiles'' geht und jedes aus dem Array heraus nimmt und dessen ''toString()''-Methode implizit aufruft. (vgl. Zeile 154 in World.java, dort wird nicht .toString() benutzt, sondern implizit das Tile in einen String durch addieren des Tiles zu einem String, aufgerufen). Das ganze passiert jedoch nur, falls das Tile überhaupt sichtbar (''.isVisible()'' liefert ''true'') ist. Ist dies nicht der Fall wird lediglich ein graues Viereck angezeigt. Das Tile ist nur dann nicht sichtbar, wenn es bisher noch nicht entdeckt worden ist und unterhalb der Oberfläche liegt.&lt;br /&gt;
&lt;br /&gt;
Dies führt uns zur Erstellung des Spielfeldes. Das Spielfeld wird in der Zeile 48 der Datei ''World.java'' erzeugt. Das Erstellen des Feldes basiert sehr stark auf ''kontrolliertem'' Zufall: So wird in Zeile 50 zunächst das gesamte Spielfeld auf ''Luft'' gesetzt. Dies wird erreicht, indem an jedem Index des Feldes ein neues Element vom Typ ''AirTile'' erstellt wird. Ein Teil dieser Luft-Teile wird im Folgenden durch zufällige ''DirtTiles'' ersetzt. Basis dafür ist dass innerhalb der for-Schleife in Zeile 56 an einer zufälligen Höhe nahe der Hälfte des Spielfeldes für jeden Spalteneintrag neu bestimmt wird, ob das Tile nach oben oder unten plaziert werden soll. Nachdem die Höhe des ''Horizontes'' erstellt wurde, werden alle folgenden Teile auch als ''DirtTiles'' erstellt.&lt;br /&gt;
&lt;br /&gt;
Sobald alle ''DirtTile''s erstellt wurden, werden erneut alle ''DirtTiles'' angefasst (Zeile 72) und zufällig durch entweder ein ''IronTile'' oder ein ''CoalTile'' ersetzt.&lt;br /&gt;
&lt;br /&gt;
Nun sind prinzipiell alle ''normalen'' Tiles erstellt und die Welt ansich ist einsatzbereit. Nun der Spaß des Programmes beginnt dann, wenn man die Welt langsam anfängt zu erforschen. Daher müssen noch alle Tiles auf ''unsichtbar'' gesetzt werden, die nicht direkt an der Oberfläche liegen. Das passiert, in dem für alle Spalten des Feldes gezählt wird, wieviele nicht-''AirTiles'' bereits gefunden wurden. Ist diese Zahl größer als eins, bedeutet dies, dass wir unterhalb der Oberfläche sind, und somit, zumindest initial alle Tiles unsichtbar sind. Diese Annahme gilt nur, wenn wir keine Überhänge in der Oberwelt zulassen.&lt;br /&gt;
&lt;br /&gt;
Nun wird der Diamant plaziert. Dies passiert auch wieder sehr zufällig, indem einfach eine zufällige Position eines ''DirtTile''s gesucht wird, die nahe am unteren Ende des Spielfeldes liegt. &lt;br /&gt;
&lt;br /&gt;
Nach dem Der Diamant gesetzt wurde, wird versucht, den Spieler leicht mittig auf dem Feld zu plazieren, indem nach einem ''AirTile'' in der Mittleren Spalte gesucht wird. Wurde kein Leeres Tile gefunden, so wird es bei der nächsten Spalte weiter probiert. Vorstellen kann man sich dies wie bei dem alten ''VierGewinnt''-Spiel: Der Spieler wird in einer Spalte herein geworfen und geschaut, ob er gleich wieder oben heraus fällt. Ist dies der Fall wird er einfach bei der nächsten Spalte eingeworfen und das ganze nochmal probiert.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Interaktion == &lt;br /&gt;
&lt;br /&gt;
Nachdem nun die Welt erstellt wurde, wir nun wissen wie wir sie anzeigen können, ist das Einzige was noch fehlt die Interaktion mit ihr. Zum Anfang des Programmes wird, wie bereits bekannt, die ''main''-Methode ausgeführt (siehe ''Main.java''). Diese sorgt dafür, dass wir auf dem gesamten Terminal schreiben können. Siehe dazu auch die [http://jline.sourceforge.net/ benutzte Bibliothek ''JLine''], da diese genauer beschreibt wie genau es funkioniert. Nachdem die Bibliothek JLine initialisiert wurde, werden die Variablen von Benutzer eingelesen (Mittels der Kommandozeilen Parameter) und das Spielfeld erstellt. Folgend wird die Hauptschleife, also die, die das gesamte Programm kontrolliert gestartet. Die Idee ist, dass nach dem die Methode ''runMainLoop(..)' zurück gekommen ist, das Programm beendet werden soll. Daher ist der letzte Aufruf der ''main''-Methode ein Reset des Terminals, damit Alles wieder auf seinen initialen Zustand zurück gesetzt wird.&lt;br /&gt;
&lt;br /&gt;
Das eigentlich Spannende passiert in der ''runMainLoopMethode(..)''. Hier werden zunächst einige statistische Variablen erzeugt, die speichern wieviele ''Tile'' von den unterschiedlichen Typen abgetragen worden sind. Nach der Initialisierung dieser Variablen wird die Schleife gestartet, die erst beendet wird, wenn das Spiel beendet werden soll (also, entweder wenn der Diamant gefunden wurde, oder aber sobald eine der Pfeiltasten oder ESC gedrückt wurde.)&lt;br /&gt;
&lt;br /&gt;
Zu Allererst wird die Welt aktualisiert, indem w.simulate() aufgerufen wird. Diese Methode aktualisiert zur Zeit lediglich den Player, aber könnte Theoretisch auch für allgemeinere Situationen benutzt werden. Nachdem die SpielWelt aktualisiert wurde, ist es an der Zeit die Welt anzuzeigen. Nach dem Anzeigen wird ausgewertet, ob der Benutzer einer der Tasten gedrückt hat. Ist dies der Fall, wird geschaut, ob eines der Tile gemined werden soll. Die Überprüfung passiert in der bereits erwähnten ''mine()''-Methode, die das Tile zurück liefert, welches gerade gemined wurde (dabei kann es sich prinzipiell auch um ein ''AirTile'' handeln.) Als nächstes wird diese Tile in der runMainLoop() ausgewertet, und die loop beendet, wenn ein ''DiamondTile'' gefunden wurde. Sonst werden einfach die Zähler der passenden Typen hochgesetzt. Nun beginnt die Schleife wieder von vorne, in dem sie zuerst die Welt aktualisiert, dann sie anzeigt und letztlich erneut die Eingaben des Benutzers auswertet.&lt;br /&gt;
&lt;br /&gt;
Nach dem die Schleife verlassen wurde, wird der ''GameOver''-Bildschirm angezeigt, der die statistischen Variablen ausgibt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Ende =&lt;br /&gt;
[[Bild:asciicraft-score.png|thumb|280px|Javakurs 2011 - AsciiCraft GameOver]].&lt;br /&gt;
&lt;br /&gt;
Damit sind wir auch schon am Ende des kurzen Überblicks über das Spiel angelangt. Jetzt bleibt euch nur zu tun, das ebend gelesene noch mal revue passieren zu lassen und evtl. eigenen Erweiterungen zu schreiben (Wie wäre es zum Beispiel mit einem Mehrspielermodus, oder mit Lava, welche dem Spieler Schaden zufügt). Auch könntet ihr einfach von vorne Anfangen und ein ganz eigenes Spiel schreiben.&lt;/div&gt;</summary>
		<author><name>Mario</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Datei:AsciiCraftTiles.png&amp;diff=15745</id>
		<title>Datei:AsciiCraftTiles.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Datei:AsciiCraftTiles.png&amp;diff=15745"/>
		<updated>2011-03-09T23:19:06Z</updated>

		<summary type="html">&lt;p&gt;Mario: Alle Tiles aktuell in AsciiCraft vertreten ...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Alle Tiles aktuell in AsciiCraft vertreten ...&lt;/div&gt;</summary>
		<author><name>Mario</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben/AsciiCraft&amp;diff=15744</id>
		<title>Javakurs/Übungsaufgaben/AsciiCraft</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben/AsciiCraft&amp;diff=15744"/>
		<updated>2011-03-09T23:08:17Z</updated>

		<summary type="html">&lt;p&gt;Mario: /* Ende */  Bild&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Eine Komplexe Aufgabe, die Codelesen vertiefen soll, den Kurs zusammenfasst und einen etwas größeren Umfang als andere Aufgaben bietet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Aufgabe =&lt;br /&gt;
&lt;br /&gt;
Im Folgenden wird Schritt für Schritt erklärt werden, wie das Spiel AsciiCraft, eine Anlehnung an [http://www.minecraft.net/ Minecraft], geschrieben wurde. Ziel ist es in dieser Aufgabe Quellode zu lesen, diesen zu verstehen und diesen durch Erweiterungen an eigene Vorlieben anzupassen. Dazu wirde es keine Konkreten Aufgaben geben, ziel ist es eher euch einen Plattform für eigene Experimente zu geben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
[[Bild:asciicraft.png|thumb|280px|Javakurs 2011 - AsciiCraft]].&lt;br /&gt;
Um das Programm zu verstehen, ist es wichtig, dass man eine Vorstellung bekommt, was es eigentlich tun soll. Daher bietet es sich an, dieses auf seinem Rechner/Account zu installieren. Bitte ladet euch dafür&lt;br /&gt;
das [http://docs.freitagsrunde.org/Veranstaltungen/javakurs_2011/uebungen/Javakurs2011-AsciiCraft.tar.gz Archiv von unserem Server] herunter.&lt;br /&gt;
&lt;br /&gt;
In diesem Archiv (zu entpacken mittels ''tar -xf'', oder per grafischer Oberfläche (Linkklick auf das Archiv)) findet ihr einen Ordner und drei Skripte. Die Skripte sind zum compilieren, ausführen und löschen der Kompilate da und sollten selbsterklärend sein. Der Ordner ''src'' beinhaltet den Quellcode und wird später für uns sehr interessant werden.&lt;br /&gt;
&lt;br /&gt;
Ihr solltet nun das Projekt kompilieren (''./build.sh'') und es dann einmal starten (''./run.sh'', von der Kommandozeile aus).&lt;br /&gt;
&lt;br /&gt;
Nun solltet ihr ein ähnliches Bild wie das hier abgebildete zu sehen sein. &lt;br /&gt;
&lt;br /&gt;
Ist dies nicht der Falls, solltet ihr die Ausgaben kontrollieren und eventuelle Fehler einem Tutor melden. Auch könntet ihr probieren die Kommandozeilen Optionen euch anzusehen: &lt;br /&gt;
 &lt;br /&gt;
 ./run.sh -h&lt;br /&gt;
&lt;br /&gt;
= Ziel des Spieles =&lt;br /&gt;
&lt;br /&gt;
Nach dem ihr im letzten Abschnitt erfolgreich das Spiel installiert und kompiliert habt, ist es nun an der Zeit die Aufgabe des Spieles kennen zu lernen: Euer Ziel ist es mit dem kleinen Pfeil (meist in der Mitte der Konsole) den Diamanten aus dem Bergwerk zu fördern. &lt;br /&gt;
&lt;br /&gt;
Dieses Ziel erreicht ihr, in dem ihr mit den Tasten ''A'' und ''D'' euch nach ''links'' oder ''rechts'' bewegt. Da ihr an der Oberfläche den Diamanten nicht finden können wird, müsst ihr mit den folgen Tasten euch in den Berg eingraben:&lt;br /&gt;
&lt;br /&gt;
* ''E'' .. baut das Feld direkt über dem Spieler ab&lt;br /&gt;
* ''R'' .. gräbt das Feld ein Feld über dem das ihr anschaut an.&lt;br /&gt;
* ''F'' .. gräbt in die Richtung in die ihr gerade schaut.&lt;br /&gt;
* ''C'' .. Analog zu ''R'' legt das Feld eins unter dem Feld das ihr anschaut frei.&lt;br /&gt;
* ''X'' .. Gräbt das Feld direkt unter euch ab (''Achtung: Mit Vorsicht zu genießen!!!'')&lt;br /&gt;
&lt;br /&gt;
Damit ihr auch evtl. wieder nach oben gelangen könnt, kann der Spieler mit der Leertaste ('' '') springen, aber nur, wenn dafür genug Platz frei ist.&lt;br /&gt;
&lt;br /&gt;
Die ''Pfeiltasten'' und ''Esc'' sorgen dafür, dass sofort das Programm beendet wird und der GameOver-Bildschirm angezeigt wird.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sobald ihr euch einen Weg zum Diamanten gegraben habt, müsst ihr ihn nur noch ausgraben, um zum Ende des Spieles zu kommen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Konzept des Codes =&lt;br /&gt;
&lt;br /&gt;
Um diese Aufgabe erfolgreich und sinnvol zu bearbeiten, ist es am besten, wenn ihr diesen Aufgaben Text parallel zum Code offen lasst, damit ihr schnell zwischen der Beschreibung und dem Code hin und her schalten könnt.&lt;br /&gt;
&lt;br /&gt;
Dieser Code wurde designed, damit er möglichst viele Techniken einsetzt, die ihr schon kennen solltet. Es wurde des Weiteren versucht den Code zu dokumentieren und zu kommentieren. So werdet ihr nicht nur die Vererbeung wiederfinden, sondern auch die Kapselung, Schleifen, Arrays, Ausgabe, Variablen und eigentlich Alles was ihr wissen müsst.&lt;br /&gt;
&lt;br /&gt;
Basisidee ist die der Wiederverwendung. Es wurde versucht alle Klassen die an dem Programm beteiligt sind so zu gestallten, dass sie möglichst leicht auszutauschen sind. So lässt sich ohne großen Aufwand weitere Felder hinzufügen. Doch nun zu den bereits vorhandenen Klassen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Pakete ==&lt;br /&gt;
Die Klassen die an dem Spiel beteiligt sind, findet ihr unter ''src/...'' alle Klassen sind unter dem gleichen Paket gespeichert: ''javakurs2011.asciicraft''. Wobei ein Paket eine Unterteilung von Klassen ist. So ist es möglich, dass es Klassen gibt, die gleich heißen, aber in anderen Paketen definiert wurden. &lt;br /&gt;
&lt;br /&gt;
Eine Klasse markiert man als zu einem Paket gehörend, in dem man es in einen Unterordner der Form ''paket/unterpaket'' steckt. Des Weiteren muss jede Klasse am Anfang seiner .java Datei einen Eintrag wie folgt haben: ''package paket.unterpaket;'', welches dafür sorgt, dass die Klasse auch als zu dem Paket gehörig erkannt wird.  (bitte beachtet, dass der ''/'' in der JavaDatei durch einen Punkt (''.'') ersetzt wurde.) Die Technik der Pakete wird meist in größeren Produktionen eingesetzt und wird euch in eurem weiteren Studium bestimmt noch häufiger begegegen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Abstrakte Klasse ''Tile'' ==&lt;br /&gt;
&lt;br /&gt;
Jedes der Felder, die ihr im Spiel seht, ist abgeleitet von der '''abstrakten''' Klasse ''Tile'' (konkret ''AirTile.java  CoalTile.java  DiamondTile.java  DirtTile.java  IronTile.java'', in allen steht bei der Klassendefinition die Zeile ''extends Tile''). Der Sinn dahinter ist, dass ihr in der abstrakten Klasse Methoden angebt, die von allen Unterklassen implementiert werden ''müssen''. Dieser Mechanismus macht es möglich, dass man im Folgenden von der genauen Implementierung der Klasse (bspw. ''IronTile'') abstrahiert und dieses nur noch als ''Tile'' auffasst.&lt;br /&gt;
&lt;br /&gt;
Dies wird etwas deutlicher, wenn man sich vor Augen hält, wie das Spielfeld aussieht: In der Datei ''World.java'' wird in ''Zeile 14'' ein Feld von mehreren Objekten der Klasse ''Tile'' erzeugt. Das bedeutet, dass man in diesem Array alle Unterklassen, also alle Klassen, die von ''Tile'' erben, speichern kann, und alle mindestens die Funktionalitäten von ''Tile'' anbieten. In unserem Fall ist dies noch sehr wenig, da lediglich eine Methode, die ''toString''-Methode, von Tile als zu implementieren gekennzeichnet wurde. Vorstellbar ist aber, dass in einem späteren Zeitpunkt jedes ''Tile'' einen neue Funktionalität haben soll, wie dass beim Abbauen des Tiles eine bestimmte Methode ausgeführt werden soll. Diese Methode könnte zum Beispiel ''mine()'' heißen und könnte dafür sorgen, dass das ''IronTile'' zwei Versuche braucht um abgebaut zu werden. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Die Welt ==&lt;br /&gt;
Wie bereits im vorherigen Kapitel erwähnt, speichert die Klasse ''World'' alles was zur Spielwelt gehört. Dies ist nicht nur die Größe des Spielfeldes, die Spielfelder selbst, sondern auch den Spieler. Der Spieler ansich ist auch nur ein klügeres ''Tile''. So kann er zwar genau wie anderer ''Tiles'' auch angezeigt werden, siehe ''toString()'', aber er kann auch in der Methode ''simulate()'' sich den aktuellen Gegebenheiten anpassen. So wird gegenwärtig diese Methode dazu genutzt den Spieler auf den Boden fallen zu lassen, sobald er auf einem 'AirTile''-Feld steht. Damit das Programm diese Entscheidung treffen kann, muss es wissen auf welcher Welt er sich befindet, also wird der ''simulate''-Methode die Welt als Parameter mit angegeben.&lt;br /&gt;
&lt;br /&gt;
Dies Welt ist des Weiteren auch für das Anzeigen und Erstellen der neuen Spielwelt zuständig. Anzeigen tut sie, indem sie zuerst durch das Feld der ''Tiles'' geht und jedes aus dem Array heraus nimmt und dessen ''toString()''-Methode implizit aufruft. (vgl. Zeile 154 in World.java, dort wird nicht .toString() benutzt, sondern implizit das Tile in einen String durch addieren des Tiles zu einem String, aufgerufen). Das ganze passiert jedoch nur, falls das Tile überhaupt sichtbar (''.isVisible()'' liefert ''true'') ist. Ist dies nicht der Fall wird lediglich ein graues Viereck angezeigt. Das Tile ist nur dann nicht sichtbar, wenn es bisher noch nicht entdeckt worden ist und unterhalb der Oberfläche liegt.&lt;br /&gt;
&lt;br /&gt;
Dies führt uns zur Erstellung des Spielfeldes. Das Spielfeld wird in der Zeile 48 der Datei ''World.java'' erzeugt. Das Erstellen des Feldes basiert sehr stark auf ''kontrolliertem'' Zufall: So wird in Zeile 50 zunächst das gesamte Spielfeld auf ''Luft'' gesetzt. Dies wird erreicht, indem an jedem Index des Feldes ein neues Element vom Typ ''AirTile'' erstellt wird. Ein Teil dieser Luft-Teile wird im Folgenden durch zufällige ''DirtTiles'' ersetzt. Basis dafür ist dass innerhalb der for-Schleife in Zeile 56 an einer zufälligen Höhe nahe der Hälfte des Spielfeldes für jeden Spalteneintrag neu bestimmt wird, ob das Tile nach oben oder unten plaziert werden soll. Nachdem die Höhe des ''Horizontes'' erstellt wurde, werden alle folgenden Teile auch als ''DirtTiles'' erstellt.&lt;br /&gt;
&lt;br /&gt;
Sobald alle ''DirtTile''s erstellt wurden, werden erneut alle ''DirtTiles'' angefasst (Zeile 72) und zufällig durch entweder ein ''IronTile'' oder ein ''CoalTile'' ersetzt.&lt;br /&gt;
&lt;br /&gt;
Nun sind prinzipiell alle ''normalen'' Tiles erstellt und die Welt ansich ist einsatzbereit. Nun der Spaß des Programmes beginnt dann, wenn man die Welt langsam anfängt zu erforschen. Daher müssen noch alle Tiles auf ''unsichtbar'' gesetzt werden, die nicht direkt an der Oberfläche liegen. Das passiert, in dem für alle Spalten des Feldes gezählt wird, wieviele nicht-''AirTiles'' bereits gefunden wurden. Ist diese Zahl größer als eins, bedeutet dies, dass wir unterhalb der Oberfläche sind, und somit, zumindest initial alle Tiles unsichtbar sind. Diese Annahme gilt nur, wenn wir keine Überhänge in der Oberwelt zulassen.&lt;br /&gt;
&lt;br /&gt;
Nun wird der Diamant plaziert. Dies passiert auch wieder sehr zufällig, indem einfach eine zufällige Position eines ''DirtTile''s gesucht wird, die nahe am unteren Ende des Spielfeldes liegt. &lt;br /&gt;
&lt;br /&gt;
Nach dem Der Diamant gesetzt wurde, wird versucht, den Spieler leicht mittig auf dem Feld zu plazieren, indem nach einem ''AirTile'' in der Mittleren Spalte gesucht wird. Wurde kein Leeres Tile gefunden, so wird es bei der nächsten Spalte weiter probiert. Vorstellen kann man sich dies wie bei dem alten ''VierGewinnt''-Spiel: Der Spieler wird in einer Spalte herein geworfen und geschaut, ob er gleich wieder oben heraus fällt. Ist dies der Fall wird er einfach bei der nächsten Spalte eingeworfen und das ganze nochmal probiert.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Interaktion == &lt;br /&gt;
&lt;br /&gt;
Nachdem nun die Welt erstellt wurde, wir nun wissen wie wir sie anzeigen können, ist das Einzige was noch fehlt die Interaktion mit ihr. Zum Anfang des Programmes wird, wie bereits bekannt, die ''main''-Methode ausgeführt (siehe ''Main.java''). Diese sorgt dafür, dass wir auf dem gesamten Terminal schreiben können. Siehe dazu auch die [http://jline.sourceforge.net/ benutzte Bibliothek ''JLine''], da diese genauer beschreibt wie genau es funkioniert. Nachdem die Bibliothek JLine initialisiert wurde, werden die Variablen von Benutzer eingelesen (Mittels der Kommandozeilen Parameter) und das Spielfeld erstellt. Folgend wird die Hauptschleife, also die, die das gesamte Programm kontrolliert gestartet. Die Idee ist, dass nach dem die Methode ''runMainLoop(..)' zurück gekommen ist, das Programm beendet werden soll. Daher ist der letzte Aufruf der ''main''-Methode ein Reset des Terminals, damit Alles wieder auf seinen initialen Zustand zurück gesetzt wird.&lt;br /&gt;
&lt;br /&gt;
Das eigentlich Spannende passiert in der ''runMainLoopMethode(..)''. Hier werden zunächst einige statistische Variablen erzeugt, die speichern wieviele ''Tile'' von den unterschiedlichen Typen abgetragen worden sind. Nach der Initialisierung dieser Variablen wird die Schleife gestartet, die erst beendet wird, wenn das Spiel beendet werden soll (also, entweder wenn der Diamant gefunden wurde, oder aber sobald eine der Pfeiltasten oder ESC gedrückt wurde.)&lt;br /&gt;
&lt;br /&gt;
Zu Allererst wird die Welt aktualisiert, indem w.simulate() aufgerufen wird. Diese Methode aktualisiert zur Zeit lediglich den Player, aber könnte Theoretisch auch für allgemeinere Situationen benutzt werden. Nachdem die SpielWelt aktualisiert wurde, ist es an der Zeit die Welt anzuzeigen. Nach dem Anzeigen wird ausgewertet, ob der Benutzer einer der Tasten gedrückt hat. Ist dies der Fall, wird geschaut, ob eines der Tile gemined werden soll. Die Überprüfung passiert in der bereits erwähnten ''mine()''-Methode, die das Tile zurück liefert, welches gerade gemined wurde (dabei kann es sich prinzipiell auch um ein ''AirTile'' handeln.) Als nächstes wird diese Tile in der runMainLoop() ausgewertet, und die loop beendet, wenn ein ''DiamondTile'' gefunden wurde. Sonst werden einfach die Zähler der passenden Typen hochgesetzt. Nun beginnt die Schleife wieder von vorne, in dem sie zuerst die Welt aktualisiert, dann sie anzeigt und letztlich erneut die Eingaben des Benutzers auswertet.&lt;br /&gt;
&lt;br /&gt;
Nach dem die Schleife verlassen wurde, wird der ''GameOver''-Bildschirm angezeigt, der die statistischen Variablen ausgibt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Ende =&lt;br /&gt;
[[Bild:asciicraft-score.png|thumb|280px|Javakurs 2011 - AsciiCraft GameOver]].&lt;br /&gt;
&lt;br /&gt;
Damit sind wir auch schon am Ende des kurzen Überblicks über das Spiel angelangt. Jetzt bleibt euch nur zu tun, das ebend gelesene noch mal revue passieren zu lassen und evtl. eigenen Erweiterungen zu schreiben (Wie wäre es zum Beispiel mit einem Mehrspielermodus, oder mit Lava, welche dem Spieler Schaden zufügt). Auch könntet ihr einfach von vorne Anfangen und ein ganz eigenes Spiel schreiben.&lt;/div&gt;</summary>
		<author><name>Mario</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Datei:Asciicraft-score.png&amp;diff=15743</id>
		<title>Datei:Asciicraft-score.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Datei:Asciicraft-score.png&amp;diff=15743"/>
		<updated>2011-03-09T23:07:54Z</updated>

		<summary type="html">&lt;p&gt;Mario: GameOverScreen von AsciiCraft (Kein Diamanten gefunden ;-( )&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;GameOverScreen von AsciiCraft (Kein Diamanten gefunden ;-( )&lt;/div&gt;</summary>
		<author><name>Mario</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben&amp;diff=15742</id>
		<title>Javakurs/Übungsaufgaben</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben&amp;diff=15742"/>
		<updated>2011-03-09T23:04:45Z</updated>

		<summary type="html">&lt;p&gt;Mario: /* Die Aufgaben */ Minecraft angefügt&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. Einen kleinen Überblick zu den Schwierigkeitsgraden findet ihr ganz unten auf dieser Seite.&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;
== Die Aufgaben ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; 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;
 !Überprüfer(Status)&lt;br /&gt;
 !Musterlösung&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Von der Console zum HelloWorld | Vom Arbeiten mit der Konsole bis &amp;quot;Hallo Welt&amp;quot;]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Einfaches Arbeiten mit der Kommandozeile &amp;lt;br&amp;gt; Kompilieren und Ausführen von Javacode&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Variablen_und_Zuweisungen | Variablen und Zuweisungen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Deklarieren und definieren von Variablen&amp;lt;br&amp;gt;Grundlegende Regeln der Codeformatierung&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Cowsay | Cowsay oder &amp;quot;Wie macht die Kuh?&amp;quot;]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | etwas mehr Bildschirmausgabe&amp;lt;br&amp;gt;schöne Graphiken&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Kassenbon | Erstellen eines Kassenbons]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Arbeiten mit Variablen&amp;lt;br&amp;gt;Fallunterscheidungen&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Javamenue | Ein eigenes Menü]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Lesen von Benutzereingaben über die Konsole&amp;lt;br&amp;gt;Fallunterscheidungen&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Glücksspiel | Glücksspiel]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Anwenden von Fallunterscheidungen &lt;br /&gt;
 |&lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Arrays | Quickies Arrays]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Verwenden von Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Verschachtelte_Schleifen | 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;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Primzahlenaufgabe | Primzahlen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2-5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Geschicktes Einsetzen von Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Wetterstation | Wetterstation]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Geometrie | Geometrie]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Volumenberechnung&amp;lt;br&amp;gt;Lesen von Programmargumenten&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Zweierpotenzen | Zweierpotenzen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Schleifen_und_Modulo | Schleifen und Modulo]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Verwendung von Schleifen&amp;lt;br&amp;gt;Benutzung des Modulo-Operators&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Methoden | Quickies zu Methoden]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Zusammenfassung der Vorlesung&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/MathematischeMethoden | Mathematische Methoden]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schreiben eigener Methoden&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Schaltjahr | Schaltjahr]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schreiben von Methoden&amp;lt;br&amp;gt;Fallunterscheidungen&amp;lt;br&amp;gt;Benutzerinteraktion&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Crack_the_Password | Crack the Password]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2/3. VL&lt;br /&gt;
 | Passwörter knacken ;-)&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Rekursion_vs._Iteration | Rekursion vs. Iteration]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Fehler finden&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Lineare_Funktionen | Lineare Funktionen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Verwendung von Methoden&amp;lt;br&amp;gt;Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Fibonacci | Fibonaccizahlen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Brainfuck | Brainfuck vs Turingmaschine]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Arbeiten mit Arrays&amp;lt;br&amp;gt;Allgemeinwissen :-)&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Gau%C3%9F-Algorithmus | Gauß-Algorithmus]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Arrays und Matrizen&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Zahlenumrechner | Zahlenumrechner]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Arbeiten mit Methoden&amp;lt;br&amp;gt;mathematisches Denken&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Democracy | Der Fehler im System]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Fehler finden&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Quersumme | Spaß mit Quersummen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5 - 7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Benutzung des Modulo-Operators&amp;lt;br&amp;gt;Auslagern von Funktionalität in Methoden&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Appleman | Appleman und Fraktale]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schleifen, Umgang mit Fließkommazahlen&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/DiffusionLimitedAggregation | Diffusion Limited Aggregation]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | 2-dimensionale Arrays, Methoden, Schleifen, Grafische Ausgabe&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Palindrome | Palindrome]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Entwurf von Programmen&amp;lt;br&amp;gt;Parameterübergabe beim Programmaufruf&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/DDDText | DDDText]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 4. VL&lt;br /&gt;
 | Ausgabe von Buchstaben als 3D Buchstaben&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Hangman | Hangman]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Entwurf von Programmen&amp;lt;br&amp;gt;Arbeiten mit Methoden&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/SelectionSort | Selection Sort]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Verstehen von komplexeren Algorithmen&amp;lt;br&amp;gt;Schleifen und Arrays&amp;lt;br&amp;gt;(Hilfs-)Methoden&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Cäsar-Chiffre | Chiffrierung/Dechiffrierung (Cäsar)]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Eigenständiges Problemlösen. &amp;lt;br&amp;gt; Alle Konzepte des Kurses&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Abzaehlspiel | Abzählspiel]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |8&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Analyse von Aufgabenstellungen&amp;lt;br&amp;gt;Entwurf eines komplexen Programms von Grund auf&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Rennschnecke | Schneckenrennen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Objektorientierte Programmierung&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Studentendatenbank | Studentendatenbank]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Vertiefung in objektorientiertes Programmieren&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Kassenbon++ | Erstellen eines Kassenbons mit Kapselung]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Arbeiten mit Klassen&amp;lt;br&amp;gt;Kapselung&amp;lt;br&amp;gt;JavaAPI&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Multiarray| Mehrdimensionale Arrays]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5-9&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Methoden, Schleifen, Arrays&amp;lt;br&amp;gt;Objektorientierung&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Canvas | Virtuelles Canvas mit 3D-Objekten]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Arbeiten mit Methoden&amp;lt;br&amp;gt;mathematisches Denken&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Doom | ASCII DOOM ]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7-10&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Vertiefung in objektorientierte Programmierung&amp;lt;br&amp;gt;Benutzung der Java-API&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Textwordcount | Texte lesen und analysieren]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Eigenständiges Problemlösen &amp;lt;br&amp;gt; Goethe vs. Karl May&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/AsciiCraft | ASCII Craft ]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5-10&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1-6. VL&lt;br /&gt;
 | CodeLesen, Zusammenfassung, [http://www.minecraft.net minecraft] in 2D und ASCII&lt;br /&gt;
 | &lt;br /&gt;
 | &amp;lt;nicht anwendbar&amp;gt;&lt;br /&gt;
&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 weden 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;
&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 'bash' eingeben, man sieht dann auch in welchem Verzeichnis man gerade ist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [[Javakurs_2011/Feedback|Feedback zum Kurs 2011]]&lt;br /&gt;
* [[Javakurs_2010/Feedback|Feedback zum Kurs 2010]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Java]]&lt;br /&gt;
[[Kategorie:Java_Aufgaben]]&lt;/div&gt;</summary>
		<author><name>Mario</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben/AsciiCraft&amp;diff=15741</id>
		<title>Javakurs/Übungsaufgaben/AsciiCraft</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben/AsciiCraft&amp;diff=15741"/>
		<updated>2011-03-09T23:00:36Z</updated>

		<summary type="html">&lt;p&gt;Mario: /* Installation */ bild besser plaziert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Eine Komplexe Aufgabe, die Codelesen vertiefen soll, den Kurs zusammenfasst und einen etwas größeren Umfang als andere Aufgaben bietet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Aufgabe =&lt;br /&gt;
&lt;br /&gt;
Im Folgenden wird Schritt für Schritt erklärt werden, wie das Spiel AsciiCraft, eine Anlehnung an [http://www.minecraft.net/ Minecraft], geschrieben wurde. Ziel ist es in dieser Aufgabe Quellode zu lesen, diesen zu verstehen und diesen durch Erweiterungen an eigene Vorlieben anzupassen. Dazu wirde es keine Konkreten Aufgaben geben, ziel ist es eher euch einen Plattform für eigene Experimente zu geben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
[[Bild:asciicraft.png|thumb|280px|Javakurs 2011 - AsciiCraft]].&lt;br /&gt;
Um das Programm zu verstehen, ist es wichtig, dass man eine Vorstellung bekommt, was es eigentlich tun soll. Daher bietet es sich an, dieses auf seinem Rechner/Account zu installieren. Bitte ladet euch dafür&lt;br /&gt;
das [http://docs.freitagsrunde.org/Veranstaltungen/javakurs_2011/uebungen/Javakurs2011-AsciiCraft.tar.gz Archiv von unserem Server] herunter.&lt;br /&gt;
&lt;br /&gt;
In diesem Archiv (zu entpacken mittels ''tar -xf'', oder per grafischer Oberfläche (Linkklick auf das Archiv)) findet ihr einen Ordner und drei Skripte. Die Skripte sind zum compilieren, ausführen und löschen der Kompilate da und sollten selbsterklärend sein. Der Ordner ''src'' beinhaltet den Quellcode und wird später für uns sehr interessant werden.&lt;br /&gt;
&lt;br /&gt;
Ihr solltet nun das Projekt kompilieren (''./build.sh'') und es dann einmal starten (''./run.sh'', von der Kommandozeile aus).&lt;br /&gt;
&lt;br /&gt;
Nun solltet ihr ein ähnliches Bild wie das hier abgebildete zu sehen sein. &lt;br /&gt;
&lt;br /&gt;
Ist dies nicht der Falls, solltet ihr die Ausgaben kontrollieren und eventuelle Fehler einem Tutor melden. Auch könntet ihr probieren die Kommandozeilen Optionen euch anzusehen: &lt;br /&gt;
 &lt;br /&gt;
 ./run.sh -h&lt;br /&gt;
&lt;br /&gt;
= Ziel des Spieles =&lt;br /&gt;
&lt;br /&gt;
Nach dem ihr im letzten Abschnitt erfolgreich das Spiel installiert und kompiliert habt, ist es nun an der Zeit die Aufgabe des Spieles kennen zu lernen: Euer Ziel ist es mit dem kleinen Pfeil (meist in der Mitte der Konsole) den Diamanten aus dem Bergwerk zu fördern. &lt;br /&gt;
&lt;br /&gt;
Dieses Ziel erreicht ihr, in dem ihr mit den Tasten ''A'' und ''D'' euch nach ''links'' oder ''rechts'' bewegt. Da ihr an der Oberfläche den Diamanten nicht finden können wird, müsst ihr mit den folgen Tasten euch in den Berg eingraben:&lt;br /&gt;
&lt;br /&gt;
* ''E'' .. baut das Feld direkt über dem Spieler ab&lt;br /&gt;
* ''R'' .. gräbt das Feld ein Feld über dem das ihr anschaut an.&lt;br /&gt;
* ''F'' .. gräbt in die Richtung in die ihr gerade schaut.&lt;br /&gt;
* ''C'' .. Analog zu ''R'' legt das Feld eins unter dem Feld das ihr anschaut frei.&lt;br /&gt;
* ''X'' .. Gräbt das Feld direkt unter euch ab (''Achtung: Mit Vorsicht zu genießen!!!'')&lt;br /&gt;
&lt;br /&gt;
Damit ihr auch evtl. wieder nach oben gelangen könnt, kann der Spieler mit der Leertaste ('' '') springen, aber nur, wenn dafür genug Platz frei ist.&lt;br /&gt;
&lt;br /&gt;
Die ''Pfeiltasten'' und ''Esc'' sorgen dafür, dass sofort das Programm beendet wird und der GameOver-Bildschirm angezeigt wird.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sobald ihr euch einen Weg zum Diamanten gegraben habt, müsst ihr ihn nur noch ausgraben, um zum Ende des Spieles zu kommen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Konzept des Codes =&lt;br /&gt;
&lt;br /&gt;
Um diese Aufgabe erfolgreich und sinnvol zu bearbeiten, ist es am besten, wenn ihr diesen Aufgaben Text parallel zum Code offen lasst, damit ihr schnell zwischen der Beschreibung und dem Code hin und her schalten könnt.&lt;br /&gt;
&lt;br /&gt;
Dieser Code wurde designed, damit er möglichst viele Techniken einsetzt, die ihr schon kennen solltet. Es wurde des Weiteren versucht den Code zu dokumentieren und zu kommentieren. So werdet ihr nicht nur die Vererbeung wiederfinden, sondern auch die Kapselung, Schleifen, Arrays, Ausgabe, Variablen und eigentlich Alles was ihr wissen müsst.&lt;br /&gt;
&lt;br /&gt;
Basisidee ist die der Wiederverwendung. Es wurde versucht alle Klassen die an dem Programm beteiligt sind so zu gestallten, dass sie möglichst leicht auszutauschen sind. So lässt sich ohne großen Aufwand weitere Felder hinzufügen. Doch nun zu den bereits vorhandenen Klassen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Pakete ==&lt;br /&gt;
Die Klassen die an dem Spiel beteiligt sind, findet ihr unter ''src/...'' alle Klassen sind unter dem gleichen Paket gespeichert: ''javakurs2011.asciicraft''. Wobei ein Paket eine Unterteilung von Klassen ist. So ist es möglich, dass es Klassen gibt, die gleich heißen, aber in anderen Paketen definiert wurden. &lt;br /&gt;
&lt;br /&gt;
Eine Klasse markiert man als zu einem Paket gehörend, in dem man es in einen Unterordner der Form ''paket/unterpaket'' steckt. Des Weiteren muss jede Klasse am Anfang seiner .java Datei einen Eintrag wie folgt haben: ''package paket.unterpaket;'', welches dafür sorgt, dass die Klasse auch als zu dem Paket gehörig erkannt wird.  (bitte beachtet, dass der ''/'' in der JavaDatei durch einen Punkt (''.'') ersetzt wurde.) Die Technik der Pakete wird meist in größeren Produktionen eingesetzt und wird euch in eurem weiteren Studium bestimmt noch häufiger begegegen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Abstrakte Klasse ''Tile'' ==&lt;br /&gt;
&lt;br /&gt;
Jedes der Felder, die ihr im Spiel seht, ist abgeleitet von der '''abstrakten''' Klasse ''Tile'' (konkret ''AirTile.java  CoalTile.java  DiamondTile.java  DirtTile.java  IronTile.java'', in allen steht bei der Klassendefinition die Zeile ''extends Tile''). Der Sinn dahinter ist, dass ihr in der abstrakten Klasse Methoden angebt, die von allen Unterklassen implementiert werden ''müssen''. Dieser Mechanismus macht es möglich, dass man im Folgenden von der genauen Implementierung der Klasse (bspw. ''IronTile'') abstrahiert und dieses nur noch als ''Tile'' auffasst.&lt;br /&gt;
&lt;br /&gt;
Dies wird etwas deutlicher, wenn man sich vor Augen hält, wie das Spielfeld aussieht: In der Datei ''World.java'' wird in ''Zeile 14'' ein Feld von mehreren Objekten der Klasse ''Tile'' erzeugt. Das bedeutet, dass man in diesem Array alle Unterklassen, also alle Klassen, die von ''Tile'' erben, speichern kann, und alle mindestens die Funktionalitäten von ''Tile'' anbieten. In unserem Fall ist dies noch sehr wenig, da lediglich eine Methode, die ''toString''-Methode, von Tile als zu implementieren gekennzeichnet wurde. Vorstellbar ist aber, dass in einem späteren Zeitpunkt jedes ''Tile'' einen neue Funktionalität haben soll, wie dass beim Abbauen des Tiles eine bestimmte Methode ausgeführt werden soll. Diese Methode könnte zum Beispiel ''mine()'' heißen und könnte dafür sorgen, dass das ''IronTile'' zwei Versuche braucht um abgebaut zu werden. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Die Welt ==&lt;br /&gt;
Wie bereits im vorherigen Kapitel erwähnt, speichert die Klasse ''World'' alles was zur Spielwelt gehört. Dies ist nicht nur die Größe des Spielfeldes, die Spielfelder selbst, sondern auch den Spieler. Der Spieler ansich ist auch nur ein klügeres ''Tile''. So kann er zwar genau wie anderer ''Tiles'' auch angezeigt werden, siehe ''toString()'', aber er kann auch in der Methode ''simulate()'' sich den aktuellen Gegebenheiten anpassen. So wird gegenwärtig diese Methode dazu genutzt den Spieler auf den Boden fallen zu lassen, sobald er auf einem 'AirTile''-Feld steht. Damit das Programm diese Entscheidung treffen kann, muss es wissen auf welcher Welt er sich befindet, also wird der ''simulate''-Methode die Welt als Parameter mit angegeben.&lt;br /&gt;
&lt;br /&gt;
Dies Welt ist des Weiteren auch für das Anzeigen und Erstellen der neuen Spielwelt zuständig. Anzeigen tut sie, indem sie zuerst durch das Feld der ''Tiles'' geht und jedes aus dem Array heraus nimmt und dessen ''toString()''-Methode implizit aufruft. (vgl. Zeile 154 in World.java, dort wird nicht .toString() benutzt, sondern implizit das Tile in einen String durch addieren des Tiles zu einem String, aufgerufen). Das ganze passiert jedoch nur, falls das Tile überhaupt sichtbar (''.isVisible()'' liefert ''true'') ist. Ist dies nicht der Fall wird lediglich ein graues Viereck angezeigt. Das Tile ist nur dann nicht sichtbar, wenn es bisher noch nicht entdeckt worden ist und unterhalb der Oberfläche liegt.&lt;br /&gt;
&lt;br /&gt;
Dies führt uns zur Erstellung des Spielfeldes. Das Spielfeld wird in der Zeile 48 der Datei ''World.java'' erzeugt. Das Erstellen des Feldes basiert sehr stark auf ''kontrolliertem'' Zufall: So wird in Zeile 50 zunächst das gesamte Spielfeld auf ''Luft'' gesetzt. Dies wird erreicht, indem an jedem Index des Feldes ein neues Element vom Typ ''AirTile'' erstellt wird. Ein Teil dieser Luft-Teile wird im Folgenden durch zufällige ''DirtTiles'' ersetzt. Basis dafür ist dass innerhalb der for-Schleife in Zeile 56 an einer zufälligen Höhe nahe der Hälfte des Spielfeldes für jeden Spalteneintrag neu bestimmt wird, ob das Tile nach oben oder unten plaziert werden soll. Nachdem die Höhe des ''Horizontes'' erstellt wurde, werden alle folgenden Teile auch als ''DirtTiles'' erstellt.&lt;br /&gt;
&lt;br /&gt;
Sobald alle ''DirtTile''s erstellt wurden, werden erneut alle ''DirtTiles'' angefasst (Zeile 72) und zufällig durch entweder ein ''IronTile'' oder ein ''CoalTile'' ersetzt.&lt;br /&gt;
&lt;br /&gt;
Nun sind prinzipiell alle ''normalen'' Tiles erstellt und die Welt ansich ist einsatzbereit. Nun der Spaß des Programmes beginnt dann, wenn man die Welt langsam anfängt zu erforschen. Daher müssen noch alle Tiles auf ''unsichtbar'' gesetzt werden, die nicht direkt an der Oberfläche liegen. Das passiert, in dem für alle Spalten des Feldes gezählt wird, wieviele nicht-''AirTiles'' bereits gefunden wurden. Ist diese Zahl größer als eins, bedeutet dies, dass wir unterhalb der Oberfläche sind, und somit, zumindest initial alle Tiles unsichtbar sind. Diese Annahme gilt nur, wenn wir keine Überhänge in der Oberwelt zulassen.&lt;br /&gt;
&lt;br /&gt;
Nun wird der Diamant plaziert. Dies passiert auch wieder sehr zufällig, indem einfach eine zufällige Position eines ''DirtTile''s gesucht wird, die nahe am unteren Ende des Spielfeldes liegt. &lt;br /&gt;
&lt;br /&gt;
Nach dem Der Diamant gesetzt wurde, wird versucht, den Spieler leicht mittig auf dem Feld zu plazieren, indem nach einem ''AirTile'' in der Mittleren Spalte gesucht wird. Wurde kein Leeres Tile gefunden, so wird es bei der nächsten Spalte weiter probiert. Vorstellen kann man sich dies wie bei dem alten ''VierGewinnt''-Spiel: Der Spieler wird in einer Spalte herein geworfen und geschaut, ob er gleich wieder oben heraus fällt. Ist dies der Fall wird er einfach bei der nächsten Spalte eingeworfen und das ganze nochmal probiert.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Interaktion == &lt;br /&gt;
&lt;br /&gt;
Nachdem nun die Welt erstellt wurde, wir nun wissen wie wir sie anzeigen können, ist das Einzige was noch fehlt die Interaktion mit ihr. Zum Anfang des Programmes wird, wie bereits bekannt, die ''main''-Methode ausgeführt (siehe ''Main.java''). Diese sorgt dafür, dass wir auf dem gesamten Terminal schreiben können. Siehe dazu auch die [http://jline.sourceforge.net/ benutzte Bibliothek ''JLine''], da diese genauer beschreibt wie genau es funkioniert. Nachdem die Bibliothek JLine initialisiert wurde, werden die Variablen von Benutzer eingelesen (Mittels der Kommandozeilen Parameter) und das Spielfeld erstellt. Folgend wird die Hauptschleife, also die, die das gesamte Programm kontrolliert gestartet. Die Idee ist, dass nach dem die Methode ''runMainLoop(..)' zurück gekommen ist, das Programm beendet werden soll. Daher ist der letzte Aufruf der ''main''-Methode ein Reset des Terminals, damit Alles wieder auf seinen initialen Zustand zurück gesetzt wird.&lt;br /&gt;
&lt;br /&gt;
Das eigentlich Spannende passiert in der ''runMainLoopMethode(..)''. Hier werden zunächst einige statistische Variablen erzeugt, die speichern wieviele ''Tile'' von den unterschiedlichen Typen abgetragen worden sind. Nach der Initialisierung dieser Variablen wird die Schleife gestartet, die erst beendet wird, wenn das Spiel beendet werden soll (also, entweder wenn der Diamant gefunden wurde, oder aber sobald eine der Pfeiltasten oder ESC gedrückt wurde.)&lt;br /&gt;
&lt;br /&gt;
Zu Allererst wird die Welt aktualisiert, indem w.simulate() aufgerufen wird. Diese Methode aktualisiert zur Zeit lediglich den Player, aber könnte Theoretisch auch für allgemeinere Situationen benutzt werden. Nachdem die SpielWelt aktualisiert wurde, ist es an der Zeit die Welt anzuzeigen. Nach dem Anzeigen wird ausgewertet, ob der Benutzer einer der Tasten gedrückt hat. Ist dies der Fall, wird geschaut, ob eines der Tile gemined werden soll. Die Überprüfung passiert in der bereits erwähnten ''mine()''-Methode, die das Tile zurück liefert, welches gerade gemined wurde (dabei kann es sich prinzipiell auch um ein ''AirTile'' handeln.) Als nächstes wird diese Tile in der runMainLoop() ausgewertet, und die loop beendet, wenn ein ''DiamondTile'' gefunden wurde. Sonst werden einfach die Zähler der passenden Typen hochgesetzt. Nun beginnt die Schleife wieder von vorne, in dem sie zuerst die Welt aktualisiert, dann sie anzeigt und letztlich erneut die Eingaben des Benutzers auswertet.&lt;br /&gt;
&lt;br /&gt;
Nach dem die Schleife verlassen wurde, wird der ''GameOver''-Bildschirm angezeigt, der die statistischen Variablen ausgibt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Ende =&lt;br /&gt;
Damit sind wir auch schon am Ende des kurzen Überblicks über das Spiel angelangt. Jetzt bleibt euch nur zu tun, das ebend gelesene noch mal revue passieren zu lassen und evtl. eigenen Erweiterungen zu schreiben (Wie wäre es zum Beispiel mit einem Mehrspielermodus, oder mit Lava, welche dem Spieler Schaden zufügt). Auch könntet ihr einfach von vorne Anfangen und ein ganz eigenes Spiel schreiben.&lt;/div&gt;</summary>
		<author><name>Mario</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben/AsciiCraft&amp;diff=15740</id>
		<title>Javakurs/Übungsaufgaben/AsciiCraft</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben/AsciiCraft&amp;diff=15740"/>
		<updated>2011-03-09T22:59:43Z</updated>

		<summary type="html">&lt;p&gt;Mario: /* Installation */ bild angefügt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Eine Komplexe Aufgabe, die Codelesen vertiefen soll, den Kurs zusammenfasst und einen etwas größeren Umfang als andere Aufgaben bietet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Aufgabe =&lt;br /&gt;
&lt;br /&gt;
Im Folgenden wird Schritt für Schritt erklärt werden, wie das Spiel AsciiCraft, eine Anlehnung an [http://www.minecraft.net/ Minecraft], geschrieben wurde. Ziel ist es in dieser Aufgabe Quellode zu lesen, diesen zu verstehen und diesen durch Erweiterungen an eigene Vorlieben anzupassen. Dazu wirde es keine Konkreten Aufgaben geben, ziel ist es eher euch einen Plattform für eigene Experimente zu geben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
&lt;br /&gt;
Um das Programm zu verstehen, ist es wichtig, dass man eine Vorstellung bekommt, was es eigentlich tun soll. Daher bietet es sich an, dieses auf seinem Rechner/Account zu installieren. Bitte ladet euch dafür&lt;br /&gt;
das [http://docs.freitagsrunde.org/Veranstaltungen/javakurs_2011/uebungen/Javakurs2011-AsciiCraft.tar.gz Archiv von unserem Server] herunter.&lt;br /&gt;
&lt;br /&gt;
In diesem Archiv (zu entpacken mittels ''tar -xf'', oder per grafischer Oberfläche (Linkklick auf das Archiv)) findet ihr einen Ordner und drei Skripte. Die Skripte sind zum compilieren, ausführen und löschen der Kompilate da und sollten selbsterklärend sein. Der Ordner ''src'' beinhaltet den Quellcode und wird später für uns sehr interessant werden.&lt;br /&gt;
&lt;br /&gt;
Ihr solltet nun das Projekt kompilieren (''./build.sh'') und es dann einmal starten (''./run.sh'', von der Kommandozeile aus).&lt;br /&gt;
&lt;br /&gt;
Nun solltet ihr ein ähnliches Bild wie das Folgende sehen: [[Bild:asciicraft.png|thumb|280px|Javakurs 2011 - AsciiCraft]].&lt;br /&gt;
&lt;br /&gt;
Ist dies nicht der Falls, solltet ihr die Ausgaben kontrollieren und eventuelle Fehler einem Tutor melden. Auch könntet ihr probieren die Kommandozeilen Optionen euch anzusehen: &lt;br /&gt;
 &lt;br /&gt;
 ./run.sh -h&lt;br /&gt;
&lt;br /&gt;
= Ziel des Spieles =&lt;br /&gt;
&lt;br /&gt;
Nach dem ihr im letzten Abschnitt erfolgreich das Spiel installiert und kompiliert habt, ist es nun an der Zeit die Aufgabe des Spieles kennen zu lernen: Euer Ziel ist es mit dem kleinen Pfeil (meist in der Mitte der Konsole) den Diamanten aus dem Bergwerk zu fördern. &lt;br /&gt;
&lt;br /&gt;
Dieses Ziel erreicht ihr, in dem ihr mit den Tasten ''A'' und ''D'' euch nach ''links'' oder ''rechts'' bewegt. Da ihr an der Oberfläche den Diamanten nicht finden können wird, müsst ihr mit den folgen Tasten euch in den Berg eingraben:&lt;br /&gt;
&lt;br /&gt;
* ''E'' .. baut das Feld direkt über dem Spieler ab&lt;br /&gt;
* ''R'' .. gräbt das Feld ein Feld über dem das ihr anschaut an.&lt;br /&gt;
* ''F'' .. gräbt in die Richtung in die ihr gerade schaut.&lt;br /&gt;
* ''C'' .. Analog zu ''R'' legt das Feld eins unter dem Feld das ihr anschaut frei.&lt;br /&gt;
* ''X'' .. Gräbt das Feld direkt unter euch ab (''Achtung: Mit Vorsicht zu genießen!!!'')&lt;br /&gt;
&lt;br /&gt;
Damit ihr auch evtl. wieder nach oben gelangen könnt, kann der Spieler mit der Leertaste ('' '') springen, aber nur, wenn dafür genug Platz frei ist.&lt;br /&gt;
&lt;br /&gt;
Die ''Pfeiltasten'' und ''Esc'' sorgen dafür, dass sofort das Programm beendet wird und der GameOver-Bildschirm angezeigt wird.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sobald ihr euch einen Weg zum Diamanten gegraben habt, müsst ihr ihn nur noch ausgraben, um zum Ende des Spieles zu kommen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Konzept des Codes =&lt;br /&gt;
&lt;br /&gt;
Um diese Aufgabe erfolgreich und sinnvol zu bearbeiten, ist es am besten, wenn ihr diesen Aufgaben Text parallel zum Code offen lasst, damit ihr schnell zwischen der Beschreibung und dem Code hin und her schalten könnt.&lt;br /&gt;
&lt;br /&gt;
Dieser Code wurde designed, damit er möglichst viele Techniken einsetzt, die ihr schon kennen solltet. Es wurde des Weiteren versucht den Code zu dokumentieren und zu kommentieren. So werdet ihr nicht nur die Vererbeung wiederfinden, sondern auch die Kapselung, Schleifen, Arrays, Ausgabe, Variablen und eigentlich Alles was ihr wissen müsst.&lt;br /&gt;
&lt;br /&gt;
Basisidee ist die der Wiederverwendung. Es wurde versucht alle Klassen die an dem Programm beteiligt sind so zu gestallten, dass sie möglichst leicht auszutauschen sind. So lässt sich ohne großen Aufwand weitere Felder hinzufügen. Doch nun zu den bereits vorhandenen Klassen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Pakete ==&lt;br /&gt;
Die Klassen die an dem Spiel beteiligt sind, findet ihr unter ''src/...'' alle Klassen sind unter dem gleichen Paket gespeichert: ''javakurs2011.asciicraft''. Wobei ein Paket eine Unterteilung von Klassen ist. So ist es möglich, dass es Klassen gibt, die gleich heißen, aber in anderen Paketen definiert wurden. &lt;br /&gt;
&lt;br /&gt;
Eine Klasse markiert man als zu einem Paket gehörend, in dem man es in einen Unterordner der Form ''paket/unterpaket'' steckt. Des Weiteren muss jede Klasse am Anfang seiner .java Datei einen Eintrag wie folgt haben: ''package paket.unterpaket;'', welches dafür sorgt, dass die Klasse auch als zu dem Paket gehörig erkannt wird.  (bitte beachtet, dass der ''/'' in der JavaDatei durch einen Punkt (''.'') ersetzt wurde.) Die Technik der Pakete wird meist in größeren Produktionen eingesetzt und wird euch in eurem weiteren Studium bestimmt noch häufiger begegegen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Abstrakte Klasse ''Tile'' ==&lt;br /&gt;
&lt;br /&gt;
Jedes der Felder, die ihr im Spiel seht, ist abgeleitet von der '''abstrakten''' Klasse ''Tile'' (konkret ''AirTile.java  CoalTile.java  DiamondTile.java  DirtTile.java  IronTile.java'', in allen steht bei der Klassendefinition die Zeile ''extends Tile''). Der Sinn dahinter ist, dass ihr in der abstrakten Klasse Methoden angebt, die von allen Unterklassen implementiert werden ''müssen''. Dieser Mechanismus macht es möglich, dass man im Folgenden von der genauen Implementierung der Klasse (bspw. ''IronTile'') abstrahiert und dieses nur noch als ''Tile'' auffasst.&lt;br /&gt;
&lt;br /&gt;
Dies wird etwas deutlicher, wenn man sich vor Augen hält, wie das Spielfeld aussieht: In der Datei ''World.java'' wird in ''Zeile 14'' ein Feld von mehreren Objekten der Klasse ''Tile'' erzeugt. Das bedeutet, dass man in diesem Array alle Unterklassen, also alle Klassen, die von ''Tile'' erben, speichern kann, und alle mindestens die Funktionalitäten von ''Tile'' anbieten. In unserem Fall ist dies noch sehr wenig, da lediglich eine Methode, die ''toString''-Methode, von Tile als zu implementieren gekennzeichnet wurde. Vorstellbar ist aber, dass in einem späteren Zeitpunkt jedes ''Tile'' einen neue Funktionalität haben soll, wie dass beim Abbauen des Tiles eine bestimmte Methode ausgeführt werden soll. Diese Methode könnte zum Beispiel ''mine()'' heißen und könnte dafür sorgen, dass das ''IronTile'' zwei Versuche braucht um abgebaut zu werden. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Die Welt ==&lt;br /&gt;
Wie bereits im vorherigen Kapitel erwähnt, speichert die Klasse ''World'' alles was zur Spielwelt gehört. Dies ist nicht nur die Größe des Spielfeldes, die Spielfelder selbst, sondern auch den Spieler. Der Spieler ansich ist auch nur ein klügeres ''Tile''. So kann er zwar genau wie anderer ''Tiles'' auch angezeigt werden, siehe ''toString()'', aber er kann auch in der Methode ''simulate()'' sich den aktuellen Gegebenheiten anpassen. So wird gegenwärtig diese Methode dazu genutzt den Spieler auf den Boden fallen zu lassen, sobald er auf einem 'AirTile''-Feld steht. Damit das Programm diese Entscheidung treffen kann, muss es wissen auf welcher Welt er sich befindet, also wird der ''simulate''-Methode die Welt als Parameter mit angegeben.&lt;br /&gt;
&lt;br /&gt;
Dies Welt ist des Weiteren auch für das Anzeigen und Erstellen der neuen Spielwelt zuständig. Anzeigen tut sie, indem sie zuerst durch das Feld der ''Tiles'' geht und jedes aus dem Array heraus nimmt und dessen ''toString()''-Methode implizit aufruft. (vgl. Zeile 154 in World.java, dort wird nicht .toString() benutzt, sondern implizit das Tile in einen String durch addieren des Tiles zu einem String, aufgerufen). Das ganze passiert jedoch nur, falls das Tile überhaupt sichtbar (''.isVisible()'' liefert ''true'') ist. Ist dies nicht der Fall wird lediglich ein graues Viereck angezeigt. Das Tile ist nur dann nicht sichtbar, wenn es bisher noch nicht entdeckt worden ist und unterhalb der Oberfläche liegt.&lt;br /&gt;
&lt;br /&gt;
Dies führt uns zur Erstellung des Spielfeldes. Das Spielfeld wird in der Zeile 48 der Datei ''World.java'' erzeugt. Das Erstellen des Feldes basiert sehr stark auf ''kontrolliertem'' Zufall: So wird in Zeile 50 zunächst das gesamte Spielfeld auf ''Luft'' gesetzt. Dies wird erreicht, indem an jedem Index des Feldes ein neues Element vom Typ ''AirTile'' erstellt wird. Ein Teil dieser Luft-Teile wird im Folgenden durch zufällige ''DirtTiles'' ersetzt. Basis dafür ist dass innerhalb der for-Schleife in Zeile 56 an einer zufälligen Höhe nahe der Hälfte des Spielfeldes für jeden Spalteneintrag neu bestimmt wird, ob das Tile nach oben oder unten plaziert werden soll. Nachdem die Höhe des ''Horizontes'' erstellt wurde, werden alle folgenden Teile auch als ''DirtTiles'' erstellt.&lt;br /&gt;
&lt;br /&gt;
Sobald alle ''DirtTile''s erstellt wurden, werden erneut alle ''DirtTiles'' angefasst (Zeile 72) und zufällig durch entweder ein ''IronTile'' oder ein ''CoalTile'' ersetzt.&lt;br /&gt;
&lt;br /&gt;
Nun sind prinzipiell alle ''normalen'' Tiles erstellt und die Welt ansich ist einsatzbereit. Nun der Spaß des Programmes beginnt dann, wenn man die Welt langsam anfängt zu erforschen. Daher müssen noch alle Tiles auf ''unsichtbar'' gesetzt werden, die nicht direkt an der Oberfläche liegen. Das passiert, in dem für alle Spalten des Feldes gezählt wird, wieviele nicht-''AirTiles'' bereits gefunden wurden. Ist diese Zahl größer als eins, bedeutet dies, dass wir unterhalb der Oberfläche sind, und somit, zumindest initial alle Tiles unsichtbar sind. Diese Annahme gilt nur, wenn wir keine Überhänge in der Oberwelt zulassen.&lt;br /&gt;
&lt;br /&gt;
Nun wird der Diamant plaziert. Dies passiert auch wieder sehr zufällig, indem einfach eine zufällige Position eines ''DirtTile''s gesucht wird, die nahe am unteren Ende des Spielfeldes liegt. &lt;br /&gt;
&lt;br /&gt;
Nach dem Der Diamant gesetzt wurde, wird versucht, den Spieler leicht mittig auf dem Feld zu plazieren, indem nach einem ''AirTile'' in der Mittleren Spalte gesucht wird. Wurde kein Leeres Tile gefunden, so wird es bei der nächsten Spalte weiter probiert. Vorstellen kann man sich dies wie bei dem alten ''VierGewinnt''-Spiel: Der Spieler wird in einer Spalte herein geworfen und geschaut, ob er gleich wieder oben heraus fällt. Ist dies der Fall wird er einfach bei der nächsten Spalte eingeworfen und das ganze nochmal probiert.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Interaktion == &lt;br /&gt;
&lt;br /&gt;
Nachdem nun die Welt erstellt wurde, wir nun wissen wie wir sie anzeigen können, ist das Einzige was noch fehlt die Interaktion mit ihr. Zum Anfang des Programmes wird, wie bereits bekannt, die ''main''-Methode ausgeführt (siehe ''Main.java''). Diese sorgt dafür, dass wir auf dem gesamten Terminal schreiben können. Siehe dazu auch die [http://jline.sourceforge.net/ benutzte Bibliothek ''JLine''], da diese genauer beschreibt wie genau es funkioniert. Nachdem die Bibliothek JLine initialisiert wurde, werden die Variablen von Benutzer eingelesen (Mittels der Kommandozeilen Parameter) und das Spielfeld erstellt. Folgend wird die Hauptschleife, also die, die das gesamte Programm kontrolliert gestartet. Die Idee ist, dass nach dem die Methode ''runMainLoop(..)' zurück gekommen ist, das Programm beendet werden soll. Daher ist der letzte Aufruf der ''main''-Methode ein Reset des Terminals, damit Alles wieder auf seinen initialen Zustand zurück gesetzt wird.&lt;br /&gt;
&lt;br /&gt;
Das eigentlich Spannende passiert in der ''runMainLoopMethode(..)''. Hier werden zunächst einige statistische Variablen erzeugt, die speichern wieviele ''Tile'' von den unterschiedlichen Typen abgetragen worden sind. Nach der Initialisierung dieser Variablen wird die Schleife gestartet, die erst beendet wird, wenn das Spiel beendet werden soll (also, entweder wenn der Diamant gefunden wurde, oder aber sobald eine der Pfeiltasten oder ESC gedrückt wurde.)&lt;br /&gt;
&lt;br /&gt;
Zu Allererst wird die Welt aktualisiert, indem w.simulate() aufgerufen wird. Diese Methode aktualisiert zur Zeit lediglich den Player, aber könnte Theoretisch auch für allgemeinere Situationen benutzt werden. Nachdem die SpielWelt aktualisiert wurde, ist es an der Zeit die Welt anzuzeigen. Nach dem Anzeigen wird ausgewertet, ob der Benutzer einer der Tasten gedrückt hat. Ist dies der Fall, wird geschaut, ob eines der Tile gemined werden soll. Die Überprüfung passiert in der bereits erwähnten ''mine()''-Methode, die das Tile zurück liefert, welches gerade gemined wurde (dabei kann es sich prinzipiell auch um ein ''AirTile'' handeln.) Als nächstes wird diese Tile in der runMainLoop() ausgewertet, und die loop beendet, wenn ein ''DiamondTile'' gefunden wurde. Sonst werden einfach die Zähler der passenden Typen hochgesetzt. Nun beginnt die Schleife wieder von vorne, in dem sie zuerst die Welt aktualisiert, dann sie anzeigt und letztlich erneut die Eingaben des Benutzers auswertet.&lt;br /&gt;
&lt;br /&gt;
Nach dem die Schleife verlassen wurde, wird der ''GameOver''-Bildschirm angezeigt, der die statistischen Variablen ausgibt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Ende =&lt;br /&gt;
Damit sind wir auch schon am Ende des kurzen Überblicks über das Spiel angelangt. Jetzt bleibt euch nur zu tun, das ebend gelesene noch mal revue passieren zu lassen und evtl. eigenen Erweiterungen zu schreiben (Wie wäre es zum Beispiel mit einem Mehrspielermodus, oder mit Lava, welche dem Spieler Schaden zufügt). Auch könntet ihr einfach von vorne Anfangen und ein ganz eigenes Spiel schreiben.&lt;/div&gt;</summary>
		<author><name>Mario</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Datei:Asciicraft.png&amp;diff=15739</id>
		<title>Datei:Asciicraft.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Datei:Asciicraft.png&amp;diff=15739"/>
		<updated>2011-03-09T22:58:38Z</updated>

		<summary type="html">&lt;p&gt;Mario: Screenshot der AsciiCraft Aufgabe vom Javakurs2011&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Screenshot der AsciiCraft Aufgabe vom Javakurs2011&lt;/div&gt;</summary>
		<author><name>Mario</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben/AsciiCraft&amp;diff=15738</id>
		<title>Javakurs/Übungsaufgaben/AsciiCraft</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben/AsciiCraft&amp;diff=15738"/>
		<updated>2011-03-09T22:48:54Z</updated>

		<summary type="html">&lt;p&gt;Mario: /* Installation */ link added&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Eine Komplexe Aufgabe, die Codelesen vertiefen soll, den Kurs zusammenfasst und einen etwas größeren Umfang als andere Aufgaben bietet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Aufgabe =&lt;br /&gt;
&lt;br /&gt;
Im Folgenden wird Schritt für Schritt erklärt werden, wie das Spiel AsciiCraft, eine Anlehnung an [http://www.minecraft.net/ Minecraft], geschrieben wurde. Ziel ist es in dieser Aufgabe Quellode zu lesen, diesen zu verstehen und diesen durch Erweiterungen an eigene Vorlieben anzupassen. Dazu wirde es keine Konkreten Aufgaben geben, ziel ist es eher euch einen Plattform für eigene Experimente zu geben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
&lt;br /&gt;
Um das Programm zu verstehen, ist es wichtig, dass man eine Vorstellung bekommt, was es eigentlich tun soll. Daher bietet es sich an, dieses auf seinem Rechner/Account zu installieren. Bitte ladet euch dafür&lt;br /&gt;
das [http://docs.freitagsrunde.org/Veranstaltungen/javakurs_2011/uebungen/Javakurs2011-AsciiCraft.tar.gz Archiv von unserem Server] herunter.&lt;br /&gt;
&lt;br /&gt;
In diesem Archiv (zu entpacken mittels ''tar -xf'', oder per grafischer Oberfläche (Linkklick auf das Archiv)) findet ihr einen Ordner und drei Skripte. Die Skripte sind zum compilieren, ausführen und löschen der Kompilate da und sollten selbsterklärend sein. Der Ordner ''src'' beinhaltet den Quellcode und wird später für uns sehr interessant werden.&lt;br /&gt;
&lt;br /&gt;
Ihr solltet nun das Projekt kompilieren (''./build.sh'') und es dann einmal starten (''./run.sh'', von der Kommandozeile aus).&lt;br /&gt;
&lt;br /&gt;
Nun solltet ihr ein ähnliches Bild wie das folgende sehen: [image].&lt;br /&gt;
&lt;br /&gt;
Ist dies nicht der Falls, solltet ihr die Ausgaben kontrollieren und eventuelle Fehler einem Tutor melden. Auch könntet ihr probieren die Kommandozeilen Optionen euch anzusehen: &lt;br /&gt;
 &lt;br /&gt;
 ./run.sh -h&lt;br /&gt;
&lt;br /&gt;
= Ziel des Spieles =&lt;br /&gt;
&lt;br /&gt;
Nach dem ihr im letzten Abschnitt erfolgreich das Spiel installiert und kompiliert habt, ist es nun an der Zeit die Aufgabe des Spieles kennen zu lernen: Euer Ziel ist es mit dem kleinen Pfeil (meist in der Mitte der Konsole) den Diamanten aus dem Bergwerk zu fördern. &lt;br /&gt;
&lt;br /&gt;
Dieses Ziel erreicht ihr, in dem ihr mit den Tasten ''A'' und ''D'' euch nach ''links'' oder ''rechts'' bewegt. Da ihr an der Oberfläche den Diamanten nicht finden können wird, müsst ihr mit den folgen Tasten euch in den Berg eingraben:&lt;br /&gt;
&lt;br /&gt;
* ''E'' .. baut das Feld direkt über dem Spieler ab&lt;br /&gt;
* ''R'' .. gräbt das Feld ein Feld über dem das ihr anschaut an.&lt;br /&gt;
* ''F'' .. gräbt in die Richtung in die ihr gerade schaut.&lt;br /&gt;
* ''C'' .. Analog zu ''R'' legt das Feld eins unter dem Feld das ihr anschaut frei.&lt;br /&gt;
* ''X'' .. Gräbt das Feld direkt unter euch ab (''Achtung: Mit Vorsicht zu genießen!!!'')&lt;br /&gt;
&lt;br /&gt;
Damit ihr auch evtl. wieder nach oben gelangen könnt, kann der Spieler mit der Leertaste ('' '') springen, aber nur, wenn dafür genug Platz frei ist.&lt;br /&gt;
&lt;br /&gt;
Die ''Pfeiltasten'' und ''Esc'' sorgen dafür, dass sofort das Programm beendet wird und der GameOver-Bildschirm angezeigt wird.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sobald ihr euch einen Weg zum Diamanten gegraben habt, müsst ihr ihn nur noch ausgraben, um zum Ende des Spieles zu kommen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Konzept des Codes =&lt;br /&gt;
&lt;br /&gt;
Um diese Aufgabe erfolgreich und sinnvol zu bearbeiten, ist es am besten, wenn ihr diesen Aufgaben Text parallel zum Code offen lasst, damit ihr schnell zwischen der Beschreibung und dem Code hin und her schalten könnt.&lt;br /&gt;
&lt;br /&gt;
Dieser Code wurde designed, damit er möglichst viele Techniken einsetzt, die ihr schon kennen solltet. Es wurde des Weiteren versucht den Code zu dokumentieren und zu kommentieren. So werdet ihr nicht nur die Vererbeung wiederfinden, sondern auch die Kapselung, Schleifen, Arrays, Ausgabe, Variablen und eigentlich Alles was ihr wissen müsst.&lt;br /&gt;
&lt;br /&gt;
Basisidee ist die der Wiederverwendung. Es wurde versucht alle Klassen die an dem Programm beteiligt sind so zu gestallten, dass sie möglichst leicht auszutauschen sind. So lässt sich ohne großen Aufwand weitere Felder hinzufügen. Doch nun zu den bereits vorhandenen Klassen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Pakete ==&lt;br /&gt;
Die Klassen die an dem Spiel beteiligt sind, findet ihr unter ''src/...'' alle Klassen sind unter dem gleichen Paket gespeichert: ''javakurs2011.asciicraft''. Wobei ein Paket eine Unterteilung von Klassen ist. So ist es möglich, dass es Klassen gibt, die gleich heißen, aber in anderen Paketen definiert wurden. &lt;br /&gt;
&lt;br /&gt;
Eine Klasse markiert man als zu einem Paket gehörend, in dem man es in einen Unterordner der Form ''paket/unterpaket'' steckt. Des Weiteren muss jede Klasse am Anfang seiner .java Datei einen Eintrag wie folgt haben: ''package paket.unterpaket;'', welches dafür sorgt, dass die Klasse auch als zu dem Paket gehörig erkannt wird.  (bitte beachtet, dass der ''/'' in der JavaDatei durch einen Punkt (''.'') ersetzt wurde.) Die Technik der Pakete wird meist in größeren Produktionen eingesetzt und wird euch in eurem weiteren Studium bestimmt noch häufiger begegegen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Abstrakte Klasse ''Tile'' ==&lt;br /&gt;
&lt;br /&gt;
Jedes der Felder, die ihr im Spiel seht, ist abgeleitet von der '''abstrakten''' Klasse ''Tile'' (konkret ''AirTile.java  CoalTile.java  DiamondTile.java  DirtTile.java  IronTile.java'', in allen steht bei der Klassendefinition die Zeile ''extends Tile''). Der Sinn dahinter ist, dass ihr in der abstrakten Klasse Methoden angebt, die von allen Unterklassen implementiert werden ''müssen''. Dieser Mechanismus macht es möglich, dass man im Folgenden von der genauen Implementierung der Klasse (bspw. ''IronTile'') abstrahiert und dieses nur noch als ''Tile'' auffasst.&lt;br /&gt;
&lt;br /&gt;
Dies wird etwas deutlicher, wenn man sich vor Augen hält, wie das Spielfeld aussieht: In der Datei ''World.java'' wird in ''Zeile 14'' ein Feld von mehreren Objekten der Klasse ''Tile'' erzeugt. Das bedeutet, dass man in diesem Array alle Unterklassen, also alle Klassen, die von ''Tile'' erben, speichern kann, und alle mindestens die Funktionalitäten von ''Tile'' anbieten. In unserem Fall ist dies noch sehr wenig, da lediglich eine Methode, die ''toString''-Methode, von Tile als zu implementieren gekennzeichnet wurde. Vorstellbar ist aber, dass in einem späteren Zeitpunkt jedes ''Tile'' einen neue Funktionalität haben soll, wie dass beim Abbauen des Tiles eine bestimmte Methode ausgeführt werden soll. Diese Methode könnte zum Beispiel ''mine()'' heißen und könnte dafür sorgen, dass das ''IronTile'' zwei Versuche braucht um abgebaut zu werden. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Die Welt ==&lt;br /&gt;
Wie bereits im vorherigen Kapitel erwähnt, speichert die Klasse ''World'' alles was zur Spielwelt gehört. Dies ist nicht nur die Größe des Spielfeldes, die Spielfelder selbst, sondern auch den Spieler. Der Spieler ansich ist auch nur ein klügeres ''Tile''. So kann er zwar genau wie anderer ''Tiles'' auch angezeigt werden, siehe ''toString()'', aber er kann auch in der Methode ''simulate()'' sich den aktuellen Gegebenheiten anpassen. So wird gegenwärtig diese Methode dazu genutzt den Spieler auf den Boden fallen zu lassen, sobald er auf einem 'AirTile''-Feld steht. Damit das Programm diese Entscheidung treffen kann, muss es wissen auf welcher Welt er sich befindet, also wird der ''simulate''-Methode die Welt als Parameter mit angegeben.&lt;br /&gt;
&lt;br /&gt;
Dies Welt ist des Weiteren auch für das Anzeigen und Erstellen der neuen Spielwelt zuständig. Anzeigen tut sie, indem sie zuerst durch das Feld der ''Tiles'' geht und jedes aus dem Array heraus nimmt und dessen ''toString()''-Methode implizit aufruft. (vgl. Zeile 154 in World.java, dort wird nicht .toString() benutzt, sondern implizit das Tile in einen String durch addieren des Tiles zu einem String, aufgerufen). Das ganze passiert jedoch nur, falls das Tile überhaupt sichtbar (''.isVisible()'' liefert ''true'') ist. Ist dies nicht der Fall wird lediglich ein graues Viereck angezeigt. Das Tile ist nur dann nicht sichtbar, wenn es bisher noch nicht entdeckt worden ist und unterhalb der Oberfläche liegt.&lt;br /&gt;
&lt;br /&gt;
Dies führt uns zur Erstellung des Spielfeldes. Das Spielfeld wird in der Zeile 48 der Datei ''World.java'' erzeugt. Das Erstellen des Feldes basiert sehr stark auf ''kontrolliertem'' Zufall: So wird in Zeile 50 zunächst das gesamte Spielfeld auf ''Luft'' gesetzt. Dies wird erreicht, indem an jedem Index des Feldes ein neues Element vom Typ ''AirTile'' erstellt wird. Ein Teil dieser Luft-Teile wird im Folgenden durch zufällige ''DirtTiles'' ersetzt. Basis dafür ist dass innerhalb der for-Schleife in Zeile 56 an einer zufälligen Höhe nahe der Hälfte des Spielfeldes für jeden Spalteneintrag neu bestimmt wird, ob das Tile nach oben oder unten plaziert werden soll. Nachdem die Höhe des ''Horizontes'' erstellt wurde, werden alle folgenden Teile auch als ''DirtTiles'' erstellt.&lt;br /&gt;
&lt;br /&gt;
Sobald alle ''DirtTile''s erstellt wurden, werden erneut alle ''DirtTiles'' angefasst (Zeile 72) und zufällig durch entweder ein ''IronTile'' oder ein ''CoalTile'' ersetzt.&lt;br /&gt;
&lt;br /&gt;
Nun sind prinzipiell alle ''normalen'' Tiles erstellt und die Welt ansich ist einsatzbereit. Nun der Spaß des Programmes beginnt dann, wenn man die Welt langsam anfängt zu erforschen. Daher müssen noch alle Tiles auf ''unsichtbar'' gesetzt werden, die nicht direkt an der Oberfläche liegen. Das passiert, in dem für alle Spalten des Feldes gezählt wird, wieviele nicht-''AirTiles'' bereits gefunden wurden. Ist diese Zahl größer als eins, bedeutet dies, dass wir unterhalb der Oberfläche sind, und somit, zumindest initial alle Tiles unsichtbar sind. Diese Annahme gilt nur, wenn wir keine Überhänge in der Oberwelt zulassen.&lt;br /&gt;
&lt;br /&gt;
Nun wird der Diamant plaziert. Dies passiert auch wieder sehr zufällig, indem einfach eine zufällige Position eines ''DirtTile''s gesucht wird, die nahe am unteren Ende des Spielfeldes liegt. &lt;br /&gt;
&lt;br /&gt;
Nach dem Der Diamant gesetzt wurde, wird versucht, den Spieler leicht mittig auf dem Feld zu plazieren, indem nach einem ''AirTile'' in der Mittleren Spalte gesucht wird. Wurde kein Leeres Tile gefunden, so wird es bei der nächsten Spalte weiter probiert. Vorstellen kann man sich dies wie bei dem alten ''VierGewinnt''-Spiel: Der Spieler wird in einer Spalte herein geworfen und geschaut, ob er gleich wieder oben heraus fällt. Ist dies der Fall wird er einfach bei der nächsten Spalte eingeworfen und das ganze nochmal probiert.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Interaktion == &lt;br /&gt;
&lt;br /&gt;
Nachdem nun die Welt erstellt wurde, wir nun wissen wie wir sie anzeigen können, ist das Einzige was noch fehlt die Interaktion mit ihr. Zum Anfang des Programmes wird, wie bereits bekannt, die ''main''-Methode ausgeführt (siehe ''Main.java''). Diese sorgt dafür, dass wir auf dem gesamten Terminal schreiben können. Siehe dazu auch die [http://jline.sourceforge.net/ benutzte Bibliothek ''JLine''], da diese genauer beschreibt wie genau es funkioniert. Nachdem die Bibliothek JLine initialisiert wurde, werden die Variablen von Benutzer eingelesen (Mittels der Kommandozeilen Parameter) und das Spielfeld erstellt. Folgend wird die Hauptschleife, also die, die das gesamte Programm kontrolliert gestartet. Die Idee ist, dass nach dem die Methode ''runMainLoop(..)' zurück gekommen ist, das Programm beendet werden soll. Daher ist der letzte Aufruf der ''main''-Methode ein Reset des Terminals, damit Alles wieder auf seinen initialen Zustand zurück gesetzt wird.&lt;br /&gt;
&lt;br /&gt;
Das eigentlich Spannende passiert in der ''runMainLoopMethode(..)''. Hier werden zunächst einige statistische Variablen erzeugt, die speichern wieviele ''Tile'' von den unterschiedlichen Typen abgetragen worden sind. Nach der Initialisierung dieser Variablen wird die Schleife gestartet, die erst beendet wird, wenn das Spiel beendet werden soll (also, entweder wenn der Diamant gefunden wurde, oder aber sobald eine der Pfeiltasten oder ESC gedrückt wurde.)&lt;br /&gt;
&lt;br /&gt;
Zu Allererst wird die Welt aktualisiert, indem w.simulate() aufgerufen wird. Diese Methode aktualisiert zur Zeit lediglich den Player, aber könnte Theoretisch auch für allgemeinere Situationen benutzt werden. Nachdem die SpielWelt aktualisiert wurde, ist es an der Zeit die Welt anzuzeigen. Nach dem Anzeigen wird ausgewertet, ob der Benutzer einer der Tasten gedrückt hat. Ist dies der Fall, wird geschaut, ob eines der Tile gemined werden soll. Die Überprüfung passiert in der bereits erwähnten ''mine()''-Methode, die das Tile zurück liefert, welches gerade gemined wurde (dabei kann es sich prinzipiell auch um ein ''AirTile'' handeln.) Als nächstes wird diese Tile in der runMainLoop() ausgewertet, und die loop beendet, wenn ein ''DiamondTile'' gefunden wurde. Sonst werden einfach die Zähler der passenden Typen hochgesetzt. Nun beginnt die Schleife wieder von vorne, in dem sie zuerst die Welt aktualisiert, dann sie anzeigt und letztlich erneut die Eingaben des Benutzers auswertet.&lt;br /&gt;
&lt;br /&gt;
Nach dem die Schleife verlassen wurde, wird der ''GameOver''-Bildschirm angezeigt, der die statistischen Variablen ausgibt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Ende =&lt;br /&gt;
Damit sind wir auch schon am Ende des kurzen Überblicks über das Spiel angelangt. Jetzt bleibt euch nur zu tun, das ebend gelesene noch mal revue passieren zu lassen und evtl. eigenen Erweiterungen zu schreiben (Wie wäre es zum Beispiel mit einem Mehrspielermodus, oder mit Lava, welche dem Spieler Schaden zufügt). Auch könntet ihr einfach von vorne Anfangen und ein ganz eigenes Spiel schreiben.&lt;/div&gt;</summary>
		<author><name>Mario</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben/AsciiCraft&amp;diff=15737</id>
		<title>Javakurs/Übungsaufgaben/AsciiCraft</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben/AsciiCraft&amp;diff=15737"/>
		<updated>2011-03-09T22:47:01Z</updated>

		<summary type="html">&lt;p&gt;Mario: draft for asciicraft aufgabe&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Eine Komplexe Aufgabe, die Codelesen vertiefen soll, den Kurs zusammenfasst und einen etwas größeren Umfang als andere Aufgaben bietet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Aufgabe =&lt;br /&gt;
&lt;br /&gt;
Im Folgenden wird Schritt für Schritt erklärt werden, wie das Spiel AsciiCraft, eine Anlehnung an [http://www.minecraft.net/ Minecraft], geschrieben wurde. Ziel ist es in dieser Aufgabe Quellode zu lesen, diesen zu verstehen und diesen durch Erweiterungen an eigene Vorlieben anzupassen. Dazu wirde es keine Konkreten Aufgaben geben, ziel ist es eher euch einen Plattform für eigene Experimente zu geben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
&lt;br /&gt;
Um das Programm zu verstehen, ist es wichtig, dass man eine Vorstellung bekommt, was es eigentlich tun soll. Daher bietet es sich an, dieses auf seinem Rechner/Account zu installieren. Bitte ladet euch dafür&lt;br /&gt;
das Archiv [https://docs.freitagsrunde.org/Veranstaltungen/Javakurs2011/asciicraft/asciicraft.tar.gz | auf unserem Server] herunter.&lt;br /&gt;
&lt;br /&gt;
In diesem Archiv (zu entpacken mittels ''tar -xf'', oder per grafischer Oberfläche (Linkklick auf das Archiv)) findet ihr einen Ordner und drei Skripte. Die Skripte sind zum compilieren, ausführen und löschen der Kompilate da und sollten selbsterklärend sein. Der Ordner ''src'' beinhaltet den Quellcode und wird später für uns sehr interessant werden.&lt;br /&gt;
&lt;br /&gt;
Ihr solltet nun das Projekt kompilieren (''./build.sh'') und es dann einmal starten (''./run.sh'', von der Kommandozeile aus).&lt;br /&gt;
&lt;br /&gt;
Nun solltet ihr ein ähnliches Bild wie das folgende sehen: [image].&lt;br /&gt;
&lt;br /&gt;
Ist dies nicht der Falls, solltet ihr die Ausgaben kontrollieren und eventuelle Fehler einem Tutor melden. Auch könntet ihr probieren die Kommandozeilen Optionen euch anzusehen: &lt;br /&gt;
 &lt;br /&gt;
 ./run.sh -h&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Ziel des Spieles =&lt;br /&gt;
&lt;br /&gt;
Nach dem ihr im letzten Abschnitt erfolgreich das Spiel installiert und kompiliert habt, ist es nun an der Zeit die Aufgabe des Spieles kennen zu lernen: Euer Ziel ist es mit dem kleinen Pfeil (meist in der Mitte der Konsole) den Diamanten aus dem Bergwerk zu fördern. &lt;br /&gt;
&lt;br /&gt;
Dieses Ziel erreicht ihr, in dem ihr mit den Tasten ''A'' und ''D'' euch nach ''links'' oder ''rechts'' bewegt. Da ihr an der Oberfläche den Diamanten nicht finden können wird, müsst ihr mit den folgen Tasten euch in den Berg eingraben:&lt;br /&gt;
&lt;br /&gt;
* ''E'' .. baut das Feld direkt über dem Spieler ab&lt;br /&gt;
* ''R'' .. gräbt das Feld ein Feld über dem das ihr anschaut an.&lt;br /&gt;
* ''F'' .. gräbt in die Richtung in die ihr gerade schaut.&lt;br /&gt;
* ''C'' .. Analog zu ''R'' legt das Feld eins unter dem Feld das ihr anschaut frei.&lt;br /&gt;
* ''X'' .. Gräbt das Feld direkt unter euch ab (''Achtung: Mit Vorsicht zu genießen!!!'')&lt;br /&gt;
&lt;br /&gt;
Damit ihr auch evtl. wieder nach oben gelangen könnt, kann der Spieler mit der Leertaste ('' '') springen, aber nur, wenn dafür genug Platz frei ist.&lt;br /&gt;
&lt;br /&gt;
Die ''Pfeiltasten'' und ''Esc'' sorgen dafür, dass sofort das Programm beendet wird und der GameOver-Bildschirm angezeigt wird.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sobald ihr euch einen Weg zum Diamanten gegraben habt, müsst ihr ihn nur noch ausgraben, um zum Ende des Spieles zu kommen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Konzept des Codes =&lt;br /&gt;
&lt;br /&gt;
Um diese Aufgabe erfolgreich und sinnvol zu bearbeiten, ist es am besten, wenn ihr diesen Aufgaben Text parallel zum Code offen lasst, damit ihr schnell zwischen der Beschreibung und dem Code hin und her schalten könnt.&lt;br /&gt;
&lt;br /&gt;
Dieser Code wurde designed, damit er möglichst viele Techniken einsetzt, die ihr schon kennen solltet. Es wurde des Weiteren versucht den Code zu dokumentieren und zu kommentieren. So werdet ihr nicht nur die Vererbeung wiederfinden, sondern auch die Kapselung, Schleifen, Arrays, Ausgabe, Variablen und eigentlich Alles was ihr wissen müsst.&lt;br /&gt;
&lt;br /&gt;
Basisidee ist die der Wiederverwendung. Es wurde versucht alle Klassen die an dem Programm beteiligt sind so zu gestallten, dass sie möglichst leicht auszutauschen sind. So lässt sich ohne großen Aufwand weitere Felder hinzufügen. Doch nun zu den bereits vorhandenen Klassen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Pakete ==&lt;br /&gt;
Die Klassen die an dem Spiel beteiligt sind, findet ihr unter ''src/...'' alle Klassen sind unter dem gleichen Paket gespeichert: ''javakurs2011.asciicraft''. Wobei ein Paket eine Unterteilung von Klassen ist. So ist es möglich, dass es Klassen gibt, die gleich heißen, aber in anderen Paketen definiert wurden. &lt;br /&gt;
&lt;br /&gt;
Eine Klasse markiert man als zu einem Paket gehörend, in dem man es in einen Unterordner der Form ''paket/unterpaket'' steckt. Des Weiteren muss jede Klasse am Anfang seiner .java Datei einen Eintrag wie folgt haben: ''package paket.unterpaket;'', welches dafür sorgt, dass die Klasse auch als zu dem Paket gehörig erkannt wird.  (bitte beachtet, dass der ''/'' in der JavaDatei durch einen Punkt (''.'') ersetzt wurde.) Die Technik der Pakete wird meist in größeren Produktionen eingesetzt und wird euch in eurem weiteren Studium bestimmt noch häufiger begegegen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Abstrakte Klasse ''Tile'' ==&lt;br /&gt;
&lt;br /&gt;
Jedes der Felder, die ihr im Spiel seht, ist abgeleitet von der '''abstrakten''' Klasse ''Tile'' (konkret ''AirTile.java  CoalTile.java  DiamondTile.java  DirtTile.java  IronTile.java'', in allen steht bei der Klassendefinition die Zeile ''extends Tile''). Der Sinn dahinter ist, dass ihr in der abstrakten Klasse Methoden angebt, die von allen Unterklassen implementiert werden ''müssen''. Dieser Mechanismus macht es möglich, dass man im Folgenden von der genauen Implementierung der Klasse (bspw. ''IronTile'') abstrahiert und dieses nur noch als ''Tile'' auffasst.&lt;br /&gt;
&lt;br /&gt;
Dies wird etwas deutlicher, wenn man sich vor Augen hält, wie das Spielfeld aussieht: In der Datei ''World.java'' wird in ''Zeile 14'' ein Feld von mehreren Objekten der Klasse ''Tile'' erzeugt. Das bedeutet, dass man in diesem Array alle Unterklassen, also alle Klassen, die von ''Tile'' erben, speichern kann, und alle mindestens die Funktionalitäten von ''Tile'' anbieten. In unserem Fall ist dies noch sehr wenig, da lediglich eine Methode, die ''toString''-Methode, von Tile als zu implementieren gekennzeichnet wurde. Vorstellbar ist aber, dass in einem späteren Zeitpunkt jedes ''Tile'' einen neue Funktionalität haben soll, wie dass beim Abbauen des Tiles eine bestimmte Methode ausgeführt werden soll. Diese Methode könnte zum Beispiel ''mine()'' heißen und könnte dafür sorgen, dass das ''IronTile'' zwei Versuche braucht um abgebaut zu werden. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Die Welt ==&lt;br /&gt;
Wie bereits im vorherigen Kapitel erwähnt, speichert die Klasse ''World'' alles was zur Spielwelt gehört. Dies ist nicht nur die Größe des Spielfeldes, die Spielfelder selbst, sondern auch den Spieler. Der Spieler ansich ist auch nur ein klügeres ''Tile''. So kann er zwar genau wie anderer ''Tiles'' auch angezeigt werden, siehe ''toString()'', aber er kann auch in der Methode ''simulate()'' sich den aktuellen Gegebenheiten anpassen. So wird gegenwärtig diese Methode dazu genutzt den Spieler auf den Boden fallen zu lassen, sobald er auf einem 'AirTile''-Feld steht. Damit das Programm diese Entscheidung treffen kann, muss es wissen auf welcher Welt er sich befindet, also wird der ''simulate''-Methode die Welt als Parameter mit angegeben.&lt;br /&gt;
&lt;br /&gt;
Dies Welt ist des Weiteren auch für das Anzeigen und Erstellen der neuen Spielwelt zuständig. Anzeigen tut sie, indem sie zuerst durch das Feld der ''Tiles'' geht und jedes aus dem Array heraus nimmt und dessen ''toString()''-Methode implizit aufruft. (vgl. Zeile 154 in World.java, dort wird nicht .toString() benutzt, sondern implizit das Tile in einen String durch addieren des Tiles zu einem String, aufgerufen). Das ganze passiert jedoch nur, falls das Tile überhaupt sichtbar (''.isVisible()'' liefert ''true'') ist. Ist dies nicht der Fall wird lediglich ein graues Viereck angezeigt. Das Tile ist nur dann nicht sichtbar, wenn es bisher noch nicht entdeckt worden ist und unterhalb der Oberfläche liegt.&lt;br /&gt;
&lt;br /&gt;
Dies führt uns zur Erstellung des Spielfeldes. Das Spielfeld wird in der Zeile 48 der Datei ''World.java'' erzeugt. Das Erstellen des Feldes basiert sehr stark auf ''kontrolliertem'' Zufall: So wird in Zeile 50 zunächst das gesamte Spielfeld auf ''Luft'' gesetzt. Dies wird erreicht, indem an jedem Index des Feldes ein neues Element vom Typ ''AirTile'' erstellt wird. Ein Teil dieser Luft-Teile wird im Folgenden durch zufällige ''DirtTiles'' ersetzt. Basis dafür ist dass innerhalb der for-Schleife in Zeile 56 an einer zufälligen Höhe nahe der Hälfte des Spielfeldes für jeden Spalteneintrag neu bestimmt wird, ob das Tile nach oben oder unten plaziert werden soll. Nachdem die Höhe des ''Horizontes'' erstellt wurde, werden alle folgenden Teile auch als ''DirtTiles'' erstellt.&lt;br /&gt;
&lt;br /&gt;
Sobald alle ''DirtTile''s erstellt wurden, werden erneut alle ''DirtTiles'' angefasst (Zeile 72) und zufällig durch entweder ein ''IronTile'' oder ein ''CoalTile'' ersetzt.&lt;br /&gt;
&lt;br /&gt;
Nun sind prinzipiell alle ''normalen'' Tiles erstellt und die Welt ansich ist einsatzbereit. Nun der Spaß des Programmes beginnt dann, wenn man die Welt langsam anfängt zu erforschen. Daher müssen noch alle Tiles auf ''unsichtbar'' gesetzt werden, die nicht direkt an der Oberfläche liegen. Das passiert, in dem für alle Spalten des Feldes gezählt wird, wieviele nicht-''AirTiles'' bereits gefunden wurden. Ist diese Zahl größer als eins, bedeutet dies, dass wir unterhalb der Oberfläche sind, und somit, zumindest initial alle Tiles unsichtbar sind. Diese Annahme gilt nur, wenn wir keine Überhänge in der Oberwelt zulassen.&lt;br /&gt;
&lt;br /&gt;
Nun wird der Diamant plaziert. Dies passiert auch wieder sehr zufällig, indem einfach eine zufällige Position eines ''DirtTile''s gesucht wird, die nahe am unteren Ende des Spielfeldes liegt. &lt;br /&gt;
&lt;br /&gt;
Nach dem Der Diamant gesetzt wurde, wird versucht, den Spieler leicht mittig auf dem Feld zu plazieren, indem nach einem ''AirTile'' in der Mittleren Spalte gesucht wird. Wurde kein Leeres Tile gefunden, so wird es bei der nächsten Spalte weiter probiert. Vorstellen kann man sich dies wie bei dem alten ''VierGewinnt''-Spiel: Der Spieler wird in einer Spalte herein geworfen und geschaut, ob er gleich wieder oben heraus fällt. Ist dies der Fall wird er einfach bei der nächsten Spalte eingeworfen und das ganze nochmal probiert.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Interaktion == &lt;br /&gt;
&lt;br /&gt;
Nachdem nun die Welt erstellt wurde, wir nun wissen wie wir sie anzeigen können, ist das Einzige was noch fehlt die Interaktion mit ihr. Zum Anfang des Programmes wird, wie bereits bekannt, die ''main''-Methode ausgeführt (siehe ''Main.java''). Diese sorgt dafür, dass wir auf dem gesamten Terminal schreiben können. Siehe dazu auch die [http://jline.sourceforge.net/ benutzte Bibliothek ''JLine''], da diese genauer beschreibt wie genau es funkioniert. Nachdem die Bibliothek JLine initialisiert wurde, werden die Variablen von Benutzer eingelesen (Mittels der Kommandozeilen Parameter) und das Spielfeld erstellt. Folgend wird die Hauptschleife, also die, die das gesamte Programm kontrolliert gestartet. Die Idee ist, dass nach dem die Methode ''runMainLoop(..)' zurück gekommen ist, das Programm beendet werden soll. Daher ist der letzte Aufruf der ''main''-Methode ein Reset des Terminals, damit Alles wieder auf seinen initialen Zustand zurück gesetzt wird.&lt;br /&gt;
&lt;br /&gt;
Das eigentlich Spannende passiert in der ''runMainLoopMethode(..)''. Hier werden zunächst einige statistische Variablen erzeugt, die speichern wieviele ''Tile'' von den unterschiedlichen Typen abgetragen worden sind. Nach der Initialisierung dieser Variablen wird die Schleife gestartet, die erst beendet wird, wenn das Spiel beendet werden soll (also, entweder wenn der Diamant gefunden wurde, oder aber sobald eine der Pfeiltasten oder ESC gedrückt wurde.)&lt;br /&gt;
&lt;br /&gt;
Zu Allererst wird die Welt aktualisiert, indem w.simulate() aufgerufen wird. Diese Methode aktualisiert zur Zeit lediglich den Player, aber könnte Theoretisch auch für allgemeinere Situationen benutzt werden. Nachdem die SpielWelt aktualisiert wurde, ist es an der Zeit die Welt anzuzeigen. Nach dem Anzeigen wird ausgewertet, ob der Benutzer einer der Tasten gedrückt hat. Ist dies der Fall, wird geschaut, ob eines der Tile gemined werden soll. Die Überprüfung passiert in der bereits erwähnten ''mine()''-Methode, die das Tile zurück liefert, welches gerade gemined wurde (dabei kann es sich prinzipiell auch um ein ''AirTile'' handeln.) Als nächstes wird diese Tile in der runMainLoop() ausgewertet, und die loop beendet, wenn ein ''DiamondTile'' gefunden wurde. Sonst werden einfach die Zähler der passenden Typen hochgesetzt. Nun beginnt die Schleife wieder von vorne, in dem sie zuerst die Welt aktualisiert, dann sie anzeigt und letztlich erneut die Eingaben des Benutzers auswertet.&lt;br /&gt;
&lt;br /&gt;
Nach dem die Schleife verlassen wurde, wird der ''GameOver''-Bildschirm angezeigt, der die statistischen Variablen ausgibt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Ende =&lt;br /&gt;
Damit sind wir auch schon am Ende des kurzen Überblicks über das Spiel angelangt. Jetzt bleibt euch nur zu tun, das ebend gelesene noch mal revue passieren zu lassen und evtl. eigenen Erweiterungen zu schreiben (Wie wäre es zum Beispiel mit einem Mehrspielermodus, oder mit Lava, welche dem Spieler Schaden zufügt). Auch könntet ihr einfach von vorne Anfangen und ein ganz eigenes Spiel schreiben.&lt;/div&gt;</summary>
		<author><name>Mario</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Wiimote-presentation&amp;diff=15735</id>
		<title>Wiimote-presentation</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Wiimote-presentation&amp;diff=15735"/>
		<updated>2011-03-09T20:07:04Z</updated>

		<summary type="html">&lt;p&gt;Mario: WiiMote how to&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Einrichten der [http://wiibrew.org/wiki/Wiimote WiiMote] für unsere Präsentationen (zum ersten Male im [[Javakurs2011]]). &lt;br /&gt;
&lt;br /&gt;
= Hardware =&lt;br /&gt;
&lt;br /&gt;
* Bluetooth&lt;br /&gt;
** Zum Einstatz kommt hier ein ThumbBlueToothUSB-Stick&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Software =&lt;br /&gt;
&lt;br /&gt;
* Betriebssytem: [[Linux]], alles andere ist eh nicht geeignet ...&lt;br /&gt;
** [[Ubuntu]], bei unserem Notebook, gesponsert von [[SPING]], ein [[Lubuntu]]&lt;br /&gt;
* Pakete:&lt;br /&gt;
** [[cwiid-dbg]] &lt;br /&gt;
** [[evince]]&lt;br /&gt;
** [[acroread9]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Konfiguration =&lt;br /&gt;
&lt;br /&gt;
Da die default konfigurationen von cwii schrott sind, wurde kurzehand eine eigene geschrieben, basierend auf ''acc_led'' und ''fps_config'' (zu finden unter: ''/etc/cwiid/wminput/'')&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;# Freitagsrunden presentation configuration using acc_led and fps_config&lt;br /&gt;
&lt;br /&gt;
# IR for mouse REL - fps style&lt;br /&gt;
Plugin.ir_fps.X	= REL_X&lt;br /&gt;
Plugin.ir_fps.Y	= REL_Y&lt;br /&gt;
&lt;br /&gt;
# set freitagsunden special layout of ids if wiimote is connected&lt;br /&gt;
Plugin.led.Led1 = 1&lt;br /&gt;
Plugin.led.Led2 = 1&lt;br /&gt;
Plugin.led.Led3 = 1&lt;br /&gt;
Plugin.led.Led4 = 1&lt;br /&gt;
&lt;br /&gt;
Plugin.led.Battery = 1&lt;br /&gt;
&lt;br /&gt;
#custom buttons&lt;br /&gt;
Wiimote.A               = BTN_LEFT  # mouse button left&lt;br /&gt;
Wiimote.B               = BTN_RIGHT # mouse button right&lt;br /&gt;
&lt;br /&gt;
Wiimote.Up              = KEY_UP&lt;br /&gt;
Wiimote.Down    	= KEY_DOWN&lt;br /&gt;
Wiimote.Left    	= KEY_LEFT&lt;br /&gt;
Wiimote.Right   	= KEY_RIGHT&lt;br /&gt;
&lt;br /&gt;
Wiimote.Minus  		= KEY_PAGEDOWN&lt;br /&gt;
Wiimote.Plus   		= KEY_PAGEUP&lt;br /&gt;
Wiimote.Home  		= KEY_F5&lt;br /&gt;
&lt;br /&gt;
Wiimote.1       	= KEY_TAB&lt;br /&gt;
Wiimote.2       	= KEY_ESC&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Starten und Beenden der Verbindung zur Wiimote =&lt;br /&gt;
&lt;br /&gt;
Um die Verbindung zur Wiimote herzustellen wurden folgende Scripte geschrieben, wobei das erste stets überprüft, ob eine neue FB gefunden wurde. Ist dies der fall, dann werden kurzzeittig alle 4 LEDs aktiviert (solange sie nicht auf die Infrarot leiste zeigen, ist dies der fall, dann wird nur eine LED aktiviert.) Nach dem die 4 LEDs aufgeleuchtet haben, kann die FB wie eine Maus benutzt werden: Zeigen auf dem Monitor wird die Position der Maus verändern, (A) für linke Maustaste, (B) für die rechte. (siehe auch obrigen Abschnitt)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;gksudo -- wminput -d -c /home/freitagsrunde/.cwiid/wminput/default ${WIIMOTE_MAC}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wobei ''${WIIMOTE_MAC}'' durch das Ergebnis von ''lswm'' (List Wimotes) ersetzt werden muss.&lt;br /&gt;
&lt;br /&gt;
Das andere erstellte Skript macht prinzipiell dies:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;gksudo killall wminput &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es beendet also die Kommunikation mit der WiiFB und dem Laptop.&lt;/div&gt;</summary>
		<author><name>Mario</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben/Kassenbon%2B%2B/Musterloesung&amp;diff=15698</id>
		<title>Javakurs/Übungsaufgaben/Kassenbon++/Musterloesung</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben/Kassenbon%2B%2B/Musterloesung&amp;diff=15698"/>
		<updated>2011-02-26T12:09:23Z</updated>

		<summary type="html">&lt;p&gt;Mario: Lösung added&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Receipt.java =&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
import java.util.Vector;&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * This class will be used to create a generic receipt&lt;br /&gt;
 */&lt;br /&gt;
public class Receipt {&lt;br /&gt;
	//! java api: vector storing items&lt;br /&gt;
	protected Vector&amp;lt;ReceiptItem&amp;gt; _list;&lt;br /&gt;
	&lt;br /&gt;
	//! Constructor clearing the receipt&lt;br /&gt;
	public Receipt() {&lt;br /&gt;
		_list = new Vector&amp;lt;ReceiptItem&amp;gt;();&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	//! add one item at the last position of list &lt;br /&gt;
	public void add(ReceiptItem receiptItem) {&lt;br /&gt;
		_list.add(receiptItem);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	//! prints all items to console, plus a fancy header ...&lt;br /&gt;
	public void print() {&lt;br /&gt;
		// print a nice header&lt;br /&gt;
		System.out.println(&amp;quot;╔════════════════════════╗&amp;quot;);&lt;br /&gt;
		System.out.println(&amp;quot;║ FreitagsrundenShop 042 ║&amp;quot;);&lt;br /&gt;
		System.out.println(&amp;quot;║   Franklinstr. 28/29   ║&amp;quot;);&lt;br /&gt;
		System.out.println(&amp;quot;║       10587 Berlin     ║&amp;quot;);&lt;br /&gt;
		System.out.println(&amp;quot;║     ☏ 030 314 213 86   ║&amp;quot;);&lt;br /&gt;
		System.out.println(&amp;quot;╚════════════════════════╝&amp;quot;);&lt;br /&gt;
		System.out.println();&lt;br /&gt;
		&lt;br /&gt;
		// print each item and add its price&lt;br /&gt;
		double sum = 0.0;&lt;br /&gt;
		for( ReceiptItem item : _list )&lt;br /&gt;
		{&lt;br /&gt;
			System.out.printf(&amp;quot;%-25s\n&amp;quot;, item.getName());&lt;br /&gt;
			System.out.printf(&amp;quot;%3dx %21.2f\n&amp;quot;, item.getAmount(),item.getPrice());&lt;br /&gt;
			&lt;br /&gt;
			sum += item.getPrice() * item.getAmount();&lt;br /&gt;
		}&lt;br /&gt;
		System.out.println();&lt;br /&gt;
		&lt;br /&gt;
		// add a nice underscore line (-3: 2 floating parts + one &amp;quot;.&amp;quot;)&lt;br /&gt;
		String line = new String();&lt;br /&gt;
		for( int i = -3; i &amp;lt; Math.log(sum)/Math.log(10);++i) {&lt;br /&gt;
			line += &amp;quot;=&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		System.out.printf(&amp;quot;%26s\n&amp;quot;, line);&lt;br /&gt;
		System.out.printf(&amp;quot;Summe EUR %16.2f\n&amp;quot;, sum);&lt;br /&gt;
		System.out.printf(&amp;quot;%26s\n&amp;quot;, line);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ReceiptItem.java =&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/**&lt;br /&gt;
 * This class will represent one item of a receipt&lt;br /&gt;
 */&lt;br /&gt;
public class ReceiptItem {&lt;br /&gt;
&lt;br /&gt;
	//! Identifier of given item&lt;br /&gt;
	protected String _name;&lt;br /&gt;
	&lt;br /&gt;
	//! amount of this items&lt;br /&gt;
	protected int _amount;&lt;br /&gt;
	&lt;br /&gt;
	//! price per item&lt;br /&gt;
	protected double _price;&lt;br /&gt;
	&lt;br /&gt;
	public ReceiptItem(String name, int amount, double price) {&lt;br /&gt;
		this.setName( name );&lt;br /&gt;
		this.setAmount( amount );&lt;br /&gt;
		this.setPrice( price );&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	public String getName() {&lt;br /&gt;
		return _name;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	public int getAmount() {&lt;br /&gt;
		return _amount;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	public double getPrice() {&lt;br /&gt;
		return _price;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	public void setName(String name) {&lt;br /&gt;
		if( name.equals(&amp;quot;&amp;quot;) != true ) {&lt;br /&gt;
			this._name = name;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	public void setAmount(int amount) {&lt;br /&gt;
		if( amount &amp;gt; 0 ) {&lt;br /&gt;
			this._amount = amount;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	public void setPrice(double price) {&lt;br /&gt;
		if( price &amp;gt; 0.0 ) {&lt;br /&gt;
			this._price = price;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mario</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben&amp;diff=15696</id>
		<title>Javakurs/Übungsaufgaben</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben&amp;diff=15696"/>
		<updated>2011-02-26T11:55:17Z</updated>

		<summary type="html">&lt;p&gt;Mario: /* Die Aufgaben */ Kassenbon++ link added&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. Einen kleinen Überblick zu den Schwierigkeitsgraden findet ihr ganz unten auf dieser Seite.&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;
== Die Aufgaben ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; 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;
 !Überprüfer(Status)&lt;br /&gt;
 !Musterlösung&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Von der Console zum HelloWorld | Vom Arbeiten mit der Konsole bis &amp;quot;Hallo Welt&amp;quot;]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Einfaches Arbeiten mit der Kommandozeile &amp;lt;br&amp;gt; Kompilieren und Ausführen von Javacode&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Variablen_und_Zuweisungen | Variablen und Zuweisungen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Deklarieren und definieren von Variablen&amp;lt;br&amp;gt;Grundlegende Regeln der Codeformatierung&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Cowsay | Cowsay oder &amp;quot;Wie macht die Kuh?&amp;quot;]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | etwas mehr Bildschirmausgabe&amp;lt;br&amp;gt;schöne Graphiken&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Kassenbon | Erstellen eines Kassenbons]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Arbeiten mit Variablen&amp;lt;br&amp;gt;Fallunterscheidungen&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Javamenue | Ein eigenes Menü]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Lesen von Benutzereingaben über die Konsole&amp;lt;br&amp;gt;Fallunterscheidungen&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Glücksspiel | Glücksspiel]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Anwenden von Fallunterscheidungen &lt;br /&gt;
 |&lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Arrays | Quickies Arrays]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Verwenden von Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Verschachtelte_Schleifen | 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;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Primzahlenaufgabe | Primzahlen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2-5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Geschicktes Einsetzen von Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Wetterstation | Wetterstation]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Geometrie | Geometrie]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Volumenberechnung&amp;lt;br&amp;gt;Lesen von Programmargumenten&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Zweierpotenzen | Zweierpotenzen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Schleifen_und_Modulo | Schleifen und Modulo]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Verwendung von Schleifen&amp;lt;br&amp;gt;Benutzung des Modulo-Operators&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Methoden | Quickies zu Methoden]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Zusammenfassung der Vorlesung&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/MathematischeMethoden | Mathematische Methoden]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schreiben eigener Methoden&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Schaltjahr | Schaltjahr]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schreiben von Methoden&amp;lt;br&amp;gt;Fallunterscheidungen&amp;lt;br&amp;gt;Benutzerinteraktion&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Crack_the_Password | Crack the Password]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2/3. VL&lt;br /&gt;
 | Passwörter knacken ;-)&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Rekursion_vs._Iteration | Rekursion vs. Iteration]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Fehler finden&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Lineare_Funktionen | Lineare Funktionen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Verwendung von Methoden&amp;lt;br&amp;gt;Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Fibonacci | Fibonaccizahlen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Brainfuck | Brainfuck vs Turingmaschine]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Arbeiten mit Arrays&amp;lt;br&amp;gt;Allgemeinwissen :-)&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Gau%C3%9F-Algorithmus | Gauß-Algorithmus]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Arrays und Matrizen&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Zahlenumrechner | Zahlenumrechner]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Arbeiten mit Methoden&amp;lt;br&amp;gt;mathematisches Denken&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Democracy | Der Fehler im System]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Fehler finden&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Quersumme | Spaß mit Quersummen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5 - 7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Benutzung des Modulo-Operators&amp;lt;br&amp;gt;Auslagern von Funktionalität in Methoden&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Appleman | Appleman und Fraktale]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schleifen, Umgang mit Fließkommazahlen&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/DiffusionLimitedAggregation | Diffusion Limited Aggregation]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | 2-dimensionale Arrays, Methoden, Schleifen, Grafische Ausgabe&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Palindrome | Palindrome]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Entwurf von Programmen&amp;lt;br&amp;gt;Parameterübergabe beim Programmaufruf&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/DDDText | DDDText]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 4. VL&lt;br /&gt;
 | Ausgabe von Buchstaben als 3D Buchstaben&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Hangman | Hangman]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Entwurf von Programmen&amp;lt;br&amp;gt;Arbeiten mit Methoden&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/SelectionSort | Selection Sort]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Verstehen von komplexeren Algorithmen&amp;lt;br&amp;gt;Schleifen und Arrays&amp;lt;br&amp;gt;(Hilfs-)Methoden&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Cäsar-Chiffre | Chiffrierung/Dechiffrierung (Cäsar)]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Eigenständiges Problemlösen. &amp;lt;br&amp;gt; Alle Konzepte des Kurses&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Abzaehlspiel | Abzählspiel]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |8&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Analyse von Aufgabenstellungen&amp;lt;br&amp;gt;Entwurf eines komplexen Programms von Grund auf&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Rennschnecke | Schneckenrennen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Objektorientierte Programmierung&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Studentendatenbank | Studentendatenbank]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Vertiefung in objektorientiertes Programmieren&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Kassenbon++ | Erstellen eines Kassenbons mit Kapselung]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Arbeiten mit Klassen&amp;lt;br&amp;gt;Kapselung&amp;lt;br&amp;gt;JavaAPI&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Multiarray| Mehrdimensionale Arrays]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5-9&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Methoden, Schleifen, Arrays&amp;lt;br&amp;gt;Objektorientierung&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Canvas | Virtuelles Canvas mit 3D-Objekten]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Arbeiten mit Methoden&amp;lt;br&amp;gt;mathematisches Denken&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Doom | ASCII DOOM ]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7-10&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Vertiefung in objektorientierte Programmierung&amp;lt;br&amp;gt;Benutzung der Java-API&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Textwordcount | Texte lesen und analysieren]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Eigenständiges Problemlösen &amp;lt;br&amp;gt; Goethe vs. Karl May&lt;br /&gt;
 | &lt;br /&gt;
 |&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 weden 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;
&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 'bash' eingeben, man sieht dann auch in welchem Verzeichnis man gerade ist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [[Javakurs_2011/Feedback|Feedback zum Kurs 2011]]&lt;br /&gt;
* [[Javakurs_2010/Feedback|Feedback zum Kurs 2010]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Java]]&lt;br /&gt;
[[Kategorie:Java_Aufgaben]]&lt;/div&gt;</summary>
		<author><name>Mario</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben/Kassenbon%2B%2B&amp;diff=15695</id>
		<title>Javakurs/Übungsaufgaben/Kassenbon++</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben/Kassenbon%2B%2B&amp;diff=15695"/>
		<updated>2011-02-26T11:51:09Z</updated>

		<summary type="html">&lt;p&gt;Mario: Neue Aufgabe&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Diese Aufgabe wird dir zeigen, wie man die Aufgabe [[Javakurs/Übungsaufgaben/Kassenbon]] via Kapselung löst.&lt;br /&gt;
&lt;br /&gt;
= Vorgabe =&lt;br /&gt;
Folgender Code könnte als Einstiegspunkt für einen Objektorientierten Kassebon dienen. Dabei sollen mehrere Klassen miteinander interagieren: '''Receipt''' (der eigentliche Kassenbon) und '''ReceiptItem'''(ein Eintrag in dem Kassenbon). Am Anfang der '''main'''-Methode wird der Kassebon erstellt. Dannach werden vier Einträge an den Bon angefügt und letzlich der Bon ausgegeben. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/**&lt;br /&gt;
 * Main class for Receipt++&lt;br /&gt;
 *&lt;br /&gt;
 * @author Mario&lt;br /&gt;
 */&lt;br /&gt;
public class Main {&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * This method will start all sub tests defined.&lt;br /&gt;
	 */&lt;br /&gt;
	public static void main(String[] args) {&lt;br /&gt;
		// buy some items and create a receipt for it&lt;br /&gt;
		Receipt r = new Receipt();		&lt;br /&gt;
		r.add( new ReceiptItem(&amp;quot;15 Fischstäbchen&amp;quot;, 3, 1.79) );&lt;br /&gt;
		r.add( new ReceiptItem(&amp;quot;Steaks&amp;quot;, 5, 3.99) );&lt;br /&gt;
		r.add( new ReceiptItem(&amp;quot;Naturelle (1l)&amp;quot;, 6, 4.99) );&lt;br /&gt;
		r.add( new ReceiptItem(&amp;quot;Magnum Eis Creme&amp;quot;, 2, 2.99) );&lt;br /&gt;
		&lt;br /&gt;
		// output receipt in a linear fashion&lt;br /&gt;
		r.print();&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Folgendes könnte die Ausgabe sein:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
╔════════════════════════╗&lt;br /&gt;
║ FreitagsrundenShop 042 ║&lt;br /&gt;
║   Franklinstr. 28/29   ║&lt;br /&gt;
║       10587 Berlin     ║&lt;br /&gt;
║     ☏ 030 314 213 86   ║&lt;br /&gt;
╚════════════════════════╝&lt;br /&gt;
&lt;br /&gt;
15 Fischstäbchen         &lt;br /&gt;
  3x                  1.79&lt;br /&gt;
Steaks                   &lt;br /&gt;
  5x                  3.99&lt;br /&gt;
Naturelle (1l)           &lt;br /&gt;
  6x                  4.99&lt;br /&gt;
Magnum Eis Creme         &lt;br /&gt;
  2x                  2.99&lt;br /&gt;
&lt;br /&gt;
                     =====&lt;br /&gt;
Summe EUR            61.24&lt;br /&gt;
                     =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Aufgabe =&lt;br /&gt;
&lt;br /&gt;
Sobald du die Idee der '''Vorgabe''' verstanden hast, solltest du dir folgende Aufgaben ansehen, damit du lauffähigen Code erzeugst:&lt;br /&gt;
&lt;br /&gt;
Das heißt:&lt;br /&gt;
* Schreibe eine Klasse '''Receipt''', die alle gekauften Gegenstände aufnimmt.&lt;br /&gt;
** Füge einen '''''default-''Konstruktor''' hinzu&lt;br /&gt;
** Als einzige Eigenschaft brauchst du hier einen dynamischen Speicher, der beliebig viele Objekte aufnehmen kann. Am besten die '''Vector'''-Klasse aus der JavaAPI.&lt;br /&gt;
*** Schau dir dazu die [http://download.oracle.com/javase/6/docs/api/java/util/Vector.html Dokumentation von Vector in der Java6 API] an. &lt;br /&gt;
*** Als Typ brauchst du dann '''Vector&amp;lt;ReceiptItem&amp;gt;''' &lt;br /&gt;
***:(Was genau dies bedeutet, ist erstmal egal, dass kannst du dir später selbst aneigenen oder jetzt einen Tutor fragen)&lt;br /&gt;
*** Wichtig ist die Methode '''Vector.add(..)''', welche ein Objekt anfügt.&lt;br /&gt;
** Schreibe dir auch noch eine Methode '''print''', die alle Elemente des Vectors ausgibt.&lt;br /&gt;
**: &amp;lt;pre&amp;gt;for( ReceiptItem item : VECTOR ){ }&amp;lt;/pre&amp;gt; gibt dir innerhalb der Schleife in der Variable ''item'' alle Elemente zurück, wenn du für '''VECTOR''' deinen Variable vom Typ ''Vector'' von oben angibst.&lt;br /&gt;
* Schreibe des Weiteren eine Klasse '''ReceiptItem''' welche nacher zu der '''Receipt'''-Klasse hinzugefügt werden wird.&lt;br /&gt;
** Diese braucht alle '''Eigenschaften''' eines Rechnungsgegenstandes, also ''Name'', ''Preis''(pro Einheit) und ''Anzahl''(der Einheiten)&lt;br /&gt;
** Stelle sicher, dass die Eigenschaften nur innerhalb der Klasse verändert werden können ('''public''' vs. '''private''' vs. '''protected''', welches ist hier richtig, warum?)&lt;br /&gt;
** Schreibe für jede Eigenschaft einen '''getter''' und einen '''setter'''&lt;br /&gt;
** Denke dran, bei den '''setter'''-Methoden die Eingabewerte zu überprüfen, damit du bspw. keine negativen anzahlen für Gegenstände angeben kannst&lt;br /&gt;
** Erstelle letzlich auch einen '''Konstruktor''' mit allen drei '''Eigenschaften'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Abschluss =&lt;br /&gt;
&lt;br /&gt;
Teste nun, ob deine Implementierung den Vorgaben entspricht. &lt;br /&gt;
&lt;br /&gt;
Auch ist zu empfehlen jetzt noch etwas mit dem Code zu ''spielen''. Folgende Aufgaben sind nur als Anregung gedacht, und werden ohne Musterlösung gegeben:&lt;br /&gt;
* füge weitere Objekte ein&lt;br /&gt;
* versuche die Kapselung zu brechen (Negative Preise, Leere Namen, ...). &lt;br /&gt;
* Brieftaschen Aufgabe lösen: Was müsstest du tun, um eine Rechnung zu erstellen, die möglichst genau einen gegebenen Betrag kostet.&lt;/div&gt;</summary>
		<author><name>Mario</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Javakurs_2011&amp;diff=15663</id>
		<title>Javakurs 2011</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Javakurs_2011&amp;diff=15663"/>
		<updated>2011-02-12T18:23:32Z</updated>

		<summary type="html">&lt;p&gt;Mario: Vortragsnummern hinzugefügt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
Auch dieses Jahres bietet die Freitagsrunde wieder einen Javakurs an!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der Kurs findet zwischen dem WiSe10/11 und dem SoSe2011 statt.&amp;lt;br&amp;gt;&lt;br /&gt;
Er richtet sich vor allem an Programmieranfänger, dennoch ist wirklich jeder herzlich willkommen der an Java interessiert ist.&lt;br /&gt;
Wir müssen aber ausdrücklich darauf hinweisen das dieser Kurs NICHT zur Klausurvorbereitung gedacht ist.&lt;br /&gt;
&lt;br /&gt;
Die Vorlesungsräume werden noch bekanntgegeben.&amp;lt;br&amp;gt;&lt;br /&gt;
Die offenen Übungen finden voraussichtlich in den Räumen TEL106 und TEL206 statt. &lt;br /&gt;
&lt;br /&gt;
Der Kurs ist kostenlos.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;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;
 !Do 17.03.2011&lt;br /&gt;
 !Fr 18.03.2011&lt;br /&gt;
 !Mo 21.03.2011&lt;br /&gt;
 !Di 22.03.2011&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 |10:00-11:15&lt;br /&gt;
 |bgcolor=&amp;quot;#E8E8E8&amp;quot; |[[Javakurs 2011/VortragTemplate | 01: Hello World]]&lt;br /&gt;
 |bgcolor=&amp;quot;#E8E8E8&amp;quot; |[[Javakurs 2011/VortragTemplate | 03: Methoden]]&lt;br /&gt;
 |bgcolor=&amp;quot;#E8E8E8&amp;quot; |[[Javakurs 2011/VortragTemplate | 04: Von der Aufgabe zum Code]]&lt;br /&gt;
 |bgcolor=&amp;quot;#E8E8E8&amp;quot; |[[Javakurs 2011/VortragTemplate | 06: Vererbung]]&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 |11:30-13:15&lt;br /&gt;
 |Übung&lt;br /&gt;
 |Übung&lt;br /&gt;
 |Übung&lt;br /&gt;
 |Übung&lt;br /&gt;
 |- bgcolor=&amp;quot;#FFFFFF&amp;quot;&lt;br /&gt;
 |13:15-14:15&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;
 |14:15-15:15&lt;br /&gt;
 |[[Javakurs 2011/VortragTemplate | 02: Schleifen und Felder]]&lt;br /&gt;
 | bgcolor=&amp;quot;#F5F5F5&amp;quot; rowspan=2 | Übung&lt;br /&gt;
 |[[Javakurs 2011/VortragTemplate | 05: Objekte und Kapselung]]&lt;br /&gt;
 | bgcolor=&amp;quot;#F5F5F5&amp;quot; rowspan=2 |Übung&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 |15:30-17:30&lt;br /&gt;
 | Übung&lt;br /&gt;
 | Übung&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1&amp;gt;'''[[Javakurs/Übungsaufgaben | --&amp;gt; Zu den Übungsaufgaben &amp;lt;-- ]]'''&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Anmeldung ==&lt;br /&gt;
Um unverbindlich Anmeldung unter &lt;br /&gt;
[http://anmeldung.freitagsrunde.org/?event=javakurs11 http://anmeldung.freitagsrunde.org] &lt;br /&gt;
wird zur besseren Planbarkeit gebeten, damit niemand auf dem Boden sitzen muss ;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Warum teilnehmen? ==&lt;br /&gt;
Der Javakurs richtet sich an Programmieranfänger, die gerne Java lernen möchten. Wir haben uns zum Ziel gesetzt, möglichst gut verständliche und vor allem motivierende Lehre zu machen weil wir glauben, dass die Uni-Lehre manchmal zu langweilig ist und deshalb viele Studenten unnötigerweise Probleme haben. Lernen sollte Spass machen, nicht anstrengen. Folglich dient der Kurs auch nicht der Vorbereitung auf Tests oder Klausuren.&lt;br /&gt;
&lt;br /&gt;
Hauptsächlich hoffen wir damit den Teilnehmern von MPGI2 einen Kickstart für ihre Vorlesung zu geben, weil es je nach Dozent und Zuhörer manchmal zu schnell und manchmal zu langsam geht. Allerdings steht der Kurs jedem offen!&lt;br /&gt;
&lt;br /&gt;
Wenn du also einfach gerne Java lernen möchtest, dann bist du herzlich eingeladen!&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 Sprache Java quälen. Die Situation hat sich seitdem zwar etwas geändert, aber vielen, gerade Studenten aus Informatik-fremden Studiengängen ist immer noch die Sprache selbst und nicht die Algorithmen eine Hürde.&lt;br /&gt;
&lt;br /&gt;
Der Kurs wird wie im letzten Jahr komplett von engagierten StudentInnen geplant und durchgeführt. Insgesamt stehen euch in den Übungen zwölf TutorInnen mit Rat und Tat zur Seite, im Schnitt also einer für fünf bis zehn Studentierende. Aus den Reihen der TutorInnen rekrutieren sich auch unsere Vortragenden in den Vorlesungen. Inzwischen haben wir einiges an Erfahrung sammeln können, überarbeiten aber jedes Jahr die Vorträge neu und unterziehen sie einem Peer-Review Prozess. Wir hoffen, dass wir damit einen möglichst hohe Qualität bieten können.&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 weiterführende Lehrveranstaltungen und das Lehrpersonal der Uni 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;
'''Es gibt für diesen Kurs keinerlei Scheine oder sonstige Anrechnung.'''&lt;br /&gt;
&lt;br /&gt;
Es gibt auch keinerlei Anwesenheitspflicht. Dementsprechend entspannt ist allerdings auch die Atmosphäre. :)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Teilnahmevoraussetzungen ==&lt;br /&gt;
Der Javakurs ist für Programmieranfänger konzipiert. Was wir allerdings voraussetzen sind rudimentäre Programmierkenntnisse und Kenntnisse wie man einen Computer bedient. Wir bringen euch weder bei wie ihr eine Datei öffnetoder einen Browser bedient, noch was ein IF/ELSE-Konstrukt ist und wie/wofür man es benutzt.&lt;br /&gt;
&lt;br /&gt;
Die zweite Voraussetzung ist eine Möglichkeit bzw. ein Account um in den Übungsräumen zu arbeiten. Die Übungen finden in den Rechnerräumen des IRB statt. In diese Rechner kann man sich mit einem TubIT- oder CS-Account einloggen. Wenn du noch keinen TubIT oder CS-Account hast bist du vermutlich auch nicht Student an der TU Berlin. Dann ist die einfachste Lösung für Dich deinen eigenen Laptop mitzubringen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Termine &amp;amp; Räume == &lt;br /&gt;
Der Javakurs findet vom 17.3.2011 bis 22.3.2011 statt. Das Wochenende ist natürlich frei.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Steckdosen sind zwar vorhanden, aber bringt bitte ein paar Mehrfachsteckdosen mit, andere freuen sich ;)&lt;br /&gt;
&lt;br /&gt;
== Inhalte ==&lt;br /&gt;
&lt;br /&gt;
=== Vorlesungen ===&lt;br /&gt;
&lt;br /&gt;
Eine Übersicht über die Inhalte der Vorlesungen folgt in Kürze.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== offene Übungen ===&lt;br /&gt;
&lt;br /&gt;
Der praktische Teil des Kurses orientiert sich vor allem daran was ihr selbst ausprobieren wollt.&amp;lt;br&amp;gt;&lt;br /&gt;
Ihr bestimmt selbst in welchem Schwierigkeitsgrad ihr lernen wollt und wie hoch euer Arbeitspensum ist.&lt;br /&gt;
Die folgenden Übungsaufgaben sind als Vorschläge zu verstehen aus denen ihr auswählen könnt, was und vor allem wie viel davon ihr versuchen wollt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;'''[[Javakurs/Übungsaufgaben | --&amp;gt; Zu den Übungsaufgaben &amp;lt;-- ]]'''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ansprechpartner ==&lt;br /&gt;
Solltet ihr Fragen zu Organisatorischem haben sind wir unter&lt;br /&gt;
&amp;lt;email&amp;gt;javakurs2011@lists.freitagsrunde.org&amp;lt;/email&amp;gt;&lt;br /&gt;
gerne für euch da!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [[Javakurs 2011/Tutorenportal]]&lt;br /&gt;
* [[Javakurs 2011/Feedback]]&lt;br /&gt;
* [[Javakurs 2011/Orga]]&lt;br /&gt;
* [[Javakurs2008| Seiten des Javakurses 2008]]&lt;br /&gt;
* [[Javakurs2009| Seiten des Javakurses 2009]]&lt;br /&gt;
* [[Javakurs2010| Seiten des Javakurses 2010]]&lt;br /&gt;
* [[Javakurs/Übungsaufgaben|Übungsaufgaben]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie: Veranstaltungen der Freitagsrunde]]&lt;/div&gt;</summary>
		<author><name>Mario</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Javakurs_2011/Vortrag03&amp;diff=15662</id>
		<title>Javakurs 2011/Vortrag03</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Javakurs_2011/Vortrag03&amp;diff=15662"/>
		<updated>2011-02-12T18:21:48Z</updated>

		<summary type="html">&lt;p&gt;Mario: Template erstellt + Anpassung von Vortragenden&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''&lt;br /&gt;
 Beispiel Inhalt! Sollte vorher kopiert und in der Link neu erstellt werden!&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
= VORTRAGS TITEL =&lt;br /&gt;
&lt;br /&gt;
Vortragende: &lt;br /&gt;
* '''Mario''' &amp;lt;mario at freitagsrunde.org&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Themen ===&lt;br /&gt;
* KURZE THEMEN LISTE&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Folien ===&lt;br /&gt;
* PDFS mit Größenangabe&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Mitschnitt ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- TBD von Thaddäus&lt;br /&gt;
* [[Javakurs_2010/Vortrag01/HQ-Flash|FLASH-Video im Browser in bester 1536x768 Aufloesung anzeigen]]    (&amp;lt;b&amp;gt;1.1 GB&amp;lt;/b&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Downloads: &amp;lt;br&amp;gt;&lt;br /&gt;
* [http://stan.freitagsrunde.org/j0/LE1_ipod.mp4  IPOD-mp4] (174MB)&lt;br /&gt;
* [http://stan.freitagsrunde.org/j0/LE1_HQ.mp4 High Quality] (1.1GB &amp;lt;i&amp;gt;FMP4&amp;lt;/i&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dhflashplayer&amp;gt;filepath=http://stan.freitagsrunde.org/j8/7-4-08-LE1.flv|width=480|height=360&amp;lt;/dhflashplayer&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [http://stan.freitagsrunde.org/j8/7-4-08-LE1_HQ.avi High Quality] (343MB &amp;lt;i&amp;gt;x264&amp;lt;/i&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
[[Javakurs_2010 | zurück zur Hauptseite]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Java]]&lt;/div&gt;</summary>
		<author><name>Mario</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Javakurs_2011&amp;diff=15661</id>
		<title>Javakurs 2011</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Javakurs_2011&amp;diff=15661"/>
		<updated>2011-02-12T18:18:34Z</updated>

		<summary type="html">&lt;p&gt;Mario: Termintabelle angefügt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
Auch dieses Jahres bietet die Freitagsrunde wieder einen Javakurs an!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der Kurs findet zwischen dem WiSe10/11 und dem SoSe2011 statt.&amp;lt;br&amp;gt;&lt;br /&gt;
Er richtet sich vor allem an Programmieranfänger, dennoch ist wirklich jeder herzlich willkommen der an Java interessiert ist.&lt;br /&gt;
Wir müssen aber ausdrücklich darauf hinweisen das dieser Kurs NICHT zur Klausurvorbereitung gedacht ist.&lt;br /&gt;
&lt;br /&gt;
Die Vorlesungsräume werden noch bekanntgegeben.&amp;lt;br&amp;gt;&lt;br /&gt;
Die offenen Übungen finden voraussichtlich in den Räumen TEL106 und TEL206 statt. &lt;br /&gt;
&lt;br /&gt;
Der Kurs ist kostenlos.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;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;
 !Do 17.03.2011&lt;br /&gt;
 !Fr 18.03.2011&lt;br /&gt;
 !Mo 21.03.2011&lt;br /&gt;
 !Di 22.03.2011&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 |10:00-11:15&lt;br /&gt;
 |bgcolor=&amp;quot;#E8E8E8&amp;quot; |[[Javakurs 2011/VortragTemplate | Hello World]]&lt;br /&gt;
 |bgcolor=&amp;quot;#E8E8E8&amp;quot; |[[Javakurs 2011/VortragTemplate | Methoden]]&lt;br /&gt;
 |bgcolor=&amp;quot;#E8E8E8&amp;quot; |[[Javakurs 2011/VortragTemplate | Von der Aufgabe zum Code]]&lt;br /&gt;
 |bgcolor=&amp;quot;#E8E8E8&amp;quot; |[[Javakurs 2011/VortragTemplate | Vererbung]]&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 |11:30-13:15&lt;br /&gt;
 |Übung&lt;br /&gt;
 |Übung&lt;br /&gt;
 |Übung&lt;br /&gt;
 |Übung&lt;br /&gt;
 |- bgcolor=&amp;quot;#FFFFFF&amp;quot;&lt;br /&gt;
 |13:15-14:15&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;
 |14:15-15:15&lt;br /&gt;
 |[[Javakurs 2011/VortragTemplate | Schleifen und Felder]]&lt;br /&gt;
 | bgcolor=&amp;quot;#F5F5F5&amp;quot; rowspan=2 | Übung&lt;br /&gt;
 |[[Javakurs 2011/VortragTemplate | Objekte und Kapselung]]&lt;br /&gt;
 | bgcolor=&amp;quot;#F5F5F5&amp;quot; rowspan=2 |Übung&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 |15:30-17:30&lt;br /&gt;
 | Übung&lt;br /&gt;
 | Übung&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1&amp;gt;'''[[Javakurs/Übungsaufgaben | --&amp;gt; Zu den Übungsaufgaben &amp;lt;-- ]]'''&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Anmeldung ==&lt;br /&gt;
Um unverbindlich Anmeldung unter &lt;br /&gt;
[http://anmeldung.freitagsrunde.org/?event=javakurs11 http://anmeldung.freitagsrunde.org] &lt;br /&gt;
wird zur besseren Planbarkeit gebeten, damit niemand auf dem Boden sitzen muss ;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Warum teilnehmen? ==&lt;br /&gt;
Der Javakurs richtet sich an Programmieranfänger, die gerne Java lernen möchten. Wir haben uns zum Ziel gesetzt, möglichst gut verständliche und vor allem motivierende Lehre zu machen weil wir glauben, dass die Uni-Lehre manchmal zu langweilig ist und deshalb viele Studenten unnötigerweise Probleme haben. Lernen sollte Spass machen, nicht anstrengen. Folglich dient der Kurs auch nicht der Vorbereitung auf Tests oder Klausuren.&lt;br /&gt;
&lt;br /&gt;
Hauptsächlich hoffen wir damit den Teilnehmern von MPGI2 einen Kickstart für ihre Vorlesung zu geben, weil es je nach Dozent und Zuhörer manchmal zu schnell und manchmal zu langsam geht. Allerdings steht der Kurs jedem offen!&lt;br /&gt;
&lt;br /&gt;
Wenn du also einfach gerne Java lernen möchtest, dann bist du herzlich eingeladen!&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 Sprache Java quälen. Die Situation hat sich seitdem zwar etwas geändert, aber vielen, gerade Studenten aus Informatik-fremden Studiengängen ist immer noch die Sprache selbst und nicht die Algorithmen eine Hürde.&lt;br /&gt;
&lt;br /&gt;
Der Kurs wird wie im letzten Jahr komplett von engagierten StudentInnen geplant und durchgeführt. Insgesamt stehen euch in den Übungen zwölf TutorInnen mit Rat und Tat zur Seite, im Schnitt also einer für fünf bis zehn Studentierende. Aus den Reihen der TutorInnen rekrutieren sich auch unsere Vortragenden in den Vorlesungen. Inzwischen haben wir einiges an Erfahrung sammeln können, überarbeiten aber jedes Jahr die Vorträge neu und unterziehen sie einem Peer-Review Prozess. Wir hoffen, dass wir damit einen möglichst hohe Qualität bieten können.&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 weiterführende Lehrveranstaltungen und das Lehrpersonal der Uni 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;
'''Es gibt für diesen Kurs keinerlei Scheine oder sonstige Anrechnung.'''&lt;br /&gt;
&lt;br /&gt;
Es gibt auch keinerlei Anwesenheitspflicht. Dementsprechend entspannt ist allerdings auch die Atmosphäre. :)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Teilnahmevoraussetzungen ==&lt;br /&gt;
Der Javakurs ist für Programmieranfänger konzipiert. Was wir allerdings voraussetzen sind rudimentäre Programmierkenntnisse und Kenntnisse wie man einen Computer bedient. Wir bringen euch weder bei wie ihr eine Datei öffnetoder einen Browser bedient, noch was ein IF/ELSE-Konstrukt ist und wie/wofür man es benutzt.&lt;br /&gt;
&lt;br /&gt;
Die zweite Voraussetzung ist eine Möglichkeit bzw. ein Account um in den Übungsräumen zu arbeiten. Die Übungen finden in den Rechnerräumen des IRB statt. In diese Rechner kann man sich mit einem TubIT- oder CS-Account einloggen. Wenn du noch keinen TubIT oder CS-Account hast bist du vermutlich auch nicht Student an der TU Berlin. Dann ist die einfachste Lösung für Dich deinen eigenen Laptop mitzubringen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Termine &amp;amp; Räume == &lt;br /&gt;
Der Javakurs findet vom 17.3.2011 bis 22.3.2011 statt. Das Wochenende ist natürlich frei.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Steckdosen sind zwar vorhanden, aber bringt bitte ein paar Mehrfachsteckdosen mit, andere freuen sich ;)&lt;br /&gt;
&lt;br /&gt;
== Inhalte ==&lt;br /&gt;
&lt;br /&gt;
=== Vorlesungen ===&lt;br /&gt;
&lt;br /&gt;
Eine Übersicht über die Inhalte der Vorlesungen folgt in Kürze.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== offene Übungen ===&lt;br /&gt;
&lt;br /&gt;
Der praktische Teil des Kurses orientiert sich vor allem daran was ihr selbst ausprobieren wollt.&amp;lt;br&amp;gt;&lt;br /&gt;
Ihr bestimmt selbst in welchem Schwierigkeitsgrad ihr lernen wollt und wie hoch euer Arbeitspensum ist.&lt;br /&gt;
Die folgenden Übungsaufgaben sind als Vorschläge zu verstehen aus denen ihr auswählen könnt, was und vor allem wie viel davon ihr versuchen wollt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;'''[[Javakurs/Übungsaufgaben | --&amp;gt; Zu den Übungsaufgaben &amp;lt;-- ]]'''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ansprechpartner ==&lt;br /&gt;
Solltet ihr Fragen zu Organisatorischem haben sind wir unter&lt;br /&gt;
&amp;lt;email&amp;gt;javakurs2011@lists.freitagsrunde.org&amp;lt;/email&amp;gt;&lt;br /&gt;
gerne für euch da!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [[Javakurs 2011/Tutorenportal]]&lt;br /&gt;
* [[Javakurs 2011/Feedback]]&lt;br /&gt;
* [[Javakurs 2011/Orga]]&lt;br /&gt;
* [[Javakurs2008| Seiten des Javakurses 2008]]&lt;br /&gt;
* [[Javakurs2009| Seiten des Javakurses 2009]]&lt;br /&gt;
* [[Javakurs2010| Seiten des Javakurses 2010]]&lt;br /&gt;
* [[Javakurs/Übungsaufgaben|Übungsaufgaben]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie: Veranstaltungen der Freitagsrunde]]&lt;/div&gt;</summary>
		<author><name>Mario</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben&amp;diff=15660</id>
		<title>Javakurs/Übungsaufgaben</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben&amp;diff=15660"/>
		<updated>2011-02-12T18:09:37Z</updated>

		<summary type="html">&lt;p&gt;Mario: /* Die Aufgaben */ Schwierigkeiten angepasst&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. Einen kleinen Überblick zu den Schwierigkeitsgraden findet ihr ganz unten auf dieser Seite.&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;
== Die Aufgaben ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; 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;
 !Überprüfer(Status)&lt;br /&gt;
 !Musterlösung&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Von der Console zum HelloWorld | Vom Arbeiten mit der Konsole bis &amp;quot;Hallo Welt&amp;quot;]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Einfaches Arbeiten mit der Kommandozeile &amp;lt;br&amp;gt; Kompilieren und Ausführen von Javacode&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Variablen_und_Zuweisungen | Variablen und Zuweisungen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Deklarieren und definieren von Variablen&amp;lt;br&amp;gt;Grundlegende Regeln der Codeformatierung&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Cowsay | Cowsay oder &amp;quot;Wie macht die Kuh?&amp;quot;]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | etwas mehr Bildschirmausgabe&amp;lt;br&amp;gt;schöne Graphiken&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Kassenbon | Erstellen eines Kassenbons]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Arbeiten mit Variablen&amp;lt;br&amp;gt;Fallunterscheidungen&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Javamenue | Ein eigenes Menü]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Lesen von Benutzereingaben über die Konsole&amp;lt;br&amp;gt;Fallunterscheidungen&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Glücksspiel | Glücksspiel]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Anwenden von Fallunterscheidungen &lt;br /&gt;
 |&lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Arrays | Quickies Arrays]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Verwenden von Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Verschachtelte_Schleifen | 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;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Primzahlenaufgabe | Primzahlen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2-5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Geschicktes Einsetzen von Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Wetterstation | Wetterstation]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Geometrie | Geometrie]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Volumenberechnung&amp;lt;br&amp;gt;Lesen von Programmargumenten&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Zweierpotenzen | Zweierpotenzen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Schleifen_und_Modulo | Schleifen und Modulo]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Verwendung von Schleifen&amp;lt;br&amp;gt;Benutzung des Modulo-Operators&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Methoden | Quickies zu Methoden]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Zusammenfassung der Vorlesung&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/MathematischeMethoden | Mathematische Methoden]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schreiben eigener Methoden&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Schaltjahr | Schaltjahr]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schreiben von Methoden&amp;lt;br&amp;gt;Fallunterscheidungen&amp;lt;br&amp;gt;Benutzerinteraktion&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Crack_the_Password | Crack the Password]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2/3. VL&lt;br /&gt;
 | Passwörter knacken ;-)&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Rekursion_vs._Iteration | Rekursion vs. Iteration]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Fehler finden&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Lineare_Funktionen | Lineare Funktionen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Verwendung von Methoden&amp;lt;br&amp;gt;Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Fibonacci | Fibonaccizahlen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Brainfuck | Brainfuck vs Turingmaschine]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Arbeiten mit Arrays&amp;lt;br&amp;gt;Allgemeinwissen :-)&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Gau%C3%9F-Algorithmus | Gauß-Algorithmus]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Arrays und Matrizen&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Zahlenumrechner | Zahlenumrechner]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Arbeiten mit Methoden&amp;lt;br&amp;gt;mathematisches Denken&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Democracy | Der Fehler im System]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Fehler finden&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Quersumme | Spaß mit Quersummen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5 - 7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Benutzung des Modulo-Operators&amp;lt;br&amp;gt;Auslagern von Funktionalität in Methoden&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Appleman | Appleman und Fraktale]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schleifen, Umgang mit Fließkommazahlen&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/DiffusionLimitedAggregation | Diffusion Limited Aggregation]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | 2-dimensionale Arrays, Methoden, Schleifen, Grafische Ausgabe&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Palindrome | Palindrome]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Entwurf von Programmen&amp;lt;br&amp;gt;Parameterübergabe beim Programmaufruf&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/DDDText | DDDText]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 4. VL&lt;br /&gt;
 | Ausgabe von Buchstaben als 3D Buchstaben&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Hangman | Hangman]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Entwurf von Programmen&amp;lt;br&amp;gt;Arbeiten mit Methoden&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/SelectionSort | Selection Sort]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Verstehen von komplexeren Algorithmen&amp;lt;br&amp;gt;Schleifen und Arrays&amp;lt;br&amp;gt;(Hilfs-)Methoden&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Cäsar-Chiffre | Chiffrierung/Dechiffrierung (Cäsar)]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Eigenständiges Problemlösen. &amp;lt;br&amp;gt; Alle Konzepte des Kurses&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Abzaehlspiel | Abzählspiel]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |8&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Analyse von Aufgabenstellungen&amp;lt;br&amp;gt;Entwurf eines komplexen Programms von Grund auf&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Rennschnecke | Schneckenrennen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Objektorientierte Programmierung&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Studentendatenbank | Studentendatenbank]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Vertiefung in objektorientiertes Programmieren&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Multiarray| Mehrdimensionale Arrays]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5-9&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Methoden, Schleifen, Arrays&amp;lt;br&amp;gt;Objektorientierung&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Canvas | Virtuelles Canvas mit 3D-Objekten]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Arbeiten mit Methoden&amp;lt;br&amp;gt;mathematisches Denken&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Doom | ASCII DOOM ]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7-10&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Vertiefung in objektorientierte Programmierung&amp;lt;br&amp;gt;Benutzung der Java-API&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Textwordcount | Texte lesen und analysieren]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Eigenständiges Problemlösen &amp;lt;br&amp;gt; Goethe vs. Karl May&lt;br /&gt;
 | &lt;br /&gt;
 |&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 weden 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;
&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 'bash' eingeben, man sieht dann auch in welchem Verzeichnis man gerade ist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [[Javakurs_2011/Feedback|Feedback zum Kurs 2011]]&lt;br /&gt;
* [[Javakurs_2010/Feedback|Feedback zum Kurs 2010]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Java]]&lt;br /&gt;
[[Kategorie:Java_Aufgaben]]&lt;/div&gt;</summary>
		<author><name>Mario</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Diskussion:Javakurs/%C3%9Cbungsaufgaben/DDDText&amp;diff=15659</id>
		<title>Diskussion:Javakurs/Übungsaufgaben/DDDText</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Diskussion:Javakurs/%C3%9Cbungsaufgaben/DDDText&amp;diff=15659"/>
		<updated>2011-02-12T17:56:20Z</updated>

		<summary type="html">&lt;p&gt;Mario: Cowsay?&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ist diese Aufgabe genauso wie cowsay (was hat sie mit der 4. vl zu tun?) --[[Benutzer:Mario|Mario]] 18:56, 12. Feb. 2011 (CET)&lt;/div&gt;</summary>
		<author><name>Mario</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben&amp;diff=15658</id>
		<title>Javakurs/Übungsaufgaben</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben&amp;diff=15658"/>
		<updated>2011-02-12T17:26:13Z</updated>

		<summary type="html">&lt;p&gt;Mario: Feedback 11 + Freiteilen&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. Einen kleinen Überblick zu den Schwierigkeitsgraden findet ihr ganz unten auf dieser Seite.&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;
== Die Aufgaben ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; 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;
 !Überprüfer(Status)&lt;br /&gt;
 !Musterlösung&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Von der Console zum HelloWorld | Vom Arbeiten mit der Konsole bis &amp;quot;Hallo Welt&amp;quot;]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Einfaches Arbeiten mit der Kommandozeile &amp;lt;br&amp;gt; Kompilieren und Ausführen von Javacode&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Variablen_und_Zuweisungen | Variablen und Zuweisungen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Deklarieren und definieren von Variablen&amp;lt;br&amp;gt;grundlegende Regeln der Codeformatierung&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Cowsay | Cowsay oder &amp;quot;Wie macht die Kuh?&amp;quot;]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | etwas mehr Bildschirmausgabe&amp;lt;br&amp;gt;schöne Graphiken&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Kassenbon | Erstellen eines Kassenbons]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Arbeiten mit Variablen&amp;lt;br&amp;gt;Fallunterscheidungen&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Javamenue | Ein eigenes Menü]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Lesen von Benutzereingaben über die Konsole&amp;lt;br&amp;gt;Fallunterscheidungen&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Glücksspiel | Glücksspiel]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Anwenden von Fallunterscheidungen &lt;br /&gt;
 |&lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Arrays | Quickies Arrays]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Verwenden von Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Verschachtelte_Schleifen | 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;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Primzahlenaufgabe | Primzahlen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2-5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Geschicktes Einsetzen von Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Wetterstation | Wetterstation]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Geometrie | Geometrie]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Zweierpotenzen | Zweierpotenzen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Schleifen_und_Modulo | Schleifen und Modulo]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Verwendung von Schleifen&amp;lt;br&amp;gt;Benutzung des Modulo-Operators&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Methoden | Quickies zu Methoden]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/MathematischeMethoden | Mathematische Methoden]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schreiben eigener Methoden&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Schaltjahr | Schaltjahr]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schreiben von Methoden&amp;lt;br&amp;gt;Fallunterscheidungen&amp;lt;br&amp;gt;Benutzerinteraktion&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Crack_the_Password | Crack the Password]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2/3. VL&lt;br /&gt;
 | Passwörter knacken ;-)&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Rekursion_vs._Iteration | Rekursion vs. Iteration]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Fehler finden&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Lineare_Funktionen | Lineare Funktionen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Verwendung von Methoden&amp;lt;br&amp;gt;Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Fibonacci | Fibonaccizahlen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Brainfuck | Brainfuck vs Turingmaschine]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Arbeiten mit Arrays&amp;lt;br&amp;gt;Allgemeinwissen :-)&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Gau%C3%9F-Algorithmus | Gauß-Algorithmus]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Arrays und Matrizen&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Zahlenumrechner | Zahlenumrechner]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Arbeiten mit Methoden&amp;lt;br&amp;gt;mathematisches Denken&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Democracy | Der Fehler im System]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Fehler finden&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Quersumme | Spaß mit Quersummen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5 - 7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Benutzung des Modulo-Operators&amp;lt;br&amp;gt;Auslagern von Funktionalität in Methoden&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Appleman | Appleman und Fraktale]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schleifen, Umgang mit Fließkommazahlen&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/DiffusionLimitedAggregation | Diffusion Limited Aggregation]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | 2-dimensionale Arrays, Methoden, Schleifen&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Palindrome | Palindrome]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Entwurf von Programmen&amp;lt;br&amp;gt;Parameterübergabe beim Programmaufruf&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/DDDText | DDDText]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 4. VL&lt;br /&gt;
 | Ausgabe von Buchstaben als 3D Buchstaben&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Hangman | Hangman]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Entwurf von Programmen&amp;lt;br&amp;gt;Arbeiten mit Methoden&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/SelectionSort | Selection Sort]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Verstehen von komplexeren Algorithmen&amp;lt;br&amp;gt;Schleifen und Arrays&amp;lt;br&amp;gt;(Hilfs-)Methoden&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Cäsar-Chiffre | Chiffrierung/Dechiffrierung (Cäsar)]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |9&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Eigenständiges Problemlösen. &amp;lt;br&amp;gt; Alle Konzepte des Kurses&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Abzaehlspiel | Abzählspiel]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Analyse von Aufgabenstellungen&amp;lt;br&amp;gt;Entwurf eines komplexen Programms von Grund auf&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Rennschnecke | Schneckenrennen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Objektorientierte Programmierung&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Studentendatenbank | Studentendatenbank]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Vertiefung in objektorientiertes Programmieren&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Multiarray| Mehrdimensionale Arrays]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |10&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Methoden, Schleifen, Arrays&amp;lt;br&amp;gt;Objektorientierung&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Canvas | Virtuelles Canvas mit 3D-Objekten]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Arbeiten mit Methoden&amp;lt;br&amp;gt;mathematisches Denken&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Doom | ASCII DOOM ]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |8&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Vertiefung in objektorientierte Programmierung&amp;lt;br&amp;gt;Benutzung der Java-API&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Textwordcount | Texte lesen und analysieren]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | eigenständiges Problemlösen&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
|}&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 weden 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;
&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 'bash' eingeben, man sieht dann auch in welchem Verzeichnis man gerade ist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [[Javakurs_2011/Feedback|Feedback zum Kurs 2011]]&lt;br /&gt;
* [[Javakurs_2010/Feedback|Feedback zum Kurs 2010]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Java]]&lt;br /&gt;
[[Kategorie:Java_Aufgaben]]&lt;/div&gt;</summary>
		<author><name>Mario</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben&amp;diff=15657</id>
		<title>Javakurs/Übungsaufgaben</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben&amp;diff=15657"/>
		<updated>2011-02-12T17:22:33Z</updated>

		<summary type="html">&lt;p&gt;Mario: /* Die Aufgaben */ Bearbeiter und Musterlösungen gelöscht&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. Einen kleinen Überblick zu den Schwierigkeitsgraden findet ihr ganz unten auf dieser Seite.&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;
== Die Aufgaben ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; 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;
 !Überprüfer(Status)&lt;br /&gt;
 !Musterlösung&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Von der Console zum HelloWorld | Vom Arbeiten mit der Konsole bis &amp;quot;Hallo Welt&amp;quot;]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Einfaches Arbeiten mit der Kommandozeile &amp;lt;br&amp;gt; Kompilieren und Ausführen von Javacode&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Variablen_und_Zuweisungen | Variablen und Zuweisungen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Deklarieren und definieren von Variablen&amp;lt;br&amp;gt;grundlegende Regeln der Codeformatierung&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Cowsay | Cowsay oder &amp;quot;Wie macht die Kuh?&amp;quot;]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | etwas mehr Bildschirmausgabe&amp;lt;br&amp;gt;schöne Graphiken&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Kassenbon | Erstellen eines Kassenbons]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Arbeiten mit Variablen&amp;lt;br&amp;gt;Fallunterscheidungen&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Javamenue | Ein eigenes Menü]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Lesen von Benutzereingaben über die Konsole&amp;lt;br&amp;gt;Fallunterscheidungen&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Glücksspiel | Glücksspiel]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Anwenden von Fallunterscheidungen &lt;br /&gt;
 |&lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Arrays | Quickies Arrays]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Verwenden von Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Verschachtelte_Schleifen | 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;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Primzahlenaufgabe | Primzahlen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2-5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Geschicktes Einsetzen von Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Wetterstation | Wetterstation]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Geometrie | Geometrie]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Zweierpotenzen | Zweierpotenzen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Schleifen_und_Modulo | Schleifen und Modulo]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Verwendung von Schleifen&amp;lt;br&amp;gt;Benutzung des Modulo-Operators&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Methoden | Quickies zu Methoden]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/MathematischeMethoden | Mathematische Methoden]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schreiben eigener Methoden&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Schaltjahr | Schaltjahr]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schreiben von Methoden&amp;lt;br&amp;gt;Fallunterscheidungen&amp;lt;br&amp;gt;Benutzerinteraktion&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Crack_the_Password | Crack the Password]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2/3. VL&lt;br /&gt;
 | Passwörter knacken ;-)&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Rekursion_vs._Iteration | Rekursion vs. Iteration]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Fehler finden&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Lineare_Funktionen | Lineare Funktionen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Verwendung von Methoden&amp;lt;br&amp;gt;Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Fibonacci | Fibonaccizahlen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Brainfuck | Brainfuck vs Turingmaschine]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Arbeiten mit Arrays&amp;lt;br&amp;gt;Allgemeinwissen :-)&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Gau%C3%9F-Algorithmus | Gauß-Algorithmus]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Arrays und Matrizen&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Zahlenumrechner | Zahlenumrechner]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Arbeiten mit Methoden&amp;lt;br&amp;gt;mathematisches Denken&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Democracy | Der Fehler im System]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Fehler finden&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Quersumme | Spaß mit Quersummen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5 - 7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Benutzung des Modulo-Operators&amp;lt;br&amp;gt;Auslagern von Funktionalität in Methoden&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Appleman | Appleman und Fraktale]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schleifen, Umgang mit Fließkommazahlen&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/DiffusionLimitedAggregation | Diffusion Limited Aggregation]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | 2-dimensionale Arrays, Methoden, Schleifen&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Palindrome | Palindrome]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Entwurf von Programmen&amp;lt;br&amp;gt;Parameterübergabe beim Programmaufruf&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/DDDText | DDDText]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 4. VL&lt;br /&gt;
 | Ausgabe von Buchstaben als 3D Buchstaben&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Hangman | Hangman]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Entwurf von Programmen&amp;lt;br&amp;gt;Arbeiten mit Methoden&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/SelectionSort | Selection Sort]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Verstehen von komplexeren Algorithmen&amp;lt;br&amp;gt;Schleifen und Arrays&amp;lt;br&amp;gt;(Hilfs-)Methoden&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Cäsar-Chiffre | Chiffrierung/Dechiffrierung (Cäsar)]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |9&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Eigenständiges Problemlösen. &amp;lt;br&amp;gt; Alle Konzepte des Kurses&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Abzaehlspiel | Abzählspiel]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Analyse von Aufgabenstellungen&amp;lt;br&amp;gt;Entwurf eines komplexen Programms von Grund auf&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Rennschnecke | Schneckenrennen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Objektorientierte Programmierung&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Studentendatenbank | Studentendatenbank]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Vertiefung in objektorientiertes Programmieren&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Multiarray| Mehrdimensionale Arrays]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |10&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Methoden, Schleifen, Arrays&amp;lt;br&amp;gt;Objektorientierung&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Canvas | Virtuelles Canvas mit 3D-Objekten]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Arbeiten mit Methoden&amp;lt;br&amp;gt;mathematisches Denken&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Doom | ASCII DOOM ]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |8&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Vertiefung in objektorientierte Programmierung&amp;lt;br&amp;gt;Benutzung der Java-API&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Textwordcount | Texte lesen und analysieren]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | eigenständiges Problemlösen&lt;br /&gt;
 | &lt;br /&gt;
 |&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 weden 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;
== 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 'bash' eingeben, man sieht dann auch in welchem Verzeichnis man gerade ist.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [[Javakurs_2010/Feedback|Feedback zum Kurs 2010]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Java]]&lt;br /&gt;
[[Kategorie:Java_Aufgaben]]&lt;/div&gt;</summary>
		<author><name>Mario</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Javakurs_2011/Orga&amp;diff=15648</id>
		<title>Javakurs 2011/Orga</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Javakurs_2011/Orga&amp;diff=15648"/>
		<updated>2011-02-08T18:36:16Z</updated>

		<summary type="html">&lt;p&gt;Mario: Aktualisierung&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Orgamitglieder:&lt;br /&gt;
* Jörg Ferdinand&lt;br /&gt;
* Özgü Dogan&lt;br /&gt;
* Tim Hinkes&lt;br /&gt;
* Dirk Babendererde&lt;br /&gt;
* Tim Jungnickel&lt;br /&gt;
* Mario Bodemann&lt;br /&gt;
* Andreas Gunschl&lt;br /&gt;
* Milena Bagdasarian&lt;br /&gt;
* Philipp Ostertag&lt;br /&gt;
* [[Tkroenert]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Kontakt =&lt;br /&gt;
Die Orga kann über die allgemeine Mailingliste erreicht werden &amp;lt;email&amp;gt;javakurs2011@lists.freitagsrunde.org&amp;lt;/email&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Die Tutoren speziell können hier erreicht werden &amp;lt;email&amp;gt;javakurs2011-tut@lists.freitagsrunde.org&amp;lt;/email&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= TODOs =&lt;br /&gt;
==Räume==&lt;br /&gt;
* TODO Jörg: Räume auch einen Tag vorher reservieren (Technik Test)&lt;br /&gt;
&lt;br /&gt;
==Werbung==&lt;br /&gt;
* TODO Andy: Plakte + Flyer ausm FR mitbringen treffen 10 Uhr am Hauptgebäude&lt;br /&gt;
&lt;br /&gt;
==Zeiten==&lt;br /&gt;
* TODO Timmey + Phil: Plakate zum weiterleiten der nicht javakurs leute erstellen&lt;br /&gt;
&lt;br /&gt;
==Geld==&lt;br /&gt;
* TODO: Alle nochmal gucken.&lt;br /&gt;
&lt;br /&gt;
==Aufgaben==&lt;br /&gt;
* TODO Mario: 3-4 Aufgaben neu erstellen (Advanced aufgaben eher als basics) (bis 7.3.)&lt;br /&gt;
&lt;br /&gt;
==Tutoren==&lt;br /&gt;
* TODO Thaddäus: Bewerbungsmail an alle gegangen? Mail auch über unsere Liste?&lt;br /&gt;
&lt;br /&gt;
==Technik==&lt;br /&gt;
* TODO Thaddäus + Tim: Vortschritt mitteilen ...&lt;br /&gt;
* TODO Mario: Braindump: Wii Mote (7.3.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Ergebnisse der Orga-Treffen =&lt;br /&gt;
== Orga Koordination ==&lt;br /&gt;
Beschluss: Wir benutzen nicht den Bugtracker sondern das Wiki&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Räume ==&lt;br /&gt;
sind bestellt (Vorlesung + Übung)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Geld ==&lt;br /&gt;
Finanzabrechnung ist fertig&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Werbung ==&lt;br /&gt;
* Flyer&lt;br /&gt;
**  Überarbeitung folgt (mit Sudoku auf der Rückseite)&lt;br /&gt;
**  Drucken wird alternativ gelöst&lt;br /&gt;
**  MPGI 1 verteilen (Mittwoch 10-11 Uhr)&lt;br /&gt;
***  Treffen 9:45 Uhr Hauptgebäude&lt;br /&gt;
***  Anzahl: 200 stk (50 Blätter)&lt;br /&gt;
* Plakate werden gedruckt&lt;br /&gt;
**  Nach MPGI1 verteilen (Mittwoch, nach den Flyern)&lt;br /&gt;
**  Plakate drucken (50 A4/A3)&lt;br /&gt;
**  TEL: Jörg + Andy&lt;br /&gt;
*Zielgruppe: Inf &amp;amp; TI (1. Semester) Nicht ET!&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tutoren &amp;amp; Vortragende ==&lt;br /&gt;
===Tutoren===&lt;br /&gt;
* Bewerbungen eingetroffen&lt;br /&gt;
* Treffen am 7.3 (nur ein Reminder ... :-) )&lt;br /&gt;
* 9 haben wir, 3 fehlen noch (12 soll)&lt;br /&gt;
* neu&lt;br /&gt;
**  Sebastian P(Andy: &amp;quot;Kompetent&amp;quot;)&lt;br /&gt;
* alt&lt;br /&gt;
**  Martin Kresse&lt;br /&gt;
**  Eugen (C-Kurs)&lt;br /&gt;
* Orga&lt;br /&gt;
**  Jörg&lt;br /&gt;
**  Dirk&lt;br /&gt;
**  Timmey&lt;br /&gt;
**  Alex K. &lt;br /&gt;
**  Andy&lt;br /&gt;
**  Özgü&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Vortragende===&lt;br /&gt;
* Dirk&lt;br /&gt;
* Jörg&lt;br /&gt;
* Mario&lt;br /&gt;
* Timmey + Özgü: Schleifen + Arrays&lt;br /&gt;
* 6 sollten, 4 haben wir ... :-(&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Rollen der Orgamitglieder ===&lt;br /&gt;
T=Tutor, V=Vortragender, O=Orga&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Jörg T/V/O&lt;br /&gt;
* Milena O&lt;br /&gt;
* Thaddäus O/(V evtl.)&lt;br /&gt;
* Tim J O/(V zur Not)&lt;br /&gt;
* Andi O/T (V &lt;br /&gt;
* Timmey O/T&lt;br /&gt;
* Phil O&lt;br /&gt;
* Özgü O/T&lt;br /&gt;
* Dirk O/T&lt;br /&gt;
* Mario O/V&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Technik &amp;amp; Video ==&lt;br /&gt;
* Screencast + Audio&lt;br /&gt;
* Screencast geht bereits klar&lt;br /&gt;
*:'''Wer Micros hat melden!'''&amp;lt;br&amp;gt;&lt;br /&gt;
*:'''Wer einen Handscanner (von Amateurfunk) hat auch melden'''&amp;lt;br&amp;gt;&lt;br /&gt;
*Wii Remote für Präsentationen&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Termin ==&lt;br /&gt;
17.,18.,21.,22. März &amp;lt;br /&amp;gt;&lt;br /&gt;
jeweils 10.00 - 17.30 Uhr&lt;/div&gt;</summary>
		<author><name>Mario</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Freitagsrunde:Mitglieder&amp;diff=15587</id>
		<title>Freitagsrunde:Mitglieder</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Freitagsrunde:Mitglieder&amp;diff=15587"/>
		<updated>2011-01-15T13:43:29Z</updated>

		<summary type="html">&lt;p&gt;Mario: Aktualisierung meines Textes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Mitglieder'' 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;
== Dirk Babendererde (&amp;lt;email&amp;gt;dirk@freitagsrunde.org&amp;lt;/email&amp;gt;) ==&lt;br /&gt;
[[Bild:Dirk.jpg|thumb|150px|Dirk Babendererde]]&lt;br /&gt;
Hallo, ich bin der Dirk und möchte diesen sinnlosen Text demnächst gegen einen sinnvollen Text ersetzen.&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Milena Bagdasarian (&amp;lt;email&amp;gt;milena@freitagsrunde.org&amp;lt;/email&amp;gt;) ==&lt;br /&gt;
[[Bild:Milena.jpg|thumb|150px|Milena Bagdasarian]]&lt;br /&gt;
Hallo, ich bin die Milena und möchte diesen sinnlosen Text demnächst gegen einen sinnvollen Text ersetzen.&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mario Bodemann (&amp;lt;email&amp;gt;mario@freitagsrunde.org&amp;lt;/email&amp;gt;) ==&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 war lange zeit sehr aktiv in der Freitagsrunde, und dem Fakt geschuldet, dass ich jetzt an meiner Diplomarbeit schreibe, und nebenbei noch mein Geld im Heinrich-Hertz-Institut verdiene, komme ich nicht mehr zu vielen Aktivitäten. Derzeit bin ich aktiv in der JavakursOrga 2011 und den Techtalks.&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;
== Paul Brodmann (&amp;lt;email&amp;gt;paul@freitagsrunde.org&amp;lt;/email&amp;gt;) ==&lt;br /&gt;
[[Bild:Paul.jpg|thumb|150px|Paul Brodmann]]&lt;br /&gt;
Hallo, ich bin der Paul und möchte diesen sinnlosen Text demnächst gegen einen sinnvollen Text ersetzen.&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Michael Dietzel (&amp;lt;email&amp;gt;michael@freitagsrunde.org&amp;lt;/email&amp;gt;) ==&lt;br /&gt;
[[Bild:Foto-Michael-Dietzel.jpg|thumb|150px|Michael Dietzel]]&lt;br /&gt;
Hallo, ich bin der Michael und möchte diesen sinnlosen Text demnächst gegen einen sinnvollen Text ersetzen.&lt;br /&gt;
[[Benutzer:mimos|...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;
== Özgü Dogan (&amp;lt;email&amp;gt;oezgue@freitagsrunde.org&amp;lt;/email&amp;gt;) ==&lt;br /&gt;
[[Bild:Oezgue.jpg|thumb|150px|Özgü]]&lt;br /&gt;
Hallo, ich bin die Özgü und möchte diesen sinnlosen Text demnächst gegen einen sinnvollen Text ersetzen.&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sebastian Drews (&amp;lt;email&amp;gt;sdrews@freitagsrunde.org&amp;lt;/email&amp;gt;) ==&lt;br /&gt;
[[Bild:bild.png|thumb|150px|Sebastian Drews]]&lt;br /&gt;
Ich habe im Wintersemester 2009/2010 mein Informatikstudium an der TU begonnen. Auf dem Gymnasium wo ich mein Abitur machte, wurde mal ein Vortrag einer TU-Studentin gehalten bei der die Freitagsrunde erwähnt wurde, wodurch ich auch hier her gefunden habe.&lt;br /&gt;
Vor dem Studium hab ich mich dank des Javakurses mal ein bisschen mit Java beschäftigen können.&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;
== Sebastian Dyroff (&amp;lt;email&amp;gt;sdyroff@freitagsrunde.org&amp;lt;/email&amp;gt;) ==&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;
&lt;br /&gt;
== Alexander Eichner (&amp;lt;email&amp;gt;aeichner@freitagsrunde.org&amp;lt;/email&amp;gt;) ==&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;
&lt;br /&gt;
== Jannes Eilers (&amp;lt;email&amp;gt;eilers@freitagsrunde.org&amp;lt;/email&amp;gt;) ==&lt;br /&gt;
[[Bild:JannesEilers.jpg|thumb|150px|Jannes Eilers]]&lt;br /&gt;
Ich studiere seit dem WS 09/10 Etechnik und ab heute(Donnerstag der 10. Dezember 19:14) bin ich Mitglied der Freitagsrunde.  Deshalb werde ich gerade erst hier eingeführt und deswegen steht hier noch nicht viel.&lt;br /&gt;
Zur Freitagsrunde kam ich, weil hier nette hilfsbereite Leute sitzen, die immer ein offenes Ohr für jede Art von Problemen haben.&lt;br /&gt;
Und dabei war es egal ob es jetzt sich um Tutoren, die ISIS oder LINA-Mumie oder um andere Organisatorische Probleme drehte, oder einfach nur Schwierigkeiten mit Verständnisproblemen bestanden.&lt;br /&gt;
Wenn ich mehr Uni/Freitagsrundenleben erlebt habe, werden hier natürlich noch mehr Informationen über mich erscheinen.&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Jörg Ferdinand (&amp;lt;email&amp;gt;joerg@freitagsrunde.org&amp;lt;/email&amp;gt;) ==&lt;br /&gt;
[[Bild:JörgFerdinand.jpg|thumb|150px|Jörg Ferdinand]]&lt;br /&gt;
Heyho,&lt;br /&gt;
&lt;br /&gt;
Ich studiere seit dem WS 07/08 Elektrotechnik. Ich bin erst in meinem 5ten Semester zur Freitagsrunde geraten und vertrete quasi die höhersemestrigen Elektrotechniker.&lt;br /&gt;
Außerdem hab ich in dem Semester auchnoch angefangen nebenbei etwas TI zu studieren. &lt;br /&gt;
&lt;br /&gt;
Mit den Erfahrungen aus beiden Studiengängen und meinem Job and der TU versuche ich mich für die Freitagsrunde zu engagieren.&lt;br /&gt;
In meiner Freizeit programmiere ich gerne mit Java und LaTeX und bin da für Fragen sicherlich auch ein guter Ansprechpartner. &lt;br /&gt;
&lt;br /&gt;
Für Fragen kann man auch gerne auf meine [[Benutzer:Jörg_F|Benutzerseite]] gucken.&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Silke Genemmcher (&amp;lt;email&amp;gt;silke@freitagsrunde.org&amp;lt;/email&amp;gt;) ==&lt;br /&gt;
[[Bild:Silke.jpg|thumb|150px|Silke Genemmcher]]&lt;br /&gt;
Hallo, ich bin die Silke und möchte diesen sinnlosen Text demnächst gegen einen sinnvollen Text ersetzen.&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Andreas Gunschl (&amp;lt;email&amp;gt;andy@freitagsrunde.org&amp;lt;/email&amp;gt;) ==&lt;br /&gt;
[[Bild:AndreasGunschl.jpg|thumb|150px|Andreas Gunschl]]&lt;br /&gt;
Hai, ich studiere wie viele hier Informatik und interessiere mich sehr für Programmiersprachen wie Java und Groovy. Ich bin seit 7 Jahren in Berlin und eigentlich ein gebürtiger Österreicher^^. Ich bin zur Freitagsrunde gekommen weil es eine nette Bande von Leuten ist mit denen ich gerne abhänge, wissen austausche und Kicker zocke^^. Nebenbei geh ich gerne Schifahren, Radfahren und spiele manchmal Eishockey. &lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tim Hinkes (&amp;lt;email&amp;gt;timmeey@freitagsrunde.org&amp;lt;/email&amp;gt;) ==&lt;br /&gt;
[[Bild:TimHinkes.jpg|thumb|150px|Tim Hinkes]]&lt;br /&gt;
Hallo, ich bin der Tim und möchte diesen sinnlosen Text demnächst gegen einen sinnvollen Text ersetzen. Naja ob der neuere Text jetzt wesentlich sinnvoller ist...&lt;br /&gt;
Ich bin aufjedenfall TimmeeY, und wohne seit dem WS09/10 hier im schönen Berlin, bin allerdings ein Waschechter Wessie komme eigentlich aus einem kleinen Kaff am Niederrhein in der nähe von Düsseldorf und Krefeld. Ich studiere wie viele andere auch Informatik, und bin im Laufe des WS09/10 zur Freitagsrunde gekommen. Hier findet man Menschen aus höheren Semestern die ahnung haben und Tipps geben können, dazu kommt nachtürlich der Fachliche Erfahrungsaustausch und sicherlich das kickern. Ich finde es einfach angenehm mit anderen zusammen zu sitzen und zu arbeiten anstatt sich irgendwo mehr oder weniger alleine in einen der Arbeitsräume zu verkriechen und dort heimlich sill und leise sein Zeugs erledigen.&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Manuela Hopp (&amp;lt;email&amp;gt;manuela@freitagsrunde.org&amp;lt;/email&amp;gt;) ==&lt;br /&gt;
[[Bild:Manuela.jpg|thumb|150px|Manuela]]&lt;br /&gt;
Hallo, ich bin die Manuela und möchte diesen sinnlosen Text demnächst gegen einen sinnvollen Text ersetzen.&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tim Jungnickel (&amp;lt;email&amp;gt;jungnickel@freitagsrunde.org&amp;lt;/email&amp;gt;) ==&lt;br /&gt;
[[Bild:TimJungnickel.jpg|thumb|150px|Tim Jungnickel]]&lt;br /&gt;
Auch Tim studiert seit WS 08/09 den Studiengang Informatik. Sein Interesse für die Computer-Wissenschaft liegt dem Informatik Leistungskurs seiner letzten Schule zugrunde. 2010 kommt er zur Freitagsrunde und trifft dort auf Kommilitonen und Verwandte. Auch für eine Runde Kicker ist Tim immer zu begeistern.&lt;br /&gt;
Beruflich arbeitet Tim als Tutor im Bereich der Theoretischen Informatik im Fachgebiet Theorie Verteilter Systeme und freut sich stets über Fragen und noch mehr über Antworten. &lt;br /&gt;
&lt;br /&gt;
Privat macht Tim nebenbei ein bisschen Musik und beschäftigt sich mit seinen unzähligen Apple Geräten. Wer genauer hinguckt stellt fest, dass Tim:&lt;br /&gt;
* a) immer mit Simpsons Socken aus dem Haus geht und &lt;br /&gt;
* b) in diesem Text nicht in erster Person gesprochen hat.&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Andrew K (&amp;lt;email&amp;gt;andrew@freitagsrunde.org&amp;lt;/email&amp;gt;) ==&lt;br /&gt;
[[Bild:Andrew K.jpg|thumb|150px|Andrew K.]]&lt;br /&gt;
Hallo, ich bin der Andrew und möchte diesen sinnlosen Text demnächst gegen einen sinnvollen Text ersetzen.&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Michael Klum &amp;lt;email&amp;gt;michael.klum@mailbox.tu-berlin.de&amp;lt;/email&amp;gt; ==&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 (&amp;lt;email&amp;gt;skoch@freitagsrunde.org&amp;lt;/email&amp;gt;) ==&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;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Thaddäus Krönert ([[Bild:Kroenert-Mail.gif]]) ==&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;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Alexander Kührmann (&amp;lt;email&amp;gt;akuehrmann@freitagsrunde.org&amp;lt;/email&amp;gt;) ==&lt;br /&gt;
[[Bild:11.png|thumb|150px|Alexander Kührmann]]&lt;br /&gt;
Hallo, ich bin der Alexander und studiere an der TUB Informatik seit dem Wintersemester 2006/2007, mittlerweile sogar schon im Master. Seit einigen Semestern versuche ich mich auch in der Freitagsrunde zu engagieren. Außerdem habe ich Spaß dabei, anderen Studis Dinge zu erklären, weshalb ich als Tutor beim Javakurs, C-Kurs und der Einführungswoche aktiv bin.&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sebastian Kührmann (&amp;lt;email&amp;gt;sebastian@kuehrmann.com&amp;lt;/email&amp;gt;) ==&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;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sebastian Lange (&amp;lt;email&amp;gt;bastla@freitagsrunde.org&amp;lt;/email&amp;gt;) ==&lt;br /&gt;
[[Bild:Bastla.jpg|thumb|150px|Sebastian Lange]]&lt;br /&gt;
&lt;br /&gt;
Sebastian aka bastla studiert seit dem WS2007/08 ''Technische Informatik'' 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 ''Freitagsrunde'' 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 ''AfuTUB''. Unter dem ehemals sehr bekannten Rufzeichen ''[http://dk0tu.de DK0TU]'' 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;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Stefanie Lehmann (&amp;lt;email&amp;gt;stefi@freitagsrunde.org&amp;lt;/email&amp;gt;) ==&lt;br /&gt;
[[Bild:Stefi.jpg|thumb|150px|Stefi]]&lt;br /&gt;
Hallo, ich bin die Stefi und möchte diesen sinnlosen Text demnächst gegen einen sinnvollen Text ersetzen.&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Brandon Llanque (&amp;lt;email&amp;gt;brandon@freitagsrunde.org&amp;lt;/email&amp;gt;) ==&lt;br /&gt;
[[Bild:BrandonLlanque.jpg|thumb|150px|Brandon Llanque]]&lt;br /&gt;
Hallo, ich bin der Brandon und möchte diesen sinnlosen Text demnächst gegen einen sinnvollen Text ersetzen.&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sebastian Lohff (&amp;lt;email&amp;gt;seba@freitagsrunde.org&amp;lt;/email&amp;gt;) ==&lt;br /&gt;
[[Bild:Seba.jpg|thumb|150px|Sebastian Lohff]]&lt;br /&gt;
Hallo, ich bin Sebastian bzw. seba (wir haben einfach einen Sebastian-überschuss) und studiere seit dem Wintersemester 2009/2010 Informatik an der TU. Seitdem bin ich auch in der Freitagsrunde aktiv und fass immer mal hier oder mal da mit an. Selbst bin ich leidenschaftlicher Programmierer und frickel eigentlich immer an irgendwelchen Projekten rum. Ausserhalb meines Computerlebens™ mach ich ganz gerne Musik (auch wenn das seit der Uni stark abgenommen hat).&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bernd May (&amp;lt;email&amp;gt;bm@dv-team.de&amp;lt;/email&amp;gt;) ==&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;
== Konrad Mohrfeldt (&amp;lt;email&amp;gt;konrad@freitagsrunde.org&amp;lt;/email&amp;gt;) ==&lt;br /&gt;
[[Bild:KonradMohrfeldt.jpg|thumb|150px|KonradMohrfeldt]]&lt;br /&gt;
Hallo, ich bin der Konrad und möchte diesen sinnlosen Text demnächst gegen einen sinnvollen Text ersetzen.&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tibor Pilz (&amp;lt;email&amp;gt;tibor@freitagsrunde.org&amp;lt;/email&amp;gt;) ==&lt;br /&gt;
[[Bild:TiborPilz.jpg|thumb|150px|Tibor Pilz]]&lt;br /&gt;
Hi, ich bin Tibor und studiere hier an der TU seit dem WS 09/10 Informatik im Bachelor. Habe mein Abitur in Luckenwalde gemacht (Pures Kleinstadtfeeling) und bin diesen Sommer nach Berlin gezogen, wo ich nun neben dem Studium die ausfürlichen Möglichkeiten zum feiern ausnutze. Spiele für mein Leben gerne Computerspiele, insbesondere Counterstrike. (1.6 &amp;gt; Source!) &lt;br /&gt;
Weiterhin gehe ich ab und zu Klettern, spiele sehr gerne Gitarre und Klavier und mag Kommunismus. &lt;br /&gt;
Weitere anfragen nach meiner Persönlichkeit beantworte ich natürlich auch gerne per Mail. (Ausser du bist ein Spambot. Geh weg, du!)&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sebastian Pipping (&amp;lt;email&amp;gt;sebastian@pipping.org&amp;lt;/email&amp;gt;) ==&lt;br /&gt;
[[Bild:AbsichtlichKeinFotoVonSping.jpg|thumb|150px|Sebastian Pipping]]&lt;br /&gt;
Ich bin beim C-Kurs mit dem Vortrag über Pointer dabei.  Den Kern von [http://git.freitagsrunde.org/?p=revealfs.git;a=summary RevealFS], das hinter [http://docs.freitagsrunde.org/ docs.freitagsrunde.org] läuft, habe ich geschrieben. Auch wenn ich keine Kurse mehr besuche (Stichwort Diplomarbeit), komm ich immer wieder gern in der Freitagsrunde vorbei.&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Marcel Radke (&amp;lt;email&amp;gt;mradke@cs.tu-berlin.de&amp;lt;/email&amp;gt;) ==&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;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kai Sisterhenn (&amp;lt;email&amp;gt;kais@freitagsrunde.org&amp;lt;/email&amp;gt;) ==&lt;br /&gt;
[[Bild:Kais.jpg|thumb|150px|Kai Sisterhenn]]&lt;br /&gt;
Hallo, ich bin der Kai und ersetze diesen sinnlosen Text nun durch einen noch sinnloseren...&amp;lt;br /&amp;gt;&lt;br /&gt;
Also, zurzeit studiere ich im 3ten Semester TI, vom schönen Pfaffenheck (200 Einwohner) ins große Berlin (paar mehr Einwohner) gezogen, großer Stargate Fan und gerne mal etwas zu engagiert, was meine liebe Freizeit manchmal etwas eingrenzt, die ich gerne mit meiner Gitarre und der Abarbeitung ausstehender Aufgaben verbringe. Sprich: Die wöchentlichen 15 Serien gucken, mich mit den Kult-und Must-look-Filmen der letzten 30Jahre bilden sowie dem Kram, die sich immer wieder im Ordner &amp;quot;Neu&amp;quot; ansammeln, irgendwie abarbeiten... Klappt nicht immer....&amp;lt;br /&amp;gt;&lt;br /&gt;
Neben dem Serien/Filme gucken bin ich leidenschaftlicher Zocker, Organisator der Uni-LAN(r) und versuche, diversen FAILs, die sich irgendwie immer in meinen Weg stellen, auszuweichen :/ ...klappt auch nicht immer.&amp;lt;br /&amp;gt;  &lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Xenia Spott (&amp;lt;email&amp;gt;xenia@freitagsrunde.org&amp;lt;/email&amp;gt;) ==&lt;br /&gt;
[[Bild:XeniaSpott.jpg|thumb|150px|Xenia Spott]]&lt;br /&gt;
Ich studiere seit dem Wintersemester 2009/2010 Informatik im Bachelor-Studiengang der TU-Berlin. &lt;br /&gt;
Zur Freitagsrunde kam ich schon in der Einführungswoche, heißt direkt zu Beginn meines Studiums.&lt;br /&gt;
Ich beteilige mich gerne an der Organisation von Veranstaltungen wie dem Kickerturnier und bin aktives Mitglied der AK. &amp;lt;br /&amp;gt;&lt;br /&gt;
Nicht zuletzt erhöhe ich aber auch einfach den Frauenanteil der FakultätIV. Schaden kann das glaube ich nicht. ;)&lt;br /&gt;
&lt;br /&gt;
Privat interessiere ich mich besonders für Menschen und ihre Ideen, sowie Wirklichkeit und Wahrnehmung. &lt;br /&gt;
Vereint finde ich diese Themen immer wieder in dem Medium &amp;quot;Buch&amp;quot;, wodurch meine Liebe zu diesem wohl geklärt ist.&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Florian Streibelt (&amp;lt;email&amp;gt;florian@freitagsrunde.org&amp;lt;/email&amp;gt;) ==&lt;br /&gt;
[[Bild:Javakurs2009_florian.jpg|thumb|150px|Florian Streibelt]]&lt;br /&gt;
Mit meinem Studium habe ich 2002 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 - wie die meisten hier.&lt;br /&gt;
 &lt;br /&gt;
Ausserdem arbeite ich bei [http://www.kbs.tu-berlin.de/ KBS], bin Mitglied in der [http://www.agrs.tu-berlin.de/?id=37178 AG-Rechnersicherheit], Stellvertreter im [[Fakultätsrat]] und der [[Ausbildungskommission]] der Fakultät.&lt;br /&gt;
&lt;br /&gt;
Da das noch nicht reicht, bin ich Mitglied des erweiterten Akademischen Senats und hatte daher die Möglichkeit, meine Stimme bei der Präsidiumswahl 2010 abzugeben.  Als Mitglied des eAS bin ich auch Stellvertreter im [[Akademischer_Senat|Akademischen Senat]].&lt;br /&gt;
&lt;br /&gt;
Ausserhalb der Uni engagiere ich mich unter Anderem bei der [http://www.guug.de GUUG], wo ich mit anderen den lokalen Berliner [http://www.guug.de/lokal/berlin Sage@GUUG] Stammtisch organisiere, der jeden ersten Donnerstag für alle Interessierten offen steht. Ausserdem betreibe ich die Webseite für einen Literaturverein, die [http://www.spreeag.de Spree-AG].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mails an mich kannst und solltest Du per PGP/[http://www.gnupg.org/ GnuPG] verschlüsseln, siehe [[Benutzer:Mutax]].&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Robert Wirski (&amp;lt;email&amp;gt;wirski@freitagsrunde.org&amp;lt;/email&amp;gt;) ==&lt;br /&gt;
[[Bild:RobertWirski.jpg|thumb|150px|Robert Wirski]]&lt;br /&gt;
Hallo, ich bin der Robert und möchte diesen sinnlosen Text demnächst gegen einen sinnvollen Text ersetzen.&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Jonathan Wonneberger (&amp;lt;email&amp;gt;jonwon@freitagsrunde.org&amp;lt;/email&amp;gt;) ==&lt;br /&gt;
[[Bild:JonathanWonneberger.jpg|thumb|150px|Jonathan Wonneberger]]&lt;br /&gt;
Hallo, ich bin der Jonathan und möchte diesen sinnlosen Text demnächst gegen einen sinnvollen Text ersetzen.&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Das sind die Mitglieder der Freitagsrunde - Zurück zu unserer [[Freitagsrunde | Selbstdefinition]].'''&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>Mario</name></author>
		
	</entry>
</feed>