# programmier wettbewerb



## ARadauer (26. Jun 2007)

bin auf der suche nach einem java programmier wettbewerb.

kennt jemand foren, wos sowas gibt? in diversen grafik foren gibt es immer tolle design battles, sowas wär zum thema java programiern auch nicht schlecht.

muss ja nicht gleich der google code jam sein http://www.google.com/codejam ...

btw: in diesem forum könnten wir ja sowas machen, irgendwer stellte eine aufgabenstellung und dann wird gecoded, dieser code muss gewisse unit test erfüllen und der den, nach juri wertung, besten code liefert, winken ruhm und ehre (oder bier)


----------



## Christian76 (26. Jun 2007)

coole Idee.


----------



## Gast (26. Jun 2007)

Die Idee ist wirklich sehr gut. Ich würde mich zwar als Anfänger bezeichnen, aber ich würde mir den Quellcode dann gerne anschauen und könnte dabei enorm lernen.  :meld:


----------



## Christian76 (26. Jun 2007)

jep, da stimme ich dir zu.


----------



## babuschka (26. Jun 2007)

:toll:


----------



## MasterEvil (26. Jun 2007)

Na los, dann macht mal nen Vorschlag 
Sollte nicht zu schwer sein, aber auch nicht zu einfach!

Vieleicht ne (UN)ZIP-GUI oder nen Malprogramm


----------



## moormaster (26. Jun 2007)

Ich könnte ein Programm gebrauchen, welches die Funktion s(x) approximiert.

s(x) bildet injektiv vom Raum aller Probleme =: P in den Raum aller Lösungen =: S ab, d.h.

s: P->S

so dass gilt:
wenn x aus P ist, dann ist s(x) aus S und es gilt: s(x) löst das Problem x

Mit so einem Programm hätte ich alles, was ich je brauchen werde ^^


----------



## Guest (26. Jun 2007)

Wie wärs mit einem Todo-Manager?


----------



## The_S (26. Jun 2007)

Wie wärs, wenn ihr erstmal alle, die mitmachen wollen, irgendwo erfasst und dann erst das Topic bekannt gebt. Sonst wärs ja leicht unfair  .


----------



## deleted (26. Jun 2007)

z.B. Hexadezimales Schachbrettspiel.
Implementierung grafisch 2d.
Einfache KI.
Speichern/Laden von Spielständen (Spielstand soll serialisiert gespeichert werden).
Netzwerkspiel soll möglich sein (Netzwerkprotokoll frei wählbar).


----------



## moormaster (26. Jun 2007)

Hobbit_Im_Blutrausch hat gesagt.:
			
		

> Wie wärs, wenn ihr erstmal alle, die mitmachen wollen, irgendwo erfasst und dann erst das Topic bekannt gebt. Sonst wärs ja leicht unfair  .



Wieso ist das unfair, wenn man die Leute, die mitmachen wollen nicht sofort in einer Liste einschreibt?

Was hier landet, sind ja alles Topic-Vorschläge und noch keine Festlegungen auf ein Topic...
Es müsste quasi einen Termin geben, ab dem dann das Topic bekannt gegeben wird, wofür sich entschieden wurde. Dieser Entscheidungsprozess sollte natürlich nicht öffentlich stattfinden, damit keiner schon vorher anfängt zu entwerfen^^
Aber es spricht doch nichts dagegen öffentlich Vorschläge zu machen


----------



## The_S (26. Jun 2007)

naja, jeder wird mehr oder minder ein themengebiet vorschlagen, in welchem er schon Erfahrung oder ausgesprochenes Interesse hat. Alle Vorschläge werden hier also mehr oder minder "egoistisch" sein. Von daher sollte ein "Veranstalter" bestimmt werden, der bis zu einem bestimmten Termin ohne Einfluss von Außen ein selbst gewähltes Topic bekannt gibt.


----------



## moormaster (26. Jun 2007)

Jap, ... also müssen sich zunächst eine Reihe von Veranstaltern finden, von denen dann einer zum Veranstalter gewählt wird. Der Veranstalter ist dann natürlich vom Wettbewerb ausgeschlossen.

Evtl. wäre es auch noch sinnvoll eine Juri zu bestimmen, so dass die Programme nicht vom Veranstalter selbst (vor allem aber nicht nur durch eine einzige Person) bewertet werden. Auch für diese Leute wäre die Teilnahme am Wettbewerb nicht möglich.


----------



## Evolver (26. Jun 2007)

Und noch etwas. Das es sich um einen Programmierwettbewerb handelt, sollte am Ende nichtnur das entstandene Programm, sondern auch der Code (der "Stil") bewertet werden. Deswegen sollte die Juri auf jeden Fall nur aus den Besten bestehen. Diese Leute sollten auch gut den Aufwand de Aufage abschätzen können, um eine Abgabezeitraum sinnvoll festzulegen.


