Pythonwettbewerb

Alles, was nicht direkt mit Python-Problemen zu tun hat. Dies ist auch der perfekte Platz für Jobangebote.
schlangenbeschwörer
User
Beiträge: 419
Registriert: Sonntag 3. September 2006, 15:11
Wohnort: in den weiten von NRW
Kontaktdaten:

Hallo!

BlackJack hat ja hier einen Programmierwettbewerb vorgestellt, der für alle Sprachen offen ist und wo es nur um Zeit geht, Python somit also nicht die beste Sprache für den Wettbewerb ist und man nur für sich ein paar Anregungen bekommt.
Ich hab schon länger die Idee oder die Frage:
Gibt es einen Programmierwettbewerb allein für Pythonprogrammierer?
Ich denke mal nicht, da man wohl sonst mal was darüber hier gelesen hätte. Desshalb, und weil das Interesse zumindest bei einigen da zu sein scheint, wollte ich mal fragen, was ihr von einem eigenen Programmierwettbewerb im/vom/fürs Forum haltet.

Ich denke, das wär echt toll, aber ich denke auch, das damit einiges an Organisatorischer Arbeit verbunden wäre. Also, wie findet ihr die Idee?
Und: Gibt es ganz nette Admins/Mods/User die etwas Zeit und Ahnung haben, und sich beteiligen wollen? Ich würd natürlich auch mithelfen, aber alleine geht das ja dann doch nicht, und um sich Fragen/Aufgaben auszudenken, hab ich auch zu wenig Ahnung/Ideen.

Bei Wettbewerb denke ich natürlich auch nicht an große Preise, bzw. Preise überhaupt, aber es brächte echt viel Spaß, saubere, ausgefeilte Programme, und es wäre auch toll, zu sehen, wie andere die Aufgaben lösen, und was man davon lernen kann. Was besser ist, schneller, aber auch schöner. Zudem könnte man in diesem Rahmen auch verschiedene GUI-Toolkits vergleichen.

Für die Bewertung könnte man ein paar Kriterien vorgeben, und dann das Forum abstimmen lassen, falls es einen Weg gibt/man einen findet, dass jeder max. einmal abstimmen kann. (pro Script, mit Punktewertung, oder insgesammt einmal, auf einer Liste mit allen Scripten).
Ich hoffe, das ist, wie auch immer, irgedwie machbar. Was sagt ihr dazu?

Gruß, jj
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

schlangenbeschwörer hat geschrieben:Ich hab schon länger die Idee oder die Frage:
Gibt es einen Programmierwettbewerb allein für Pythonprogrammierer?
Ja, es gab mal den PyContest. Allerdings ist seine Seite nun weg. Du findest allerdings noch ein paar Blogeinträge dazu im Internet.
schlangenbeschwörer hat geschrieben:Desshalb, und weil das Interesse zumindest bei einigen da zu sein scheint, wollte ich mal fragen, was ihr von einem eigenen Programmierwettbewerb im/vom/fürs Forum haltet.
Ich habe nichts dagegen, aber ich bin mir ziemlich sicher, dass ich, wenn ich raten sollte, die Gewinner richtig raten würde. Ich kenne eben meine Schäfchen ;)
schlangenbeschwörer hat geschrieben:Ich denke, das wär echt toll, aber ich denke auch, das damit einiges an Organisatorischer Arbeit verbunden wäre. Also, wie findet ihr die Idee?
Und: Gibt es ganz nette Admins/Mods/User die etwas Zeit und Ahnung haben, und sich beteiligen wollen? Ich würd natürlich auch mithelfen, aber alleine geht das ja dann doch nicht, und um sich Fragen/Aufgaben auszudenken, hab ich auch zu wenig Ahnung/Ideen.
Ja, das mit den Ideen ist eine Sache, man kann aber auch einige Fragen vom Ruby-Quiz borgen. Ich habe allerdings keine Zeit für die Organisation, weil ich die gesammte nächste Woche nicht da bin.
schlangenbeschwörer hat geschrieben:Zudem könnte man in diesem Rahmen auch verschiedene GUI-Toolkits vergleichen.
Inwiefern?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
EnTeQuAk
User
Beiträge: 986
Registriert: Freitag 21. Juli 2006, 15:03
Wohnort: Berlin
Kontaktdaten:

