HPI-Summercamp

Hab lange nichts mehr hören lassen, obwohl doch einiges passiert ist. Das wichtigste im Zusammenhang mit Java war wohl das HPI-Summercamp. Das Hasso Plattner Institut veranstaltete dieses Jahr zusammen mit dem MINT-EC erstmals ein Programmiercamp. Etwa 60 Schüler von MINT-Schulen wurden durch Berwerbungen ermittelt und hatten die einmalige Chance im Institut alle Schritte der Softwareentwicklung zu erlernen.

Zunächst wurden wir von Stufen in die einzelnen Entwicklungsschritte eingeführt. Natürllich konnte hierbe nur ein grober Überblick gegeben werden, doch es wurden einem eine Zusammenfassung mit weiterführenden Links gegeben, so dass bei Interesse jederzeit weiter auf dem Gebiet Informationen beschafft werden können.
Das ganze wurde dann anhand eines konkreten Projekts verwirklicht: Einem Ausreden-Generator. Dieses Tool ist sowohl über die Homepage als auch über WAP aufrufbar und liefert einem entweder nach Suchwort oder Kategorien Ausreden, die anschließend gleich in eine PDF Datei geschrieben werden, mit Datum, Anrede, etc.

Benutzt wurde hierfür JSP, also quasi Java fürs Internet. Aufgebaut sind diese dann ähnlich PHP-Seiten, bei denen der Java-Code zwischen den HTML-Elementen steht.

Natürlich programmierten wir nicht rund um die Uhr, sondern hatten auch sehr viel Spaß zusammen in Berlin (es war WM!).

Auf den Bildern kommt vielleicht etwas von der tollen Stimmung rüber.

 

Kommentare

Fußballprogramm

Lange gab es keinen neuen Artikel mehr, es gab auch nicht viel zu berichten.
Viel Zeit verbrachte ich mit der Entwicklung des Programms für meinen Soccerbot, vor ein paar Wochen war nun der Wettbewerb in Vöhringen. Der komplette Bericht mitsamt vielen Bildern vom Roboter gibt es auf meiner anderen Homepage unter dem Menüpunkt “Roboter”.

Das Programm hat sehr gut funktioniert, es hat das gemacht, was es sollte. Gescheitert bin ich an der Hardware (die allerdings auch das gemacht hat, was sie sollte…).
Zum Programm: Es ist komplett in Java geschrieben, mit leJOS Klassen für den RCX. Insgesamt sind es knapp 2000 Zeilen, die sich auf 16 Klassen und ein Interface aufteilen. Ich verwende 2 RCX, jeder hat seine eigenen Klassen, lediglich eine, in der Konstanten definiert werden, wird von den RCXen geteilt.

Leider ist mit der Programmentwicklung das objektorientierte langsam verloren gegangen, inzwischen sind die meisten Methoden und Variablen als “static” deklariert, da mehrere Klassen auf eine Zugriff haben müssen. Ich denke, das Design ist einfach falsch, würde ich den Roboter neu programmieren, würde ich die Sache wohl anders angehen. Vielleicht sind aber auch so doch relativ kleine Projekte nicht für OOP geeignet.

Die interessanteste Klasse ist für viele wohl der “PositionThread”. Diese berechnet alle Bruchteile einer Umdrehungen die Position neu. Dazu befinden sich links und rechts am Roboter freidrehende Räder, die jeweils mit einem Rotationssensor verbunden sind. Im Programmarchiv liegt auch eine Datei Positionsbestimmung.xls bei, in der die Berechnung etwas veranschaulicht wird, sie diente mir zum Testen. Neben der Berechnung der Position befinden sich in der Klasse auch noch viele Methoden, um Winkel umzurechnen oder die Position auszuwerten.

Das Porgramm ist in Deutsch kommentiert, man dürfte sich also relativ gut darin zurecht finden.
Die Klasse Arbitrator und das Interface Behaviour stammen von leJOS, ich musste diese allerdings neu implementieren, da ich sie leicht zu modifizieren hatte.

Um mit dem Programm arbeiten zu können, muss in Eclipse ein neues, leeres Projekt erstellt und in dieses das Archiv importiert werden. Wie es bei anderen Editoren ist, weiß ich nicht. Wie man an leJOS für Eclipse rankommt, habe ich hier beschrieben.

 

Kommentare

Übung macht den Meister

Was bringt die trockene Theorie, wenn man es nicht praktisch anwendet? Nichts!
Deshalb habe ich vor einigen Wochen angefangen und mich als erstes an eine Aufgabe des Bundeswettbewerb Informatik gewagt. Bei dieser müssen aus mehreren verschlüsselten Faxen die Dechiffrierfolie “errechnet” werden.
Zwar bin ich noch nicht fertig, da ich Alles während des Informatikunterrichts mache (bin ja schon wesentlich weiter als die anderen), dafür habe ich bereits sehr viel gelernt und das gelernte gefestigt.
Seit etwa zwei Wochen programmiere ich jetzt meine Mindstorms-Roboter mit Java, genauergesagt leJOS. Mit einem Plugin geht das sogar von Eclipse aus.

 

