WAD CAB Coding Challenge

GitHub-Repository ansehen
Live-Vorschau ansehen

Als Mentorin habe ich dieses Projekt gebaut, um den Studierenden der Code Academy Berlin eine Coding Challenge zu geben. Jedes Jahr bekam die Schule Tickets für die We Are Developers World Congress in Berlin, die wir an Studierende vergeben konnten. Wir wollten eine einfache Challenge, die sowohl Data-Science- als auch Webentwicklungs-Studierende lösen können; die Schnellsten aus jedem Kurs sollten ein Ticket gewinnen. Sie sollten eine Funktion in JavaScript, TypeScript oder Python schreiben, um das Rätsel zu lösen.

Das Projekt nutzt das Full-Stack-Framework Next.js zusammen mit der NoSQL-Datenbank MongoDB. Auf Authentifizierung habe ich verzichtet und den Alias der Studierenden einfach in einem Cookie gespeichert, damit die Sitzung bestehen bleibt – die Challenge sollte in wenigen Stunden fertig sein. Ich habe ein Cookie statt Local Storage genommen, weil ich Server Components und Server Functions so weit wie möglich genutzt habe, damit im Browser möglichst kein Code liegt, den man kopieren könnte, um das Rätsel schneller zu lösen.

Screenshot der Startseite mit dem Anmeldeformular

Nach der Anmeldung können die Studierenden die Challenge lesen. Zuerst müssen sie mit einer Cäsar-Chiffre den Slug entschlüsseln, hinter dem die Anweisung für den nächsten Schritt liegt. Ein paar Leute haben die Tabelle falsch gelesen: Die Aufgabe ist nicht, den Slug zu verschlüsseln, sondern ihn zu entschlüsseln.

Screenshot der Startseite mit der Beschreibung der Coding Challenge

Der Slug ist immer derselbe. Nach erfolgreicher Entschlüsselung kommt man auf diese Seite. Der nächste Schritt ist im Wesentlichen gleich, aber ich habe Länge und Komplexität des zu entschlüsselnden Strings erhöht, damit sie ihre bestehende Funktion anpassen. Wer den String entschlüsselt, findet – nach einer schnellen Google-Suche, falls die Wörter nicht schon bekannt sind – den Filmtitel, der ins Eingabefeld gehört.

Screenshot des nächsten Schritts

Sobald Studierende die Challenge abschließen, erscheint ihr Alias in der Rangliste auf der Startseite. Wer ein Ticket beanspruchen wollte, brauchte ein Code Review der Funktion, mit der das Rätsel gelöst wurde. KI zur Codegenerierung war verboten, Fragen zu Lösungsansätzen waren erlaubt, weil eine Cäsar-Chiffre für viele neu war.

Screenshot der Rangliste

Die Challenge darf gerne ausprobiert werden! Alle Studierendendaten sind aus der Datenbank gelöscht, neue Aliase können aber weiterhin angelegt werden. Es kann einen Moment dauern, bis die Datenbank wieder wach ist.