----------



## The_S (26. Jun 2007)

Na dann schlagt mal so ein paar Kandidaten vor bzw. bewerbt euch bei Interesse selbst als Veranstalter/Jury Mitglied  .


----------



## ARadauer (26. Jun 2007)

bin zwar der thread ersteller, aber würd am liebst als teilnehmer mitmachen. aber wir können so was ja öfters machen und uns abwechseln.

Wer hat den lust sich al juri mitglied zur verfügung zu stellen?


zu den themen: sehr interessant, die frage ist halt auch welchen umfang die aufgabenstellung haben soll, eher ein kleiner algorythmus oder doch ein komplexes tool..


----------



## trazzag (26. Jun 2007)

Als Jury-Mitglieder würde ich der Einfachheit wegen einfach eine Auswahl der Topposter hier nehmen. Also, welche von denen, die sich hier unter den Top30 befinde, wie z.B.
Wildcard, Hobbit_Im_Blutrausch, L-ectron-X und Co...


----------



## moormaster (26. Jun 2007)

Jap nur dass man die nicht einfach "nehmen" kann, sondern da müssen sich schon welche dafür bereit erklären von den Top 30 postern


----------



## trazzag (26. Jun 2007)

@ARadauer: ich wäre eher für kleinere Aufgabenstellungen, daeine Teilnahme am Wettbewerb nicht an Zeitgründen scheitern sollte, wenn die Aufgabe zu umfangreich ist.

Eine aufwenidige GUI-Gestaltung beispielsweise, muß nicht zwangsweise was mit den Programmierkenntnissen zu tun haben.


----------



## Gast (26. Jun 2007)

Das stimmt, und irgendwelche super komplizierte Algorithmen bringens ja dann auch nicht. Programmierwettbewerb != Mathewettbewerb


----------



## Evolver (26. Jun 2007)

Naja, ich denke Algorithmen sind schon ein zentraler Punkt der Programmierung und sollten nicht ausgeschlossen werden. Schließlich ist Programmierung mehr, als syntaktisch korrekte "Aussagen" in der jeweiligen Sprache zu formulieren.
Aber natürlich sollten die Sachen schon mit (für Programmierer) "normalen" Mahekenntnisen schaffbar sein.


----------



## Marco13 (26. Jun 2007)

Die Frage, welche Aufgaben dort gestellt werden, ist schon spannend. Unter einem Programmierwettbewerb würde ich zumindest kein GUI-Basteln verstehen. Eher kleine, knackige Aufgaben, wo man auch mal nachdenken muß, und sowohl Abstraktionsvermögen braucht, als auch die Fähigkeit, das abstrakte Zeuch in konkreten ("guten") Code umzusetzen. Hm. Ich verfolg' das hier mal mit ...


----------



## Leroy42 (26. Jun 2007)

moormaster hat gesagt.:
			
		

> Ich könnte ein Programm gebrauchen, welches die Funktion s(x) approximiert.
> s(x) bildet injektiv vom Raum aller Probleme =: P in den Raum aller Lösungen =: S ab, d.h.
> s: P->S
> so dass gilt:
> ...



LOL!!!

Hättest du ein wenig Vorlesungen über theoretische Informatik
besucht, oder dich in der Mathematik mit _Kurt Gödel_ beschäftigt,
wüsstest du das es soetwas nicht geben *kann*.


----------



## moormaster (26. Jun 2007)

Leroy42 hat gesagt.:
			
		

> moormaster hat gesagt.:
> 
> 
> 
> ...



Das stimmt schon, wenn man verlangt, ein Programm zu schreiben, was diese Funktion exakt berechnet.
Ich habe jedoch eine Approximation verlangt. D.h. das Programm soll s(x) so gut wie möglich berechnen.

Sprich mir reicht es auch schon, wenn alle durch endliche Algorithmen lösbaren Probleme mit dem Programm gelöst werden können.

Bevor jetzt jemand anfängt einen Bruteforceansatz dafür zu programmieren: Natürlich müssen die Probleme auch in möglichst kurzer Zeit gelöst werden 

Abgesehen davon müssen mir gewisse Firmen, deren Werbeslogan "Nichts ist unmöglich" lautet, ebenfalls ein solches Programm schreiben können, sogar für alle unlösbaren Probleme... sonst wiederspräche das deren Versprechen, dass nichts unmöglich ist ^^


----------



## Leroy42 (26. Jun 2007)

moormaster hat gesagt.:
			
		

> Ich habe jedoch eine *Approximation* verlangt. D.h. das Programm soll s(x) so gut wie möglich berechnen.



Sorry, *das* hatte ich überlesen   

Verzeihst du einem, gleich richtig, bedüldetem?  :toll:


----------