Ne Idee währe es ;)
Ich habe nichts dagegen, aber ich bin mir ziemlich sicher, dass ich, wenn ich raten sollte, die Gewinner richtig raten würde. Ich kenne eben meine Schäfchen
Hi Hi ;) Ich habe die dumpfe Vermutung, das ich auch weiß, wen du meinst ;) (wenn sie alle direkt ausm Forum stammen und allesamt mehr als 1k Posts haben ;) )

Nur denke ich, das man ja verschiedene Kategorien machen könnte.

Oder mal anders: Was haltet ihr davon, einfach die schon bestehenden Fragen von diesem Contest (siehe Link oben) zu nehmen. Daraus nen kleinen Wettbewerb machen. Und die Lösung ins Wiki stellen (oder auch nicht...). So sammelt das Forum wiedermal wertfolle Codesnippets *grinz*

MfG EnTeQuAk
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

EnTeQuAk hat geschrieben:
Ich habe nichts dagegen, aber ich bin mir ziemlich sicher, dass ich, wenn ich raten sollte, die Gewinner richtig raten würde. Ich kenne eben meine Schäfchen
Hi Hi ;) Ich habe die dumpfe Vermutung, das ich auch weiß, wen du meinst ;) (wenn sie alle direkt ausm Forum stammen und allesamt mehr als 1k Posts haben ;) )
Nein, allesammt vielleicht nicht, aber es sind schon "regulars" mit denen ich teilweise auch außerhalb des Forums kontakt habe, ja. Kann natürlich auch sein, dass ich falsch liege, aber das sind eben Erfahrungswerte :D
EnTeQuAk hat geschrieben:Oder mal anders: Was haltet ihr davon, einfach die schon bestehenden Fragen von diesem Contest (siehe Link oben) zu nehmen. Daraus nen kleinen Wettbewerb machen. Und die Lösung ins Wiki stellen (oder auch nicht...). So sammelt das Forum wiedermal wertfolle Codesnippets *grinz*
An sich habe ich gegen die Idee nichts einzuwenden, aber einige der Aufgaben sind wohl etwas arg kompliziert.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
BlackJack

Es gibt ja schon massenhaft Aufgaben, und die achten auch immer darauf auch welche für "Anfänger" dabei zu haben.

Ich sehe eher das Problem, dass sich jemand entweder die Arbeit machen muss Lösungen entgegen zu nehmen und zu testen oder so etwas wie die SPOJ-Software schreiben muss, vielleicht nur auf Python beschränkt. Kostet beides Zeit.
Benutzeravatar
mq
User
Beiträge: 124
Registriert: Samstag 1. Januar 2005, 19:14

BlackJack hat geschrieben:Ich sehe eher das Problem, dass sich jemand entweder die Arbeit machen muss Lösungen entgegen zu nehmen und zu testen oder so etwas wie die SPOJ-Software schreiben muss, vielleicht nur auf Python beschränkt. Kostet beides Zeit.
Bei einem Foren-internen Programmierwettbewerb wuerde ich einfach sagen, wer Teilnehmen will, muss seinen Source oder einen Link dazu bis zum Zeitpunkt X in einen bestimmten Thread gepostet haben. Danach macht der Leiter des Wettbewerbs (oder irgendjemand anders mit entsprechenden Rechten) eine Umfrage auf, in der die User bis zum Zeitpunkt Y den Sieger waehlen koennen, und fertig. In einem anderen Forum, das ich kenne, wurde das oefter so gemacht, die Methode funktioniert eigentlich ganz gut.
BlackJack

Aber dann sieht man ja schon vor der Deadline die Programme von anderen. Und bei Problemen wo nur nach einer richtigen Antwort gefragt wird, ist das dann total witzlos.
Benutzeravatar
mq
User
Beiträge: 124
Registriert: Samstag 1. Januar 2005, 19:14

Naja, an sich ist das mit dem Code sehen kein all zu grosses Problem, denke ich. Man sollte halt nicht unbedingt 'ne Woche vor der Deadline posten. Aber ja, man koennte alternativ auch den Code einer Person schicken, und die veroeffentlicht's dann am Ende gesammelt.

