# Coding-Quiz: Interesse an Neuen?



## sheel (1. September 2013)

Nachdem der letzte Coding-Quiz nun gute drei Jahre her ist:
Wer hat Interesse an einer Weiterführung?


Was ein Codingquiz ist:
Kurz gesagt: Kleine bis mittlere Programmieraufgaben,
nicht selten auch mit einiger Gedankenarbeit verbunden.
Die Programmiersprache steht dabei frei zur Auswahl.

Alle Teilnehmenden posten ihre Programme bis zum jeweiligen Abgabetermin
und können sich über ihre Lösungen austauschen.
Es geht dabei vordergründig nicht darum, Gewinner oder Verlierer zu sein,
sondern ums Dazulernen (Schreiben vom Programm, Verstehen anderer Lösungen,
Kennenlernen von neuen Algorithmen...) und/oder einfach um den Spaß am Lösen.

Beispiele für vergangene Aufgaben wären:
Kreuz und Quer (Generieren eines Kreuzworträtsels)
Lisas Osternest (Maximaler Nutzen für geringes Gewicht, Knappsackproblem)
Atlantiküberquerung (Kürzeste Route, Travelling salesman mit geografischen Koordinaten)
Terraforming (Terraingenerierung)
Polnischer Taschenrechner ("Polnische" Rechnungsschreibweise)


Begründungen für eure Entscheidung bei der Umfrage sowie weitere Fragen,
Hinweise und Ideen können hier ausgiebig diskutiert werden.
Und vielleicht hat ja jemand (weitere) Vorschläge für neue Quiz-Aufgaben


----------



## Spyke (1. September 2013)

Was mir vorallem beim letzten mal gefiehlt war der Brainf*ck interpreter.
Ich glaube durch die Aufgaben erfuhr ich auch erst von der Sprache, deshalb wäre ich auch schon dafür dies wieder aufzubeleben.

Das Problem bei mir vorallem ist das ich daheim keine IDE habe.
Ich würde eventuell gerne bei kleineren Aufgaben Pseudocode mäßig gerne mit machen wollen, aber eine IDE werde ich hier nicht installieren. 
Einfach aus den Gründen das ich doch mal bissel abschalten kann.


----------



## alxy (1. September 2013)

Hört sich cool an, wäre auf jeden Fall dabei... Auch wenn bei mir die Auswahl an Sprachen sehr begrenzt ist


----------



## ComFreek (1. September 2013)

Wäre natürlich dabei, sheel weiß das ja auch 

Ich hätte da sogar eine Idee:

Zuerst sollte man folgende Seite kennen: Regex Crossword (Kreuzworträtsel mit regulären Ausdrücken). Am Besten dir ersten zwei, drei Aufgaben des Tutorials durchspielen, um das Prinzip zu verstehen 

Nun kommt meine Idee: ein automatisches Programm, welche mögliche Lösungen ("passende Texte") zu einem gegebenem regulären Ausdruck findet.

Mögliche Teilaufgaben:
- Leicht: Mehrere reguläre Ausdrücke zu berücksichtigen

- Mittelschwer: Mehrere reguläre Ausdrücke an "verschiedenen Startpositionen" zu berücksichtigen (wie im oben genannten Kreuzworträtsel Spalten und Zeilen)

- Schwer: Keine Bruteforce-Lösung zu verwenden​
@sheel: Gab es nicht noch einen Coding Quiz mit Lisa's Ableitungen?


----------



## sheel (1. September 2013)

ComFreek hat gesagt.:


> Ich hätte da sogar eine Idee:...


Hehe, interessante Sache 



ComFreek hat gesagt.:


> @sheel: Gab es nicht noch einen Coding Quiz mit Lisa's Ableitungen?


Ja, gabs auch. Insgesamt gab es bisher 17 Stück; 
das oben sind ja nur ein paar Beispiele daraus.


----------



## alxy (1. September 2013)

