Girl’s Day 2014

JvaScript_Programming_is_funDer Girl’s Day 2014 findet am 27.03.2014 statt und dieses Jahr hat mich meine Nichte gefragt ob sie nicht mal bei mir im Büro reinschauen kann. Die Idee finde ich natürlich grundsätzlich gut und ich habe spontan Ja gesagt.

Den Girls Day selbst kannte ich schon aus der Vergangenheit, da ich diese Aktion schon öfter miterlebt habe. Nachdem ich also zugesagt hatte, stellten sich mir erst mal folgende Fragen.

Girl’s Day Vorbereitung

Gut geplant ist halb gewonnen – heißt es, daher versuche ich mich auf den Tag einigermaßen brauchbar vorzubereiten und versuche im Vorfeld einfach mal folgende 4 Fragen zu beantworten.

  • Was genau soll das Ziel des Girls Day sein?
  • Was wird von den Schülerinnen am Girls Day verlangt?
  • Was mache ich am Girls Day mit meiner Nichte?
  • Wie bereite ich den Girls Day vor?

Diese 4 Fragen sollte man sich auf jeden Fall stellen, wenn man am Girls Day mitmacht. Schließlich geht es um die Zukunft dieser Mädchen und nicht darum, ob man Senf oder Ketchup auf die Wurst macht. Natürlich ist hier auch die Schule ein wenig gefragt, denn auch die Schüler müssen auf den Girls Day vorbereitet werden. Wenn den Schülern schon in der Schule vermittelt wird, dass es sich hier um einen wichtigen Tag für einen späteren Berufswunsch handelt, gehen die (meisten) Mädchen vermutlich auch ganz anders an so einen Tag heran, auch wenn man von niemanden in dem Alter erwarten kann, schon einen Plan für die Zukunft im Kopf zu haben. In dem Alter tobt die Pubertät im Körper der Kinder und macht es den Mädchen in vielen Fällen nicht möglich, klar zu denken – aber das gibt sich ja hoffentlich nach der Pubertät wieder.

Was genau soll das Ziel des Girls Day sein?

Nachdem ich ja nicht der erste Mensch bin, der sich mit dem Thema beschäftigt, habe ich erst mal das gemacht, was ich immer mache, wenn ich mich mit einem neuen Thema beschäftigen darf – googeln.

