Zum Inhalt springen

Aufgabensammlung Programmierung/ Brainstorming

Aus Wikibooks

Diese Seite enthält ein bisschen Brainstorming meinerseits über das Projekt. Teilnahme anderer Nutzer ist durchaus erwünscht. --FUZxxl 21:03, 22. Jun. 2010 (CEST)

Kategorisierung nach Schwierigkeit

[Bearbeiten]

Wie soll die Schwierigkeit gestaffelt werden?

Vorschlag 1

[Bearbeiten]

Zahlenweise 1 bis 10. (ggf. Benutzung der Vorlage:Status möglich) 1 -> Am schwersten; 10 -> Am leichtesten

  1. Extrem schwere Aufgaben, die ohne weiterführende Literatur oder spezielle Algorithmen nicht lösbar sind. Weitreichende Verwendung von externen Bibiotheken kann gefordert sein, keine oder nur geringfügige Hinweise auf mögliche Lösungswege
  2. Sehr schwere Aufgaben, Lösbar mit viel Gehirnschmalz und Zeit. Die Aufgabe sollte allerdings unter kreativer Verwendung von wichtigen Algorithmen lösbar sein. Ein Hinweis auf praktische Bibliotheken oä. kann vorhanden sein.
  3. Schwere Aufgaben: Lösung verlangt ausgedehnten und sicheren Gebrauch komplexer Sprachstrukturen der Programmiersprache. Aufgabe sollte möglichst ohne zusätzliche Komponenten und mit bekannten Algorithmen lösbar sein.
  4. Implementationen: Ein in seine funktionsweise beschriebener Algorithmus soll implementiert werden. Die Umsetzung der Implentierung ist nicht vorgegeben, insbesondere darf die Abbildung des Algorithmus auf das Paradigma gefordert sein.
  5. Schwerere Aufgaben: Lösung verlangt Übertragung von bekannten Konzepten auf eine neue Situation. Gute Beherrschung der Syntax sollte zur Lösung sinnvoll sein.
  6. Normale Aufgaben: Lösung verlangt geistige Eigenleistung, Lösungsweg nicht direkt aus der Aufgabestellung erkennbar.
  7. Einfache Aufgaben: Die Aufgabe ist einfach lösbar. Es kann auch z.B. die Abbildung eines genau auf das jeweilige Paradigma zugeschnittenen Algorithmuses auf die Syntax der Sprache gefordert werden.
  8. Basiskenntnisse: Benutzung der grundlegenden Sprachkonzepte, Aufgabe sollte innerhalb einer Datei lösbar sein (Erstellung eines vollen Programms z.B. bei Haskell nicht erforderlich). Keinerlei Algorithmen
  9. Crashkurs: Benutzung einfachster Kontrollstrukturen, Aufgabe sollte in einer Funktion lösbar sein.
  10. Nach erster Programmierstunde: Aufgaben wie z.B. "addiere zwei Zahlen und gib sie aus"

Die Schwierigkeit der Aufgaben so im Bereich von 7 bis 3 kann an eine gewisse Stufe der Syntaxkenntnis angepasst werden. Es ist auch möglich schwere Aufgabe zu formulieren, die nur einfache Sprachstrukturen benötigen.

Sorry, das halte ich für eher abwegig. Von 1 bis 10 geht es aufwärts, also sollte auch Stufe 1 die einfachste und 10 die schwierigste sein. So läuft es doch auch bei Spielen ab. Und hast du dir das von Wiki erzeugte Inhaltsverzeichnis angeschaut? Von "2.1 Stufe 10" bis "2.10 Stufe 1" klingt unglaublich logisch. -- Jürgen 09:09, 23. Jun. 2010 (CEST)
Wie gesagt, alles nur Ideen. Ich dachte das, weil man dann die Vorlage Status schön benutzen könnte. Aber du hast recht, ist wahrscheinlich besser mit 1 -> einfachste und 10 -> schwerste. Ich würde mich übrigens sehr auf (deine?) Mitarbeit freuen.--FUZxxl 09:38, 23. Jun. 2010 (CEST)

Vorschlag 2

[Bearbeiten]

Wie oben, nur mit Bezeichnung nach Namen statt Nummern.

Design Kurzzusammenfassung

[Bearbeiten]

Ich plane, auf jeden Fall eine einheitliche Box zu basteln, die am Anfang jeder Aufgabe steht und sie charakterisiert.

Infos, die Reingehören
  • Name der Aufgabe
  • Schwierigkeit
  • Kategorie (wie genau, dass weiß ich noch nicht)[1]
  • vorgeschlagene Sprach(famili)en[1]
  • mit Lösung: Ja/Nein/Qualität
  • Wie viel Sprachkenntnisse erforderlich
  • Zusammenfassung der Aufgabenstellung (wie so ein Spoiler formatiert?)[1]

Und das jetzt noch in eine schicke Box...

  1. 1,0 1,1 1,2 optional