## Marco13 (26. Jun 2007)

"Nichts ist unmöglich" würde ja auch bedeuten, dass es unmöglich ist, ein unlösbares Problem aufzustellen  :autsch:


----------



## Leroy42 (26. Jun 2007)

Marco13 hat gesagt.:
			
		

> "Nichts ist unmöglich" würde ja auch bedeuten, dass es unmöglich ist, ein unlösbares Problem aufzustellen  :autsch:



LOL

Nimm Toyota's Werbesprüche nicht einfach wortwörtlich.


----------



## moormaster (26. Jun 2007)

Marco13 hat gesagt.:
			
		

> "Nichts ist unmöglich" würde ja auch bedeuten, dass es unmöglich ist, ein unlösbares Problem aufzustellen  :autsch:


Nein nichts ist unmöglich bedeutet doch, dass alles möglich ist... auch unlösbare Probleme aufzustellen.

Naja wir schweifen ab


----------



## stev.glasow (26. Jun 2007)

ich würde vorschlagen das man sich nen topic rausucht wo man das ergebnis objektiv beurteilen kann.
und wenn dann auch nicht gleich ganz programme sonder nur algorithmen.
das hat den vorteil dass der aufwand für den veranstalter recht gerin ist (er braucht nur die schnittstelle für den algorithmus anbieten und kann dann später auf schnelleweise das ergebnis messen) und es können so auch leute mit machen die evtl nur nen sonntagvormittag an zeit für sowas investieren können.

mal nen beispiel:
der veranstalter nimmt sich 20 streichhölzer und breitet diese auf einem weißen papier aus und macht davon 5 fotos. 
die aufgabe ist es dann einen algortithmus zu schreiben der die anzahl der streichhölzer anhand von 5 fotos erkennt bzw möglichst nahe herran kommt. die user wissen das es 20 sind und es stehen ihnen auch die fotos zur verfügung um ihren algorithmus zu testen.
wenn die anmeldephase dann verbei ist, macht der verstanstellter noch mal 5 fotos von einer vom ihm bestimmtem, den anderen aber unbekannten anzahl von streichölzern und testet dann die algorithmen.
Die Platzierungen werden dann an hand von genauigkeit beim bestimmen der anzahl und dauer des durchlaufes ermittelt.


natürlich müsste man das noch etwas ausfeilen ( im vorhinein mehrere bespiele anbieten, z.B. fotoreihen mit 10, 20 und 30 streichhölzer, auflösung bestimmen, etc) und man muss ja auch keinen algorithmus zur bilderkennung nehmen aber so in der art. halt mit messbarem ergebniss.

ist nur nen vorschlag ...



achja und leute bestimmen die in eine jury sollen ist recht hol. man kann sie fragen aber das wars auch schon.


----------



## HoaX (26. Jun 2007)

wer darf kann ja am bundeswettbewerb informatik (bwinf.de) teilnehmen. sind nette aufgaben, und die wollen nich nur code, sondern auch doku


----------



## Evolver (26. Jun 2007)

Die Idee mit den Streichhölzern finde ich shconmal nicht schlecht. Bilderkennung (wenn auch hier "nur" in Grundlagen) ist eine knackige Aufgabe und ein recht aktuelles Thema. Nur sollten die Algorithmen schon beliebeige Anzahl erkennen sollen (zumindest als Zielvorgabe).
Der Veranstallter könnte dann N Beispielbilder öffentlich vorgeben, die 50% der Wertung ausmachen, und dann gibt es nochmal soviele wertungsrelevante Bilder, die den Teilnehmenr nicht bekannt sind, und die den Rest der Wertung bestimmen. Evtl. könnte es dann ja noch Punkte für schnelligkeit etc geben.


----------



## Wildcard (26. Jun 2007)

Ihr solltet euch auch überlegen welcher Art euer Wettbewerb werden soll und wie die Bewertungsgrundlagen sind.
Geht es um
-Architektur
-Problemlösung
-Performanz
-Algorithmen
-Funktionalität
?

Sofern der Wettbewerb eine interessante Richtung einschlägt und mir die Bedingungen zusagen, bin ich auch bereit mich als Juror anzubieten.


----------



## The_S (27. Jun 2007)

trazzag hat gesagt.:
			
		

> Als Jury-Mitglieder würde ich der Einfachheit wegen einfach eine Auswahl der Topposter hier nehmen. Also, welche von denen, die sich hier unter den Top30 befinde, wie z.B.
> Wildcard, Hobbit_Im_Blutrausch, L-ectron-X und Co...



Viel Posten != Viel Wissen   . Kommt drauf an in welchem Umfang das Ganze abläuft. Wenn ihr ein Konzept habt,  werde ich mich dazu wohl nochmal äußern  .


----------



## ElViZ (27. Jun 2007)