Und bei "Programmierwettbewerb" denke ich nicht so sehr an "rechne XY aus" oder so, sondern eher daran, dass man ein etwas groesseres Programm bauen soll. Und halt auch, dass nicht nur das Ergebnis, sondern vor allem der Code bewertet wird. Und darauf ist das Abstimmungssystem auch ausgelegt.

Wenn man das natuerlich wie auf diversen Websites machen will, dass man versucht, mit moeglichst kleinem Code/Laufzeit/whatever ein Problem zu loesen, der Code wird hochgeladen, und dann wird aus den relevanten Faktoren ein Score berechnet (oder es einfach allgemein nur richtige und falsche Loesungen gibt), ist das System gaenzlich ungeeignet.
rafael
User
Beiträge: 189
Registriert: Mittwoch 26. Juli 2006, 16:13

http://pythonchallenge.com ist jetzt kein direkter Wettbewerb aber solche Aufgaben (Level) gibt es da.
schlangenbeschwörer
User
Beiträge: 419
Registriert: Sonntag 3. September 2006, 15:11
Wohnort: in den weiten von NRW
Kontaktdaten:

Hi!
Leonidas hat geschrieben:
schlangenbeschwörer hat geschrieben:Zudem könnte man in diesem Rahmen auch verschiedene GUI-Toolkits vergleichen.
Inwiefern?
Naja, es gab ja schon mal die Idee, ein Programm mit mehreren GUI-Toolkits zu schreiben, bzw. zu visualisieren, um sie einfach zu vergleichen, die Vor-und Nachteile zu sehen, die Designmöglichkeiten usw. zu vergleichen.
Leonidas hat geschrieben:Ich habe nichts dagegen, aber ich bin mir ziemlich sicher, dass ich, wenn ich raten sollte, die Gewinner richtig raten würde. Ich kenne eben meine Schäfchen
Ja...es ist klar, dass hier viele Leute mit sehr unterschiedlichem Level sind, aber wie EnTe schon sagte, könnte man verschiedene Kategorien machen.
Es geht halt nicht direkt ums Siegen, sondern um den Spaß, und um zu sehen, wie viel man kann, oder auch nicht, und wie gut der Code ist.
Zudem weiß denk ich mal jeder, mit wem er sich vergleichen würde/könnte. Das Neueinsteiger, die 5 Wochen Erfahrung haben, jetzt nicht besser als die sein werden, als die Admins bzw. die, die das schon seit Jahren oder aus schulischen/beruflichen Gründen sehr intensiv machen.
lumax hat geschrieben:Bei einem Foren-internen Programmierwettbewerb wuerde ich einfach sagen, wer Teilnehmen will, muss seinen Source oder einen Link dazu bis zum Zeitpunkt X in einen bestimmten Thread gepostet haben. Danach macht der Leiter des Wettbewerbs (oder irgendjemand anders mit entsprechenden Rechten) eine Umfrage auf, in der die User bis zum Zeitpunkt Y den Sieger waehlen koennen
Ja, so in etwa hatte ich mir das auch vorgestellt. Man muss den organisatorischen Aufwand ja nicht ins Maximum treiben. Ich denke, das Forum wird dann auch gerecht genug sein, um die Scripte neutral zu bewerten.
Es wäre vlt. am Besten, wenn eine neutrale Person die Links sammelt, und dann in einer Liste vorstellt. Oder der Zeitraum, in dem man die Programme hier posten kann, sehr kurz ist, sodass man sie schon vorher fertig haben muss. ka.

Die Sache mit der Bewertung könnte man ja einerseits so wie bei den
normalen Scripts im Showcase machen, und dann jedem Script eine Umfrage mit Noten anhängen, sodass jeder eine Note bekommt und es nicht einen Sieger gibt, und alle anderen haben nix davon.

Zu der Aufgabe: Vlt. wär es echt das Beste, eine etwas ausführlichere zu finden, wo man seinen Schwerpunkt auch etwas frei setzen kann. GUI wäre also optional, etc.

[Möglichkeit]
Mann könnte auf Grund der unterschiedlichen Levels auch nur Noten pro Script geben, unter Beachtung des Levels des Programmierers und des Scripts, sodass ein Anfänger auch ne gute Note kriegen kann, denn es geht ja auch um die persönliche Anstrengung.
[/Möglichkeit]

