programmier wettbewerb

Status
Nicht offen für weitere Antworten.

Murray

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

Evolver

Bekanntes Mitglied
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

Aktives Mitglied
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

Aktives Mitglied
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

Bekanntes Mitglied
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

Top Contributor
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

Bekanntes Mitglied
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

Top Contributor
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

Top Contributor
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

Top Contributor
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.
 

waldwichtel

Aktives Mitglied
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

Aktives Mitglied
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

Top Contributor
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

Aktives Mitglied
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

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

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

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

JPKI

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

moormaster

Top Contributor
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 :D )
 

JPKI

Top Contributor
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

Bekanntes Mitglied
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

Bekanntes Mitglied
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

Top Contributor
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

Top Contributor
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

Top Contributor
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.

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.

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 :D
 

The_S

Top Contributor
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 ...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen

Ähnliche Java Themen

Neue Themen


Oben