http://regexcrossword.com/challenges/tutorial/puzzles/9
Warum da nur der Whitespace richtig ist ist fraglich. \s matcht doch auch Buchstaben und Zahlen....

Oh, hatte mich im cheatsheet verguckt.. alles klar, ich nehm alles zurück


----------



## sheel (1. September 2013)

Um auf das wieder zurückzukommen:


Spyke hat gesagt.:


> Das Problem bei mir vorallem ist das ich daheim keine IDE habe.
> Ich würde eventuell gerne bei kleineren Aufgaben Pseudocode mäßig gerne mit machen wollen, aber eine IDE werde ich hier nicht installieren.
> Einfach aus den Gründen das ich doch mal bissel abschalten kann.


Hm. Naja, warum nicht?
Falls nötig kann man zwar Sachen wie Codelänge oder Geschwindigkeit schwer messen,
aber dass du mit Pseudocode (und -algorithmen) mitmachst ist von meiner Sicht aus kein Problem.
Weitere Meinungen dazu?

Zum BF-Interpreter: Hab das nicht ganz verstanden.
Hat er als Aufgabe gefehlt,
hat ein Programm gefehlt dass man den Teilnehmern zur Verfügung stellt,
oder ...?

Offtopic zur IDE:
Notepad++ mit einigen Plugins reicht auch komplett 
Ernsthaft. Hab zwar auch einige IDEs installiert,
aber wann sie das letzte Mal gestartet wurden ist eine andere Sache...


----------



## ComFreek (1. September 2013)

sheel hat gesagt.:


> Hm. Naja, warum nicht?
> Falls nötig kann man zwar Sachen wie Codelänge oder Geschwindigkeit schwer messen,
> aber dass du mit Pseucode (und -algorithmen) mitmachst ist von meiner Sicht aus kein Problem.
> Weitere Meinungen dazu?


Bei einigen Aufgabenstellungen lassen sich schwer Pseudocode und -algorithmen aufstellen. Aber das nur als Anmerkung, nicht als Hindernis 


Offtopic zur IDE: Für das schnelle Ausführen gibt es auch spezielle Seiten wie z.B. .


----------



## alxy (1. September 2013)

Du bist beruflich Programmierer aber hast zuhause nicht eine IDE/einen Editor? Krass.


----------



## HonniCilest (2. September 2013)

Ich warte schon sehr lange auf eine neue Aufgabe und würde mich sehr freuen!  Unabhängig von den geposteten Lösungen bin ich mir sehr sicher, dass einige Member zum lernen und knobeln bis heute noch ausprobieren.

Ich finde das mit dem REGEX Kreuzworträtsel schon eine sehr gute Idee.

Persönlich hatte ich auch einmal einen Vorschlag eingereicht (vor genau 2 Jahren), allerdings hatte ich hier keine Antwort:
Als Kind hatte ich immer sehr gerne auf 3D-Bilder geschaut. Fachbegriff ist anscheinend Sird bzw. SIS. Hier wird ein Musterbild und ein Schwarz-Weiß bzw. Graustufenbild "verschmolzen". Zu Coden wäre dann z.B. die Generierung eines Musters (kann auch Random Pixel sein), die Erstellung von einfachen Schwarz-weiß Bildern (z.B. einfach geometrische Figuren) bzw. schwierigeren Graustufenbildern (Haushaltselemente, Tiere...) bis hin zur Verschmelzung beider zu einem Sird. Wobei Letzteres natürlich das eigentlich Interessante ist!


----------



## Jellysheep (2. September 2013)

Bei einem Coding-Quiz mache ich gerne wieder mit.  Toll, dass es demnächst wieder einen gibt.
Vielen Dank an ComFreek für die Einladung, deine Idee finde ich auch interessant. Dann könnte ich mich mal mehr in RegEx-Schreibweisen üben und andere Algorithmen kennenlernen.
Irgendwas mit Interpretern oder Turing-Maschinen wär aber auch ganz witzig.