Gruß, jj
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

Blackjack hat geschrieben:Aber dann sieht man ja schon vor der Deadline die Programme von anderen.
Ich sehe das nicht wirklich als Problem. Das RubyQuiz z.B. macht das auch so. Die haben dort übrigens sehr nette Aufgaben.

Ich glaube übrigens nicht, dass ein eigenes Quiz hier lange überleben würde. In anderen Foren war nach spätestens 5 Runden schluss. Mir würden auch ehrlich gesagt keine besonders intelligenten Aufgaben einfallen :)

Aber wie gesagt, es gibt ja das RubyQuiz, und für die mathematisch angehauchten Project Euler (obwohl das für mich dort mit 30% eher frustrierend ist :?).
schlangenbeschwörer
User
Beiträge: 419
Registriert: Sonntag 3. September 2006, 15:11
Wohnort: in den weiten von NRW
Kontaktdaten:

Naja, die Schwierigkeit, oder die Aufgabe, soll sich ja auf das Programmieren beziehen. Hier Matheaufgaben zu stellen, die manche allein nicht verstehen, weil sie noch nicht so weit in der Schule sind oder so, wär ja doof.
Ein lauffähiges Programm, wie schlecht und langsam auch immer, sollte schon jeder machen können, denn wenn man gut programmieren kann, aber die Aufgabe nicht versteht/sie rein theoretisch nicht lösen kann, bringts das nicht. Bis darauf, dass man dann halt etwas frustriert ist.
Muss ja auch nicht rein mathebezogen sein...
Costi
User
Beiträge: 545
Registriert: Donnerstag 17. August 2006, 14:21

ich faende es auch toll wenn die aufgaben moeglichst praxis orientiert sind
und auch spielraum lassen.
zb sowas wie: "erstelle einen ftp client" oder "schreibe etwas um spielerisch telefon nummern auswendig zu lernen"

so kann mann die aufgaben auch entsprechend zu seinen python kenntnisen und vorhandene zeit loesen
cp != mv
schlangenbeschwörer
User
Beiträge: 419
Registriert: Sonntag 3. September 2006, 15:11
Wohnort: in den weiten von NRW
Kontaktdaten:

Ja, so meinte ich das auch.

Hat denn irgendwer schon Ideen für Aufgaben? Ein ftp-Client wäre schon sowas in die richtige Richtung (gibt ja noch nicht genug), aber es könnte für einige (so wie für mich) ein neues Gebiet sein. Am besten wär was praxisnahes, was, zumindest in der Minimallösung, mit den Standardsachen machbar ist, wobei das jetzt wieder definitionssachen ist...
Könnte man was finden, was echt noch nützlich wäre? Sonst könnte man ja als Aufgabe ein Officeprogramm nehmen, wo man Kalender/Timer nen Simplen Editor, Taschenrechner... und das übliche reinnehmen könnte, was ich aber iwie doof fänd, weil das total überflüssig ist, und man sich nicht wirklich irgendwelche großen Extras ausdenken könnte.

mfg, jj
BlackJack

Ich glaube nicht, dass man das Programmieren von Mathe im weitesten Sinne trennen kann. Bei auch nur halbwegs interessanten Problemstellungen wird man immer etwas aus dem Bereich streifen, ob das nun Geometrie, Graphenalgorithmen, Logik oder Kodierungstheorie ist. Selbst bei Problemen die vordergründig nichts mit Mathe zu tun haben, muss man sich Gedanken um Speicherverbrauch und Laufzeiten machen, da ist man dann schon wieder bei Mathe. Die Kiste vor der wir sitzen heisst nicht von ungefähr *Rechner*.

Und zum Beispiel die Probleme 4, 5 und 9 aus der Problems Collection (Volume 2) sind ganz interessant, auch wenn einfach nur ein Wert ausgerechnet werden soll.

Was sind praxisorientierte Aufgaben? Um einen FTP-Client zu schreiben muss man die entsprechenden RFCs durcharbeiten, die sind nicht weit von recht präzise mathematisch formulierten Aufgaben entfernt. Dann gibt's in der Praxis oft die Situation, dass man sich mit riesengrossen, undokumentiertem Quelltexten herumschlagen muss um dort unter Zeitdruck Änderungen vorzunehmen. Vielen Dank. Oder langweilige Frontends für langweilige Datensammlungen mit ein bisschen anspruchsloser Geschäftslogik zusammenbauen. Als Programmierwettbewerb?