Sowas gab es in einem anderen Forum schon mal, jedoch wurde das wieder eingestellt, weil es kaum Beteiligung gab.
Aber könnt euch ja mal die 3 gestellten Aufgaben anschaun: http://forum.javacore.de/viewforum.php?f=19


----------



## Quaxli (27. Jun 2007)

Auf www.javagaming.org gibt es öfter mal Wettbewerbe. Es ist aber ein englischsprachiges Forum. Interessant sind da vor allem die 4k-Wettbewerbe (kompiliertes Programm darf nicht größer als 4k sein). Ich finde es immer hochinteressant, was da in 4k reingepackt wird.


----------



## ElViZ (27. Jun 2007)

Was ich auch ganz lustig fand, war robocode:







Ziel ist es mit einen virtuellen Roboter zu erstellen, und ihn gegen andere Antreten zu lassen (gibt auch richtige Ligen dafür). Gibt auch wirklich sehr viele Möglichkeiten wie man sein Roboter nach gegner scanen/schiessen/umreisen lassen kann..


----------



## Marco13 (27. Jun 2007)

Ganz subjektiv: Die dort gestellten Aufgaben sind zu komplex. Sowas kann man kaum schreiben, wenn man nicht gerade Schüler, Student oder HartzIVler ist...


----------



## Quaxli (27. Jun 2007)

Den Vorschlag von ElViz mit Robocode finde ich eine Überlegung wert. Da wäre für alle was dabei


----------



## ARadauer (27. Jun 2007)

wir könnten ja poker bots schreiben. wir schreiben ein framework in dem die bots dann gegeneindander antretten können. world series of java forum hold em poker bots

oder für den anfang an, mal reversi oder so


----------



## Quaxli (27. Jun 2007)

Das geht aber Richtung KI, das wird ganz schnell sehr komplex.


----------



## VuuRWerK (29. Jun 2007)

Also die Idee einen "PokerBot" zu implementieren find ich persönlich gut, muss ja nicht gleich in einen Wettbewerb ausarten. Einen Wettbewerb kann man dann machen wer die beste Umsetzung eines Pokerspiels macht, also die Spiellogik. Mit Vorrausetzung das ein kommender, extern entwickelter, PokerBot eingesetzt werden kann. Klar wäre es eine Zeitaufwändige Sache aber wenn sich 2-3 am Spiel und 2-3 am Bot zusammen beschäftigen kann man sicherlich gute Ergebnisse erzielen. Meine Meinung 

Aber nichtsdestotrotz wäre ich auch für einen Programmierwettbewerb, da ich für die anderen offiziellen Wettbewerbe leider die Zugangsvorrausetzungen nicht erfülle: zu alt und abgeschlossene Ausbildung zum Softwareentwickler  

Gut Schuß
VuuRWerK 

P.S.: Einen solchen Bot kann man ja auch später noch immer weiter verbessern. Was wieder die Community ein wenig zusammenhält.


----------



## The_S (29. Jun 2007)

Warum sowas spezifisches? Das würde gleich alle Leute ausschließen, die noch nie gepokert haben und das auch nicht vorhaben ...


----------



## moormaster (29. Jun 2007)

Richtisch... 

Aber auf der anderen Seite kann man es nie allen recht machen... Es wird immer Gruppen geben, die ausgegrenzt werden; die einen wollen kein Spiel programmieren und die anderen haben ein Problem mit mathematischen Aufgaben usw...


----------



## Jango (29. Jun 2007)

In so einem Wettbewerb würde automatisch der gewinnen, der auch beruflich viel oder nur programmiert.
Von daher ist es ein Stechen der Spitzenprogrammierer. Hat mit Wettbewerb dann nicht mehr viel zu tun. 
Auch nach Wissensstand sortierte Aufgaben hätten nur den Effekt, dass ein Profi damit schneller fertig wird, als ein Anfänger.
Aber... war nur so ein Gedanke.
Macht doch ne Umfrage mit 5 oder mehr Gebieten zur Auswahl... :wink:


----------



## The_S (29. Jun 2007)

moormaster hat gesagt.:
			
		

> Richtisch...
> 
> Aber auf der anderen Seite kann man es nie allen recht machen... Es wird immer Gruppen geben, die ausgegrenzt werden; die einen wollen kein Spiel programmieren und die anderen haben ein Problem mit mathematischen Aufgaben usw...



ja das schon, aber etwas so sehr spezifisches wie ne Poker-KI muss es ja wirklich nicht sein.


----------



## moormaster (29. Jun 2007)

Jango hat gesagt.:
			
		

