Thinking like a programmer #2 – Programming a Tetris-Game with Scratch!
Programmieren kann am Anfang einschüchternd sein. Die Codes sehen aus wie eine Fremdsprache und man weiss oft nicht, wie oder wo man beginnen soll. Programmieren rückt aber immer mehr in den Vordergrund und wird teilweise sogar schon vereinfacht an Primarschulen unterrichtet (ohne Coding). Das funktioniert, denn um programmieren zu können, muss man in erster Linie wie ein Programmierer denken können.
Worum geht es bei «Thinking like a programmer»?
Die dreiteilige Videoreihe soll jenen Zuschauern, die gerne das Coden lernen möchten, aber noch etwas Respekt vor dem Code haben, die Angst davor nehmen. Beim Lernen einer Programmiersprache ist das Wissen, was man Programmieren will, schon die halbe Miete. Wenn man aufschreiben kann, was für Schritte eine Funktion haben muss, damit sie funktioniert und sich danach dieselbe Funktion im Code anschaut, stellt man fest, dass es hier viele Parallelen gibt. Mit einer «Visual Programming» Software werde ich in dieser Videoreihe deshalb ein Tetris-Game ohne Codes im Legosteinprinzip programmieren. Man muss sich also zuerst keine Sorgen um den Code machen und kann logisch überlegen, wie so ein Tetris-Game aufgebaut werden kann. Hat man das begriffen, werden dann in einem weiteren Video die Parallelen zu Javascript aufgezeigt, damit man sieht, dass der Unterschied von Tetris ohne Code zu Tetris mit Code gar nicht mehr so gross ist.
Zeigen will ich das stückweise mit drei Videos:
1. Ein Tutorial über das Visual-Programming-Tool «Scratch»: Hier will ich kurz erklären, was Scratch genau ist, wie es funktioniert und was man damit machen kann.
2. Ein Tutorial, in dem ich das Tetris Game auf Scratch programmiere: Hier programmiere ich Stück für Stück das Tetris Game mit den Bauteilen von Scratch. Dazu erkläre ich die Abläufe und was ich mir für Gedanken gemacht habe. Das Video soll den Zuschauern zeigen, was man sich für Gedanken machen muss, um ein Game wie Tetris aufzubauen.
3. Aufzeigen der Parallelen zu Codes: Im dritten und letzten Video werde ich dann die Parallelen vom Tetris Game ohne Codes zu einem Tetris mit Codes aufzeigen. Dem Zuschauer soll so vor Augen geführt werden, dass der Sprung von Programmieren ohne Codes zu Programmieren mit Codes nicht mehr so gross ist.
(ash)
Learnings und Kritik
Allgemein:
Das Projekt hat viel Spass gemacht und mich selbst auch wieder weitergebracht im Programmieren. Generell hat es aber viel mehr Zeit in Anspruch genommen als ursprünglich geplant.
Programmieren:
Das Programmieren ging relativ gut. Ich war froh, dass es mir gelang ein eigenes Tetris Game zu programmieren. So habe ich selber grosse Vorschritte in einem Bereich gemacht, der an der Fachhochschule noch nicht gross thematisiert wurde. Mir wurde schnell klar, dass meine Version aber nicht ideal, viel zu umständlich und lang ist, um es in einem Tutorial zu erklären. Deshalb habe ich ein zweites Tetris mit Hilfe von einem Youtube-Tutorial gemacht. Das nachbauen ging sehr schnell und eignete sich wesentlich besser für mein Video.
Audio:
Für den Off-Text, habe ich 6 Seiten Dialog geschrieben, ich ahnte schon, dass es ein etwas längeres Projekt wird, als ursprünglich geplant. Für das Aufsprechen habe ich mir ein gutes Mikrofon mit Sound-Shield ausgeliehen, mit der Audioqualität war ich deshalb sehr zufrieden. Leider musste ich feststellen, dass das Aufsprechen sehr mühsam war. Aufgrund der Länge, sass ich eine Stunde vor dem Mikrofon, musste mich ständig wiederholen und habe mich oft verhaspelt, wenn ich zu lange an einem Stück geredet habe.
Video:
Das Video ging sehr gut. Den Bildschirm habe ich mit dem Internen Programm von Microsoft gemacht (Cntr.+G). Das ging sehr gut. Auf dem eine Bildschirm hatte ich meine fertige Version von Tetris und auf dem gefilmten Bildschirm habe ich dann alles nachgebaut. Das hat nicht viel Zeit in Anspruch genommen. Leider musste ich feststellen, dass ich bei der Aufnahme mit der Maus immer etwas nervös war und viele Pausen zwischen den Elementen gemacht habe. Das hat das Ganze in der Postproduktion etwas erschwert.
Postproduktion:
In der Postproduktion habe ich sehr viel über das Schneiden gelernt. Das Ganze hat sehr viel mehr Zeit in Anspruch genommen also ursprünglich gedacht.
Der Grund dafür war, dass ich die Audio-Aufnahme und die Bildschirmaufnahme unabhängig voneinander gemacht habe. Das Audiofile, nachdem ich mich orientiert habe, war nach dem Schneiden halb so gross, wie die Bildschirmaufnahme. Aus diesem Grund musste ich mühsam sehr viel Bild schneiden und die Geschwindigkeit so anpassen, dass es immer auf den Ton passt, so dass immer das angezeigt wird, was gerade gesagt wird. Das Anpassen an den Ton war zeitintensiv und nicht ideal, da ich so beim Bild keine Pausen machen konnte und alles sehr schnell geht. Der Zuschauer hat so nicht sehr viel Zeit, meinen Erklärungen zu folgen, wenn er nicht pausiert. Nächstes Mal werde ich sicher zuerst das Bild machen und dann darauf sprechen, während das Video läuft, oder ich mache beides gleichzeitig.