Kommentare (1)

Fortschritt

Nachdem ich übers Wochenende viele Stunden mit Zug fahren verbracht habe, konnte ich mich hier viel dem Lesen eines “echten” Java Buchs widmen, nämlich “Java 5″ von Dirk Louis und Peter Müller, erschienen im “Markt + Technik” Verlag. Es ist ein Kompedium, und zwar ein richtig dicker: Über 1100 Seiten schmücken diesen Schmöker. Dennoch ist es sehr schön und verständlich geschrieben und mit vielen erläuternden Beispielen versehen.
So bin ich jetzt etwa bei der Hälfte und möchte bald anfangen, meine ersten richtigen Java-Anwendungen zu schreiben, damit das Erlernte verfestigt wird.

 

Kommentare

Bücher

Das schnellste Weg Java zu lernen ist wohl ein Buch, respektive ein e-Book, zu lesen. Letzteres bevorzuge ich. Hier gibt es zwei kostenlose Möglichkeiten:

  • Java ist auch eine Insel (Verlag Galileo Computing, Autor Christian Ullenboom): Ein schön geschriebenes Buch, das sich v. a. an Anfänger in der Programmierung richtet. So ist es leicht verständlich und liest sich sehr gut.
  • Handbuch der Java - Programmierung (Verlag Addison-Wesley, Autor Guido Krüger): Wie der Titel schon etwas vermuten lässt, ist das Buch eher für Fortgeschrittene, die von einer C-Sprache zu Java wechseln wollen. Demnach ist es auch sehr systematisch aufgebaut und teilweise nicht so leicht zu kapieren. Dennoch eine gute Alternative.

Ich habe mich für das zweite entschieden, da ich, wie gesagt, schon programmieren kann. Trotzdem fallen mir manche Teile nicht so leicht und schlage beim anderen Buch nach.

 

Kommentare (1)

Fangen wir an!

Mehr Ansporn hat man natürlich, wenn man eine Sprache nicht alleine bzw. ohne konkretes Ziel lernt. Deshalb bin ich der in diesem Jahr gegründeten Javagruppe unserer Schule beigetreten. Wir möchtem zusammen am Bundeswettbewerb Informatik teilnehmen.
Da ich noch ein Noob in Sache Java bin, waren manche Begriffe beim ersten Treffen neu (2 können schon Java, 3 andere nicht): UML, NetBeans, JUDE…
Zu Hause habe ich dann recherchiert:

  • UML: Unified Modeling Language, eine standardisierte Beschreibungssprache für Strukturen und Abläufe in objektorientierten Programmsystemen (Zitat Wikipedia). Damit kann man ein Programm grafisch darstellen, Abläufe und Zusammenhänge werden in verschiedenen Diagrammen sichtbar gemacht.
  • NetBeans: Eine Entwicklungsumgebung für Java. Daneben gibt es z.B. noch das OpenSource Programm eclipse, für das ich mich entschieden habe. Beide Tools gibt es umsonst.
  • JUDE ist das Programm, mit dem man UML Diagramme schnell und leicht erstellen kann. In der Community Version ist es kostenlos.

So weit, so gut.

 

Kommentare

Hi folks!

Nun bin ich also auch ein Blogger. Nachdem ich anfange, die Programmiersprache Java zu lernen, kam mir der Gedanke, meine Erfahrungen, Links, etc. einer breiteren Öffentlichkeit zur Verfügung zu stellen; und wie geht das einfacher als mit Blogs?

Nun aber kurz zu mir:
Ich heiße Franz Steinmetz, komme von da, wo auch das Christkind herkommt (Himmelstadt natürlich), bin am 4.1.1988 gebohren und gehe in die 11. Klasse des Johann-Schöner-Gymnasiums in Karlstadt.
Mein großes Hobby sind Roboter, gebaut aus LEGO Mindstorms und bald gesteuert mit “echten” Mikrocontrollern (habe vor mich etwas einzulesen). Daneben, natürlich verbunden mit Robotern, programmiere ich gerne. Schließlich begeistert mich auch das Web und dessen Erweiterung, was ich wieder mit meinem 1. Hobby verband und meinen Robotern eine eigene Seite gewidmet habe.
In Sachen Programmierung bin ich also kein Noob, sondern kennne mich schon recht gut mit NQC (für Roboter), QBasic (wieder vergessen, Jahre her…), PHP, JavaScript, MySQL, HMTL, CSS (ich weiß, letztere drei sind keine Programmiersprachen) aus.
Jetzt ist also Java an der Reihe, mal sehen was es bringt, ich verspreche mir recht viel davon :-)

 

Kommentare