----------



## Yaslaw (2. September 2013)

Die Idee ist gut. Nur das ich für das Regexp-Kreuzworträtsel zu blöd bin. Ich habe trotz Anleitung die Logik noch nicht kapiert. Die bei den Tutorials schon, aber das scheint wenig mit den weiteren Aufgaben zu tun haben. Und das Ding git mir auch kein Hinweis welches der Felder falsch ist. Nix für mich.


----------



## alxy (2. September 2013)

Ich bin durch mit den regexen 
Ganz netter zeitvertreib. Jeweils alle regexes müssen matchen Yaslaw... das sind teilweise bis zu 4 pro feld/zeile/spalte


----------



## Spyke (2. September 2013)

BF Interpreter war eine der Aufgaben eines Contests, einen interpreter für BF zuschreiben.

[OFFTOPIC]
Ansonsten, programmiere ich ja jeden Tag 9 Stunden.
Das muss ich dann nicht auch noch zu Hause haben.

Und so im Forum helfen kann ich ja auch so, im Grunde kenne ich ja, denke ich, die grundlegensten  Tücken im .Net
Und Code direkt zu analysieren bin ich ja schon durch meine Kollegen gewohnt das ich nicht für jedenfall eine IDE brauche um zu sehen warums kracht.
[/OFFTOPIC]
Edit: Offtopic war nur kurz zur Sache warum ich daheim keine IDE habe.


----------



## ComFreek (2. September 2013)

Jellysheep hat gesagt.:


> Irgendwas mit Interpretern oder Turing-Maschinen wär aber auch ganz witzig.


Ja, sowas würde mir auch gefallen 



			
				Yaslaw hat gesagt.:
			
		

> Nur das ich für das Regexp-Kreuzworträtsel zu blöd bin.


Das Kreuzworträtselspiel war auch eher nur der Anreiz für meine Idee. Für die Bewältigung der Aufgaben muss man keineswegs das Kreuzworträtsel (ganz) verstehen. Im Kern geht es darum, reguläre Ausdrücke rückwärts aufzurollen.

Bsp.:

```
[a-z][0-9]{2,3}[A-Z\s]

Einfachste Lösung: "a00A"
```


```
Kombination aus zwei regulären Ausdrücken (beide müssen gelten!):

[a-z][0-9]{2,3}[^A-Z]
[def]\d+[^\s]

Einfachste Lösung: "d00 " (Leerzeichen ganz hinten)
```
Im zweiten Beispiel muss also ein Text gefunden werden, der auf beide reguläre Ausdrücke passt.

Mit dem Hinweis der falschen Zeilen oder Spalten hast du Recht.


----------



## alxy (8. September 2013)

Die Umfrage ist ja eindeutig? Gibts denn schon Pläne das auch tatsächlich zu machen jetzt? (Ist auch mit organisatorischem Aufwand verbunden, nehme ich mal an...)


----------



## ComFreek (8. September 2013)

alxy hat gesagt.:


> Die Umfrage ist ja eindeutig? Gibts denn schon Pläne das auch tatsächlich zu machen jetzt? (Ist auch mit organisatorischem Aufwand verbunden, nehme ich mal an...)



Eindeutig: ja. Wir wollten ein wenig warten, ob sich vllt. doch mehr melden oder Anregungen haben.
Pläne: ja, wir (bin in Kontakt mit sheel) wollen das nun umsetzen
Organisatorischer Aufwand: Ein bisschen die Regeln aufschreiben usw., allerdings entwerfen wir auch keine Verfassung oder einen Vertrag, das sollte nicht so lange dauern


----------



## sheel (14. September 2013)

So, die wirklich sehr eindeutige Umfrage ist hiermit beendet.
Und Nummer 18 vom Quiz findet ihr hier 
http://www.tutorials.de/diskussion/395498-quiz-18-regulaere-ausdruecke-reverse-engineered.html


----------