> In so einem Wettbewerb würde automatisch der gewinnen, der auch beruflich viel oder nur programmiert.
> Von daher ist es ein Stechen der Spitzenprogrammierer. Hat mit Wettbewerb dann nicht mehr viel zu tun.
> Auch nach Wissensstand sortierte Aufgaben hätten nur den Effekt, dass ein Profi damit schneller fertig wird, als ein Anfänger.
> Aber... war nur so ein Gedanke.
> Macht doch ne Umfrage mit 5 oder mehr Gebieten zur Auswahl... :wink:



Nur weil jemand etwas beruflich tut bedeutet das nicht automatisch, dass für alles sofort auf wundersame Weise die ideale Musterlösung aus dem Ärmel programmieren. Es mag sein, dass eine größere Programmiererfahrung vorliegt. Es gehört noch einiges mehr dazu, als nur das Werkzeug zu beherrschen.

Ausserdem könnte man das in der Auswerung des Wettbewerbs mit erwähnen, wer schon wieviel Erfahrung (und woher) beim Programmieren hat. Dann können sich die Hobbyprogrammierer entsprechend mit anderen Hobbyprogrammierern vergleichen.

Es ist vielleicht gar nicht so schlecht, wenn sich am Ende auch noch einige "professionelle" Lösungen unter den Programmen befinden. Da kann man am Ende mit Sicherheit immer irgendwas entdecken, was man selbst vielleicht besser machen könnte


----------



## Marco13 (29. Jun 2007)

Ja, ein Schachspiel mit GUI wo man Spielstände laden und Speichern kann, eine Poker-KI ... Noch was? Die Aufgaben, die in diesem anderen Forum gestellt wurden, waren ja offenbar schon so aufwändig, dass kaum jemand die Zeit dafür gefunden hat. Ich finde es nicht verkehrt, sich beim Bundewettbewerb Informatik Inspiration zu holen: Kleine aber "schwierige" aufgaben, die nicht unbedingt einen "höheren Sinn" haben, wo man sich aber schon gute Datenstrukturen und Algorithmen überlegen und implementieren muss.


----------



## Quaxli (29. Jun 2007)

Kleine, aber schwierige Aufgaben... . Wo bleibt denn da der Spaß?  :wink: 
Ich persönlich würde den Spiel-Charakter nicht außen vor lassen.

Und ich würde das Grundkonzept relativ einfach halten,damit auch Anfänger ein Chance haben. Wie wäre es z. B. mit einem sog. 1-Klick-Spiel (nur mit einer Mouse-Taste steuerbar)? Da gäbe es viele Möglichkeiten (Yeti-Sports, Mini-Golf, Versionen von Defend your Castle, etc.) und einige wären durchaus einfach umzusetzen.
Erfahrende Programmierer könnten was komplexeres basteln und trotzdem könnte ein relativ einfaches Spiel, das gut gemacht ist gewinnen.


----------



## trazzag (29. Jun 2007)

Ich bin da der selben Meinung wie Marco13. Gerade auf Spiele (auch wenn sie nur klein sind) verwendet man sehr viel Zeit mir Grafiken und GUI. Und es soll ja schließlich kein Design-, sondern ein Programmierwettbewerb werden!


----------



## MasterEvil (29. Jun 2007)

Eine gute GUI gehört genauso zu einem guten programm wie ein guter Codestil 
Also ich wäre auf jeden Fall für eine Kombination aus Darstellung und Algorithmus welche auch 50/50 bewertet wird!


----------



## Murray (29. Jun 2007)

Und wie will man GUIs "bewerten"? Nach Schönheit?? Sollten dann irgendwelche GUI-Frameworks vorgegeben sein???


----------



## Evolver (29. Jun 2007)

Naja, ich würde mich eigentlich auch mehr für Spieleprogrammierung interessieren, aber da geht doch echt viel Zeit für Grafiken drauf. Und die haben nunmal nichts mit Programmierung zu tun. Und bei ganzen Spielen wird der Aufwand schnell viel zu groß und die Teilnehmerzahl dann viel zu klein.


----------



## VuuRWerK (29. Jun 2007)

Also ich fand halt die Idee eines solchen bots gut. Dabei muss es nicht ein PokerBot sein sondern von mir aus auch MauMau oder einem anderen Kartenspiel. Nichtmal ein Kartenspiel muss es sein, einfach wiklrich ein wenig KI, ein wenig Mathe und die Sachen mit Design und GUI können dann welche machen die sich eben lieber mit dem GUI-Design beschäftigen.

Bspw wollte ich schon immer mal ein Rommé-Bot schreiben, es hat mir nur immer an Engagement gefehlt, weil sowas allein umzusetzen ist einfach zu viel um es mal so nebenbei als Hobbyprojekt zu machen. Aber wenn es 2-3 oder mehr sind wird das ganze schon überschaubarer.

Gut Schuß
VuuRWerK


----------



## waldwichtel (29. Jun 2007)