Beim Googeln bin ich dann auf die Unterrichtsmaterialien zur Vor- und Nachbereitung in der Schule (http://www.lis.bremen.de/sixcms/media.php/13/U_Materialien_GD.pdf ) gestoßen. Dieses 65 Seitige Dokument habe ich mir dann mal in aller Ruhe durchgelesen und sehr viele interessante Informationen gefunden.

Diese Unterrichtsmaterialien zum Girls Day enthalten sehr umfangreiche Informationen zur Vorbereitung, Durchführung und Nachbereitung des Girls Day und werden ergänzt durch praktische Beispiele.

Zusammenfassend kann man sagen, das Ziel des Girls Day ist:

  • Schülerinnen sollen lernen über eigene Wünsche, Lebensziele, Vorstellungen und Pläne nachzudenken unabhängig von der Rollenverteilung, die von den Eltern, dem Umfeld und der Gesellschaft vorgelebt wird.

  • Schülerinnen sollen Lebensentwürfe und Zukunftswünsche formulieren und verstehen, dass es in der modernen Welt keine Einschränkungen in Bezug auf das Geschlecht mehr gibt.

  • Schülerinnen sollen ihre Studien- und Berufswahl hinterfragen und dabei die persönlichen Vorlieben und Interessen in den Vordergrund stellen und Rollenklischees hinterfragen.

  • Schülerinnen bekommen Einblicke in untypische Berufsfelder und erproben ihre Fähigkeiten ohne sich langfristig an dieses Berufsfeld zu binden.

 

Alles in allem schon eine ganze Menge. Aber auch wenn für einige Mädchen der Girls Day einfach nur ein Tag Schulfrei bedeutet, sind diese Fragen natürlich sehr wichtig und ich hoffe, die Eltern und Lehrer unterstützen die „Kinder“ dabei.

Ich war in dem Alter noch nicht so reif, mir zu diesen Themen meine Gedanken zu machen. Aus dem Grund ist meine Ausbildung vermutlich auch nicht ganz gradlinig verlaufen.

Wie bereite ich mich am besten darauf vor?

Nachdem ich nun also weiß, was das Ziel ist muss ich eine Aufgabe finden, die meiner Nichte die Entscheidung für oder gegen eine Laufbahn als Software-Entwickler (in) zu entscheiden. Um einen objektiven Überblick zu erhalten, muss man viel zu viele Themen anschneiden, da dieser Bereich doch recht umfangreich ist.

So gibt es nach Balzert (Lehrbuch der Software-Technik) die Planungsphase, Definitionsphase, Entwurfsphase, Implementierungsphase, Abnahme- und Einführungsphase und die Wartungs- und Pflegephase. In jeder Phase sind unterschiedliche Aufgaben zu erfüllen, die jeweils ein spezielles Know-How verlangen.

Da meine Lieblingsphase die Implementierungsphase ist, kann ich wohl hier die größte Begeisterung für die Software-Entwicklung wecken. Also werde ich meiner Nichte kurzerhand eine Einführung in das Programmieren geben. Ein Tag langt dafür schon, wenn man sich nicht gerade für eine total abgedrehte Programmiersprache wie z.B. ArnoldC (https://github.com/lhartikk/ArnoldC‎) oder Objective-C (de.wikipedia.org/wiki/Objective-C) entscheidet.

Entsprechend meiner Empfehlung in dem Artikel Programmierung – Quo vadis? werde ich meiner Nichte einmal JavaScript näher bringen.

Die Programmiersprache JavaScript hat lange Jahre unter einem schlechten Ruf gelitten, ist meines Erachtens aber eine der Programmiersprachen der Zukunft und hat besonders für Anfänger, viele Vorteile.

  • Es ist keine spezielle Software nötig, um JavaScript zu programmieren. Ein Texteditor und ein Web-Browser reichen völlig aus, um mit JavaScript anzufangen. Selbs mein Sohn hat mit 5 Jahren schon im vi (Unter meiner Anleitung) ein JavaScript Programm erstellt.
<script>
alert („Hallo Welt“);
</script>
  • JavaScript ist eine Programmiersprache, bei der man zwischen funktionaler und objektorientierter Programmierung wählen – und diese sogar mischen kann. Das macht den Einstieg über dir funktionale Programmierung und den Umstieg auf die objektorientierte Programmierung einfacher.
  • JavaScript benötigt keinen Compiler. Genau genommen kann man das zwar auch als Nachteil sehen, da es die Fehlersuche für einen Anfänger nicht gerade vereinfacht, aber so ein Compiler ist auch wieder eine Hürde. Wenn ich mich an meine ersten Experimente mit dem gcc – aber das ist eine andere Geschichte :-)
  • Das Internet ist randvoll gefüllt mit Anleitungen, Tutorials, Blogs, Foren, Beispiele, Bibliotheken, etc. zu dem Thema. Ich bin überzeugt davon, dass man heute jede denkbare JavaScript Anwendung programmieren kann, ohne eine Zeile Code zu schreiben. Nur durch Copy und Paste aus den Quellen im Internet.
  • Das allerwichtigste aber ist: JavaScript hat keine Poiniter, es gibt keinen Copy Contructor und JavaScript hat ein eingebautes Memory Management mir Garbage-Collector. Damit muss man sich auch nicht mit malloc und free herumärgern.
  • Es ist keine Client Server Architektur nötig, wie es z.B. bei php, jsp oder asp Anwendungen üblich ist. Trotzdem bietet JavaScript diese Möglichkeit sowohl als Client im Browser als auch als Server (node.js) eingesetzt zu werden.
  • Ich könnte noch viele andere Vorteile aufzählen, aber das sollte wohl genügen, um zu zeigen, dass JavaScript alles in allem eine moderne Programmiersprache die einen schnellen Einstieg ermöglicht und trotzdem das Potential hat, damit großartige (Web-)Anwendungen zu realisieren.

JavaScript ist also gesetzt. Ich selbst kann JavaScript programmieren und nun ist nur noch die Frage, wie ich es meiner Nichte beibringe. Vom Zeitlichen Ablauf her muss ich es schaffen, ihr die JavaScript Grundlagen in max. 1 Stunde beizubringen. Das ist keine Kleinigkeit. Ich werde versuchen die Essenz aus der JavaScript Einführung von Mathias Schäfer (http://molily.de/js/) in ein kleines Dokument zu pressen und daraus eine Art Infografik erstellen, die ich bei mir im Büro an die Wand pinne. Mal sehen, ob das reicht ….

Da ich meine Nichte nicht gleich mit einer kompletten IDE wie z.B. Eclipse oder NetBeans überfordern möchte und ich jetzt schon den Frust in Ihren Augen sehen kann, wenn ich ihr meinen Lieblingseditor vi vorstelle, wähle ich als Editor erst mal PSPad. Der Editor ist besonders auf die Bedürfnisse von Programmierern und Webdesignern zugeschnitten und absolut kostenlos. Er ist leicht zu erweitern und bietet viele nette Gimmicks wie z.B. Farbig hervorgehobene Syntax für JavaScript und andere Programmiersprachen, einfaches Arbeiten im gewohnten Stil (Notepad), keine Installation notwendig (Portable Software kann direkt vom USB Stick ausgeführt werden) uvm.

Natürlich ist PSPad nicht die richtige Wahl, um damit „richtig“ Software zu entwickeln, da viele andere Features wie z.B. Refactoring, Versionsverwaltung, Anbindung an Ticket System (z.B. mit MyLin) und vieles andere auch fehlen, aber zum Lernen ist PSPad optimal – klein, schnell, kostenlos und einfach.

So weit so gut. Also schnell einen Rechner aufsetzen und Google Chrome (mein bevorzugter Browser) und PSPad installieren und schon kann es los gehen.

Was mache ich mit meiner Nichte am Girls Day?

Nachdem ich mich nun also für eine Programmiersprache entschieden habe, muss noch eine Aufgabe her. Denn auch wenn ich überzeugt bin, dass Copy und Paste heute das A und O der Programmierung ist, so bleibt noch die Frage nach der eigentlich zu programmierenden Funktion, die ich nicht einfach so kopieren kann. Folgende Kriterien bei der Auswahl der Aufgabe sind meiner Meinung nach zu beachten.

  • Die Aufgabe muss an einem Arbeitstag umsetzbar sein. Der Erfolg ist Wichtig für die Motivation.
  • Eine Aufgabe, die langweilig ist, lässt die Motivation schnell in den Keller sinken und das Interesse an dem Beruf ist schon im Eimer :-(
  • Bei der Aufgabe müssen wesentliche Aspekte der Arbeit verständlich werden. Auch die nicht so angenehmen Teile der Aufgabe (z.B. die Fehlersuche) müssen rüber kommen.
  • Die Aufgabe muss mit der gewählten Programmiersprache umsetzbar sein. Alternativ kann man natürlich auch erst eine Aufgabe auswählen und dann eine passende Programmiersprache wählen.
  • Die Aufgabe muss auf die jeweilige Schülerin zugeschnitten werden. Dabei kommen natürlich Aspekte wie Selbstständiges Arbeiten, Intellekt, Kreativität etc. zum Tragen. (Glücklicherweise kenne ich meine Nichte sehr gut und kann mich gut darauf einstellen :-) )
  • Optimal wäre es, wenn die Schülerin das Ergebnis mit nach Hause nehmen kann, um ihre Freundinnen von der Arbeit zu begeistern (Multiplikatoren).

Nachdem ich mir eine Zeit lang meine Gedanken gemacht habe, bin ich zu der Schlussfolgerung gelangt, dass ich meiner Nichte Conway’s Game of Life (http://de.wikipedia.org/wiki/Conways_Spiel_des_Lebens) als Aufgabe geben werde.

Die Aufgabe ist einfach zu verstehen und trotzdem nicht so langweilig, wie ein „Hello World“. Zudem können viele grundlegende Programmier-Themen angesprochen werden. Darunter unter anderem Variablen, Funktionen, Array, Schleifen, Bedingungen, etc. Ich werde versuchen ihr auch gleich ein paar Grundzüge von „Clean Code“ mit auf den Weg zu geben. Nach dem Tag sollte sie schon den gelben Grad (http://www.clean-code-developer.de/Oranger-Grad.ashx) erreicht haben :-).

 

Über den Girls Day

Bei dem Girls Day handelt es sich um eine Aktion, die sich in erster Linie auf junge Frauen und Frauen bezieht und dazu motivieren soll, bei der Berufswahl auch einen technischen oder naturwissenschaftlichen Beruf zu erwägen.

Der Girls Day findet einmal im Jahr statt und soll dazu beitragen, den Anteil der Frauen in den sogenannten „Männerberufen“ zu steigern und den prognostizierten Fachkräftemangel in den Männerberufen zu verringern.

 

Girls Day Links

Offizielle Webseite zum Girl’s Day
http://www.girls-day.de/

 

Wikipedia Girl’s Day
http://de.wikipedia.org/wiki/Girls%E2%80%99_Day

 

Unterrichtsmaterialien zur Vor- und Nachbereitung in der Schule
http://www.lis.bremen.de/sixcms/media.php/13/U_Materialien_GD.pdf

 

JavaScript Einführung von Mathias Schäfer
http://molily.de/js/
https://github.com/molily/javascript-einfuehrung

 

JavaScript Video Tutorial für Anfänger (Deutsch)
https://www.youtube.com/watch?v=jVfU8ClSReQ&list=PL0B4333415D75CA41

 

Conways Spiel des Lebens
http://de.wikipedia.org/wiki/Conways_Spiel_des_Lebens

 

Clean Code Developer
http://www.clean-code-developer.de/

 

PSPad Editor
http://www.pspad.com/de

Meine Apps im Google Play-Strore Jetzt bei Google Play