Wöchentlich Programme schreiben...
-
Da ja einige Leute (u.a. auch ich
) nicht genau wissen, was sie programmieren sollen bzw. überhaupt nicht wissen, ob und was sie können, kam mir eine Idee:
Wir können doch in regelmäßigen Abständen (jede Woche oder Monat) bestimmte Problemstellungen geben, die dann gelöst werden müssen. So hat jeder was zu programmieren. Am Ende kann man sich dann die Lösungen der anderen angucken. Ich finde, dass hätte einen sehr hohen Lerneffekt.
Wenn es das schonmal gab, oder schon gibt und ich es nicht gefunden hab dann schimpft mich bitte aus.
-
guck mal:
nur leider werden die fragen immer bloeder
ansonsten:
extremer verwaltungsaufwand -> du kannst das ja machen wenn du willst: einfach ne problemstellung posten und sagen, man solle dir die loesungen mailen und nach 1er woche gibst du alle loesungen bekannt und ueber den sieger wird dann abgestimmt, oder so.das kannst ruhig du in die hand nehmen.
ist aber n grosser aufwand: wo findet man denn gute problemstellungen??
-
Shade Of Mine schrieb:
nach 1er woche gibst du alle loesungen bekannt und ueber den sieger wird dann abgestimmt
CartsenJ hatte nichts von einem Wettbewerb gesagt. Entsprechend geringer wäre der Verwaltungsaufwand.
Immer dieses Konkurrenzdenken ...
-
ok, auch wenns kein wettbewerb ist, ist der verwaltungsaufwand gross.
das problem ist ja nicht, den sieger zu bestimmen, sondern vernuenftige aufgabenstellungen zusammen zu bekommen.
ausserdem: wer macht denn da mit, wenn es um nix geht?
konkurrenzdenken spornt an - sonst ist die motivation ja im keller...
-
eigentlich eignen sich ja so ziemlich alle mathematischen probleme für ein kleines programm
mit ein bisschen sinus/cosinus könnte man z.b. eine analoguhr für den desktop proggn :D. ich weiß das wär jetz net das große problem für das man ne woche braucht aba is sicha ne gute übung, wenn man wirklich versucht den code so sauber wie möglich zu halten.
cya
-
ausserdem: wer macht denn da mit, wenn es um nix geht?
konkurrenzdenken spornt an - sonst ist die motivation ja im keller...Naja, es kommt natürlich immer drauf an. Ich denke z. B., dass wenn eine bestimmte Aufgabenstellung gelöst werden muss, die jetzt nicht gerade "Hello World" in seiner 1049032 Millionsten Ausgabe ist, man dabei schon was lernen kann.
Ich bin auch z. B. in einem Zeichen-Forum vertreten, wo regelmäßig solche Aufgaben gestellt werden. Man soll z. B. bestimmte Techniken verwenden etc. Da machen Profis, Fortgeschrittene und Anfänger mit. Ich muss feststellen, dass der Lerneffekt da sehr sehr hoch ist, da man Dinge von anderen sieht, auf die man selber so nicht gekommen wäre. Oder seine eigene Lösung war nicht so optimal etc.
Von wegen Verwaltungsaufwand:
Nen paar kleinere Ideen hätte ich da schon, z. B. im Bereich Netzwerkprogrammierung. Wie auch immer, jemand öffnet einen Thread mit eben dieser Aufgabenstellung und jeder postet seine Lösung einfach dort rein. Natürlich sind das keine Mammutprojekte, sondern eher Dinge, die man mit 100 Zeilen Code lösen kann.Ich fände das gut, da ich z. B. immer Probleme habe und nie weiss, ob mein Programmierstil so optimal ist oder ob man Schleife XYZ elegenter hätte lösen können. Auf jeden Fall könnte ich mir vorstellen, dass man dabei echt was lernen kann, vorausgesetzt, man kann Kritik sowohl einstecken als auch sachliche Krtik austeilen.
-
Generell wäre ich an solch einem "Kräftemessen" hier im Forum schon interessiert. Es muss ja kein Gewinner fest stehen. Es kann sich doch jemand eine Aufgabe ausdenken und bis zu einem bestimmten Termin können Vorschläge gepostet und diskutiert werden. Der Lerneffekt wäre bestimmt immens wenn man mal Ansätze oder Lösungen (die vielleicht auch der ein oder andere brauchen kann) von anderen neben seinen eigenen betrachtet. Den Horizont erweitern würde es allemal.
@Shade: AcmeSofties wird echt immer langweiliger. Immer irgendwelche Strings möglichst schnell nach irgendeinem Mist durchsuchen oder irgendwelche ausgedachten Algorithmen umsetzen die kein Schwein braucht. Das Problem an solchen Contests ist, dass sie keine Allerweltsprobleme nehmen können weil irgendwelche ScriptKiddies dann schon vorhandene Codes umformatieren und teilnehmen obwohl sie keine vernünftige Zeile programmieren können.
-
ich wäre auch für sowas interessiert, aber es sollte dann auch zu jedem Programm der Quellcode veröffentlicht werden.
-
jo
Marcus mach mal ein Forum dafür auf
Solche Contests hab ich schon in vielen Foren (zu anderen Themen als Programmierung) gesehen, warum nicht auch hier
-
Welche Programmiersprache? C++, WinAPI, MFC?
Die Idee ist nicht schlecht. Man sollte mit C++-Konsole beginnen.Ich stelle mal eine im Grunde einfache Aufgabe:
"Nimm-Spiel" (Beispiel siehe Kurs von Volkard Henkel und viele andere) programmieren, bei dem der Computer nicht 100%, sondern eine exakt einstellbare (0-100%) Gewinnchance (=Spielstärke) hat, damit dieses Spiel auch für den menschlichen Spieler und nicht nur für den Programmierer interessant wird.und bitte nicht so etwas: " ... nimmt 1 Münzen.", sondern hübsch.
-
..
-
Ich kann dir sogar ausrechnen wieviele Minuten und Sekunden nach 16:00 der Minutenzeiger den Stundezeiger wieder eingeholt hat :D.
BTW: Wäre auch für Konsole da es einfach am einfachsten ist. MFC, WinAPi, etc. ist immer nur für einen Teil relevant.
Lösungen die auch in der Konsole funktionieren lassen sich auch meistens in Java implementieren und erweitern somit das Spektrum.
Nimmspiel mit 100% Gewinnchance für den Computer gibt es nur in einem von zwei Fällen :D.
BTW: Wie stellst du dir eine 65%-ige Gewinnchance vor? Sollen da auch Randoms eingebaut werden?
MfG SídeWinder
-
Meinst du so was ?
http://www.fun-soft.de//forum/index.php?PHPSESSID=Ganz unten -> Rätselecke
-
Sollen da auch Randoms eingebaut werden?
Warum nicht?
-
www.fun-soft.de hat ganz interessante Ecken. ..
-
Also ich wäre auch stark für reines C++, also kein WinAPI, MFC oder sonstiges. Nur Konsole und plattformunabhängiger standardkonformer Code. Ansonsten ist es uninteressant.
-
Jo, ich hatte mir auch gedacht, dass wir uns auf c/c++ beschränken sollten. Pure Konsole. Also ich würde gerne sowas in Angriff nehmen und einfach mal sowas starten. Würde mich natürlich über Unterstützung freuen
.
-
Die Idee find ich gut.
Ich wär aber dafür dass alles verwendet werden kann. C/C++ mit diversen Bibliotheken, Java, Delphi, Perl etc.Da würde man dann z.T. völlig verschiedene Ansätze sehen und die Vor- und Nachteile der verwendeten Tools.
Auch die Aufgabenstellung würd ich nicht Beschränken auf sachen die sich mit ISO/Console bewerkstelligen lassen.
Grade wenns kein echter Wettbewerb sein soll sondern es einfach einen Übungs- und Lerneffekt haben soll, is doch so künstliche Beschränkung grundlos - und geht auch an der Realität vorbei.
-
Ja, aber gerade das ist der Reiz wenn man diese Hilfsmittelchen wie diverse APIs nicht hat. das Hauptaugenmerk sollte auf den Code gelegt werden und nicht auf das Ergebnis. Ich denke jeder hier kann ein einfaches jump'n run programmieren aber die Konzepte und Techniken die dahinter stecken verschwinden meist hinter bunten Bildchen. Es kommt auf möglichst raffinierte Lösungen bzw. Ansätze an. Ich sehe schon eine Diskussion der Art: Boah, wie hast du die Textur für den Himmel so geil hinbekommen (und das Spiel läuft in Slowmotion weil er viele unnütze Operationen macht)?
-
Naja, wenn das Ding durch den Einsatz einer Bib zu langsam wird, sieht man das ja dann an dem Beispiel, das das hier nicht passt. Andrerseits ist es doch eleganter die Aufgabe "Programmiere ein Junp'n'Run" mit ner guten Bib zu lösen, als alles selber zu machen. Wenn man die Bib nicht haben will, sollte die Aufgabe eben "Programmiere eine 2-D Spielebibliothek mit einem Jump'n'Run-Anwendungsbeispiel" heißen.
Ich denke wenn man auf einen Aspekt ein besonderes Augenmerk legen will sollte das in der Aufgabe stehen. Wenn die Betonung eher auf einem Ergebnis liegt soll man auch alles verwenden können.Ist die Aufgabe z.B. ein netzwerkfähiges "4-Gewinnt" zu implementieren, kann ich die Netzwerk-Kommunikation mit WinAPI und UDP machen, mit irgendwelchen C++-Netzwerkbibliotheken, mit den Standard Java-Klassen, einer Delphi-Komponente oder von mir aus mit SOAP.
Und am Ende sieht man dann welche Lösung die verständlichste ist, die am einfachsten zu implementierende, die erweiterbarste, die elaganteste, die mit dem größen Overhead etc.
Wenn ich jetzt aber nur SOAP haben will heißt die Aufgabe halt "Programmiere ein netzwerkfähiges 4-Gewinnt, welches über SOAP kommuniziert". Und da seh ich dann wieder, wie verschiedene SOAP-Implementationen zu handhaben sind.