Hab mich gerade mal ein wenig mit Robocode beschäftigt und find es super. Eine schöne Plattform um den eigenen Code mit anderen zu messen. Eine kleine Java-Forum.org Liga wäre doch was.


----------



## MasterEvil (29. Jun 2007)

Murray hat gesagt.:
			
		

> Und wie will man GUIs "bewerten"? Nach Schönheit??



Eher nach Usabillity, denn die fehlt auch in wirklich vielen "bekannten" Programmen.
Zum Beispiel ob man ein Ziel nur über tausend Untermenüs erreicht oder mit Rechtsklick oder vieleicht doch ein einfaches aber aussagekräftiges Icon auf einer Toolbar?
Man kann sehr wohl bewerten ob man ein Programm leicht, schnell und vorallem fehlerfrei bedienen kann oder eben nicht.


----------



## Murray (29. Jun 2007)

Vernünftige Usability-Tests sind aber enorm aufwändig, denn dabei müssen normalerweise viele verschiedene Anwender befragt werden. Und selbst dann ist das Ergebnis immer sehr vom subjektiven Empfinden beeinflusst - der eine findet ein Programm unbenutzbar, wenn er es nicht durchgängig mit der Tastatur bedienen kann, der andere kann ohne Mausgesten nicht arbeiten...


----------



## MasterEvil (29. Jun 2007)

Naja, hast schon recht, aber trotzdem finde ich sollte auch die GUI in die Bewertung mit einfliessen, wenn vieleicht auch nicht ganz so hoch bewertet.
Denn richtig gute Hardcore "Hacker" , so meine Empfindungen, haben mit GUIs oft große Probleme. Das währe etwas wo sich vieleicht eher Anfänger einen Extra-Punkt holen könnten.

[Edit]
Und wegen Framework, wenn man natürlich ein super geiles Framework verwendet kann es für diese Elemente auch keine Punkte geben weil das ja auch keine eigene Arbeit ist


----------



## Quaxli (29. Jun 2007)

Ich würde der Grafik/GUI nicht so viel Gewicht zubilligen - je nachdem wie der Wettbewerb gestaltet wird. 

Vor Jahren gab es mal so'n Ding namens C64 (die Älteren erinnern sich  ). Dort gab es einige tolle Spiele, die später auf dem grafisch leistungsfähigeren Amiga nachprogrammiert wurden und trotzdem lange nicht so gut waren. Grafik hat meiner Ansicht nach nicht unbedingt was mit Spielspaß zu tun.

Im Falle von Spielen könnten auch mit den Grafikprimitiven durchaus schöne Spiele entstehen. 

<edit>
@Waldwichtel: Robcode-Liga: Da wär ich dabei 
</edit>


----------



## moormaster (29. Jun 2007)

Also ich wäre auch dafür den GUI Teil zu vernachlässigen:

Wenn man zum Beispiel mal wieder zu anderen Programmierwettbewerben schaut:

Da ist ein gewisses Framework vorgegeben: z.B. ein Programm, das eine Umgebung visualisieren kann und in dieser Umgebung Roboter umherwandern lassen kann. Dort sind dann Schnittstellen vorgegeben, mit deren Hilfe sich ein Roboter zum nächsten Feld bewegen kann, womit er Hindernisse erkennen kann und womit er auch irgendwelche herumliegenden Items einsammeln kann.

An diese Schnittstelle knüpfen dann die Einsendungen an. Zum Start des Wettbewerbs können sich meist die Teilnehmer das Framework herunterladen und ihren Programmen quasi bei den ersten Gehversuchen zuschauen.

Nach Einsendung der Programme werden die Roboter in verschiedenen Umgebungen mit dem Framework getestet.



Das wäre mal ein Beispiel, wie man sich wirklich auf das Programmieren begrenzen könnte, ohne sich Gedanken über irgendein Userinterface machen zu müssen.


----------



## Wildcard (29. Jun 2007)

Meiner Meinung nach verzettelt ihr euch total.
Wenn ihr einen Wettbewerb wollt, hier mein Vorschlag:
Eine Arbeitsgruppe/oder auch Einzelperson arbeitet eine Aufgabe aus.
Dabei geht es um ein algorithmisches Problem das nicht schon tausend mal breitgetreten wurde.
Es kommt was rein, es geht was raus.
Die Arbeitsgruppe definiert die Schnittstelle und liefert eine (erstmal geheime) Referenzimplementierung.

Ab Bekanntgabe der Aufgabe läuft die Uhr ab, wer nicht rechtzeitig liefert ist raus.

Alle eingereichten Programme müssen innerhalb einer vorgebenen Zeitspanne die korrekten Rückgaben liefern.
Sind die Antworten für alle Testwerte korrekt und wurde in der vorgegebenen Zeit das Ergebnis geliefert, gilt die Aufgabe als bestanden und man erhält Punkte.