Andererseits: Sind Aufgaben wie Electrification, wo man eine Reihe von Koordinaten von Häusern bekommt und mit möglichst wenigen Kabelmetern dafür sorgen soll, das jedes Haus Strom hat, wobei man beliebig Transformatoren einsetzen darf um Strecke zu sparen, wirklich so praxisfremd?
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

schlangenbeschwörer hat geschrieben:Naja, es gab ja schon mal die Idee, ein Programm mit mehreren GUI-Toolkits zu schreiben, bzw. zu visualisieren, um sie einfach zu vergleichen, die Vor-und Nachteile zu sehen, die Designmöglichkeiten usw. zu vergleichen.
Richt. Aber dabei wird das Toolkit bewertet und nicht der Programmierer. Irgendwie fallen mir auch nicht wirklich spannende GUI-Aufgaben ein. "Baue ein möglichst seltsames Widget" ist irgendwie das einzige was mir dazu einfällt. Bei so einem Wettbewerb hätten die einen Vorteil, dei einfach nur das richtige Toolkit für eine Aufgabe auswählen, weil dieses oder jenes eine bestimmte Fähigkeit schon von Haus aus mitbringt.
schlangenbeschwörer hat geschrieben:Mann könnte auf Grund der unterschiedlichen Levels auch nur Noten pro Script geben, unter Beachtung des Levels des Programmierers und des Scripts, sodass ein Anfänger auch ne gute Note kriegen kann, denn es geht ja auch um die persönliche Anstrengung.
Wie bestimmt man den Level eines Programmieres akkurat? Ich mein, man kann sich auch dumm stellen ;) *SCNR*
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
BlackJack

Häh? Den letzten Satz versteh' ich nicht. :D
schlangenbeschwörer
User
Beiträge: 419
Registriert: Sonntag 3. September 2006, 15:11
Wohnort: in den weiten von NRW
Kontaktdaten:

Also, vlt. hab ich mich ja falsch ausgedückt, oder ihr habt mich falsch verstanden. Der Schwerpunkt soll auf dem Spaß liegen. Das man Mathe nicht raushalten kann, ist klar, nur sollten es keine Programme sein, die irgendwelche hochkomplizierten Matheaufgaben lösen, die man erst ab ab ein paar Semester Mathestudium versteht, wenn ihr wisst, was ich meine.
Das Bewertungssystem ist schwierig so zu gestallten, dass es nicht so ist, dass die besten Programmierer hier ihre Programme vorstellen und "gewinnen", und der Rest nix versteht und nix davon hat. Es geht nicht darum, das sich einer dumm stellt, wir brauchen auch keinen Notar, es soll meiner Meinung nach nur eine Bewertung geben, die es jedem ermöglicht, sich selbst einzuschätzen und sich und seinen Code mit anderen zu vergleichen. Manche kriegen vlt. Noten und sehen, wie gut sie sind, aber Leute, die das seit ner Weile als Hobby machen, wissen halt nicht so gut, wo sie sind und stehen.
Als Aufgabe könnte man sich auch ein interessantes Spiel ausdenken, das es das dann so noch nicht gäbe und man sich auch mit Extras in jeder Richtung austoben könnte, wie man will. Natürlich sollte es kein Spiel sein, was allein von der Graphik lebt, da das ja nicht jeder so gut kann.
Toll fänd ich nur, wenn etwas zustande kommt, und dabei dann was olles bei rauskommt.

Gruß, jj
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

BlackJack hat geschrieben:Häh? Den letzten Satz versteh' ich nicht. :D
Stell dir vor, du erstellst dir einen weiteren Account und machst bei dem Wettbewerb als Anfänger mit. Ich wollte damit Ausdrücken, dass es kein Kriterium gibt, mit dem man Feststellen, ob der jemand wirklich anfänger ist oder nicht.

Ich gehe irgendwie immer von ganz bösen und gemeinen Menschen aus ;)
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

Leonidas, bist du "Smily-blind"? :D
Antworten