Schlägt man die Referenzimplementierung gibt's Extrapunkte.
Die schnellste, korrekte Implementierung macht das Rennen.
-> nächste Runde.

Nach beispielweise 3 Runden ist erstmal Schluß, wer die meisten Punkte sammeln konnte darf sich als Sieger bezeichnen.


----------



## moormaster (29. Jun 2007)

Auch eine Möglichkeit


----------



## masta // thomas (29. Jun 2007)

Find Wildcart's Vorschlag im Moment am meisten ausgereift und am besten geeignet für ein Wettbewerb.


----------



## waldwichtel (30. Jun 2007)

Jap, sehr guter Vorschlag. Jetzt brauchen wir nur noch Freiwillige.

Ich wäre bereit eine kleinere Rolle zu übernehmen, kann aber auf Grund meine (noch) nicht so großen Erfahrung und Könnens nicht die Aufgaben oder so erstellen.


----------



## VuuRWerK (30. Jun 2007)

Also ich könnte folgendes Vorschlagen(fiel mir spontan ein):

Stufe leicht(Dateiarbeit): Eine Klasse/Programm zum auslesen von MP3-Metadaten und ID3-Tags V1

Stufe mittel(Algorithmieren/Dateiarbeit): Eine Klasse/Programm zum auslesen von ID3-Tags V2 von MP3-Dateien, Schwierigkeit hierbei: Die Länge der Informationen je Tag sind variabel und die Anzahl von Tags ist sehr groß.

Stufe schwer(Algorithmieren): Damenproblem, Klasse/Programm zum Ausgeben der Positionen jeder Dame auf einem mindestens 5x5-Schachbrett(Zusatzpunkte für eine animierte Darstellung), zweiter Bonus bei einer Lösung für ein variables Sachbrett, Achtung, sehr Rechenintensiv!
Infos: http://de.wikipedia.org/wiki/Damenproblem

Die Sachen fielen mir jetzt ganz spontan ein, Der eine oder andere wird sagen das die total leicht sind der andere findet nie eine Lösung. Aber ich dacht mir wenigstens ein Anfang an Vorschlägen.

Gut Schuß
VuuRWerK


----------



## The_S (2. Jul 2007)

Naja, zum Einen wäre die Aufgabenstellung schon bekannt, bevor es überhaupt eine Jury/einen Aufgabensteller gibt und zum Anderen sind 1 und 2 schon ziemlich oft durchgekaut worden und es gibt diverse OpenSource Projekte, die das lösen. Mal ganz davon abgesehen, dass 2. ein bisschen zu umfangreich wäre, wenn man die Fülle der verschiedenen Tags und genauen Spezifikationen betrachtet.

Unter 3. kann ich mir gerade überhaupt nichts vorstellen :bahnhof:


----------



## VuuRWerK (2. Jul 2007)

Es sollten ja auch nur Vorschläge sein, denn jeder hier sagte ja machen wir und der und der wären gut für die Jury. Es wurden auch schon die Teile der Bewertungen festgelegt aber keiner hat Ideen für Aufgaben geliefert. Daher hab ich einfach mal ein paar Vorschläge machen wollen. Die Sache mit den ID3Tags V1 hab ich auch schon in so ziemlicher jeder Sprache umgesetzt klar, aber es sollte was leichtes sein, denn ein Anfänger wird sich damit auch nocht nicht beschäftigt haben.

Wegen dem Damenproblem, kannste Dir ja den Wikipedia-Link anschauen da stehen alle nötigen Informationen. Ist eine recht interessante Sache, auch wenn man keine Schach spielt.

Wie gesagt waren es nur Beispiele und Vorschläge. Sollte es mal wirklich losgehen und interessante Aufgaben dabei sein wäre ich auch dabei, als Teilnehmer 

Gut Schuß
VuuRWerK


----------



## The_S (2. Jul 2007)

Ah, war der Link vorher auch schon da? Muss ich dann wohl übersehen haben  .

Es bringt momentan imho noch nichts konkrete Fragestellungen zu brigen. Das sollte voll und ganz der Jury überlassen werden. Zuersteinmal müssen wir klären, wie viele denn überhaupt an sowas interessiert sind. Wenn wir zu wenige mehr oder minder verbindliche Zusagen haben, können wir das ohnehin vergessen. Und dann brauchen wir die Jury. Wenn diese beiden "Meilensteine" erreicht sind, können wir bzw. die Jury sich mal daran machen Aufgaben auszudenken.


----------



## PollerJava (2. Jul 2007)

Also ich bin da auf jeden Fall interessiert dran. Ich hoffe dieser Wettbewerb wird international und össis dürfen da auch mitmachen.


----------



## JPKI (2. Jul 2007)

Össis... Ist das sächsischer Dialekt für das Wort "Ossis" oder meintest du "Ö*s*is" (also Österreicher)?


----------



## PollerJava (2. Jul 2007)

zweiteres!!


----------



## moormaster (2. Jul 2007)

Ich würde mal behaupten, dass es gar nicht geografisch begrenzt ist, sondern es ist einfach ein Wettbewerb für alle Forumsmitglieder (und für diejenigen, die es werden wollen  )


----------



## JPKI (2. Jul 2007)

Ich würde es auf alle deutschssprachigen Länder und Regionen begrenzen, d.h. Deutschland (ohne Schwaben :wink: ), Österreich, Deutsche Schweiz, ehem. deutsche Kolonialgebiete (z.B. Kamerun).
Grund: Wenn jetzt noch anderssprachige Entwickler kommen, müsste man sich auf Englisch einigen. Das wäre für den ein oder anderen, der jetzt mitmachen will, eventuell ein Grund es nicht zu tun :!:


----------



## trazzag (2. Jul 2007)

hm... bin der Meinung das eigentlich JEDER Programmierer gute Englischkenntnisse haben sollte! Wüßte auch gar nicht, wie man ohne auskommen sollte...?!?
Aber der Einfachheit halber ruhig auf Deutsch, bevor hier das gemecker losgeht ;-).


----------



## Evolver (2. Jul 2007)

Auf deutsch bin ich dabei, auf englisch habe ich keine Lust.
Man muss das nicht regional begrenzen, meinetwegen können auch Chinesen oder Australier mitmachen, solange sie die deutsche Aufgabenstellung verstehen.

<Offtopic>
Klar hat man es als Programmierer nicht immer leicht, wenn man nicht gut Englisch kann, aber ich denke es ist trotzdem machbar. Und die deutsche Community (-> für Programmierergemeinschaft :wink ist da auch selbst ein bisschen Schuld. Zu schnell wird das Deutsch aufgegeben. Ich denke das ist ein Fehler und man sollte nicht immer alles so schnell anglisieren.
</Offtopic>


----------



## The_S (2. Jul 2007)

Die Deutsche Community ist schuld :shock: ? Englisch ist nunmal die Weltsprache. Ich glaube kaum, dass du die Agenturen deiner Firma aus China, Russland, Amerika, ... dazu bringen kannst aufeinmal deutsch zu lernen. Genausowenig wie irgendwelche Firmen Dokus großartig in zig verschiedenen Sprachen zur Verfügung stellen.


----------



## moormaster (2. Jul 2007)

Oder andersherum: Wenn du es richtig findest, auf deine eigene Sprache zu bestehen: Würdest du denn auch extra die Sprache des anderen Programmierers aus sonstwoher lernen, wenn du mit dem zusammenarbeiten müsstest?

Dann müsstest du in ziemlich kurzer Zeit eine ziemlich große Menge an gelernten Sprachen anhäufen. Die alle zu beherrschen erfordert auch ein gewisses Talent in Sprachen, was längst nicht jeder besitzt und wenn man dann noch ein gewisses Talent fürs Programmieren (inkl. Problemanalyse und selbstständiger Lösungsfindung etc.) voraussetzt, schmälert sich die Gruppe von Menschen, die das beherrschen, noch weiter.


----------



## Marco13 (2. Jul 2007)

Abgesehen davon, dass es garantiert besser ist, seinen Code mit Anfänger-Englisch zu kommentieren, als in perfekt ausgefeilt-lyrischem Deutsch, und Methodennamen wie "setFensterVisible" IMO total bescheuert aussehen, wird das genze jetzt ziemlich Off-Topic. Um Nochmal Wildcard zu zitieren:



			
				Wildcard hat gesagt.:
			
		

> Eine Arbeitsgruppe/oder auch Einzelperson arbeitet eine Aufgabe aus.
> Dabei geht es um ein algorithmisches Problem das nicht schon tausend mal breitgetreten wurde.
> Es kommt was rein, es geht was raus.
> Die Arbeitsgruppe definiert die Schnittstelle und liefert eine (erstmal geheime) Referenzimplementierung.
> ...



Het jemand Gegenvorschläge? Vielleicht, Quake 5 zu Programmieren, oder ein Programm, das Bezier-Kurven aus Lightwave OBJ-Dateien in Triangulierte Polygonkurven verwandelt ("...das könnt' ich gerade brauchen" oder "...da hätt' ich schon was in der Schublade" :roll: ). Wenn nicht, sollte man sich vielleicht um die Crew der Aufgabensteller Gedanken machen. Freiwillige vor


----------



## The_S (3. Jul 2007)

Das dann aber am Besten in nem neuen Thread ("Anmeldung Java-Forum Programmierwettbewerb", "Bewerbung Jury Java-Forum Programmierwettbewerb", ...), sonst wird das hier zu unübersichtlich ...


----------

