JS Learning Group
JavaScript Lerngruppe
Bei Fragen zur Veranstaltung: Better call Redplanet
History:
- Mo, 8.12.2014, 19:00
- Mo, 22.12.2014,19:00 - JS Learning Group #0
- Mo, 12.01.2015,19:00 - JS Learning Group #1
- Mo, 26.01.2015,19:00 - JS Learning Group #2
- Mo, 16.02.2015,19:30 - JS Learning Group #3
Nächste Termine:
- Mo, 02.03.2015,19:30 - JS Learning Group #4
Aktuell
Für den nächsten Termin solltest du bis Kapitel 5 von http://eloquentjavascript.net/ gelesen haben und die Excercises zumindest probiert haben :) Die Exercises aus Kapitel 4 werden aber am Anfang besprochen.
Zielgruppe
Sind Leute die entweder noch gar nicht programmiert haben, eher wenig Programmier-Erfahrung haben und Leute die andere Programmiersprachen nutzen aber im Browser immer wieder über Feinheiten und Quirks der JavaScript-Umgebung stolpern. Der hohe Anspruch ist es vor allem die Sprache JavaScript, die Browser-Umgebung und Node.js von Grund auf soweit zu vermitteln, dass am Ende alle Teilnehmenden ein kleines Projekt geschrieben und Code-Stücke von anderen gelesen und verstanden haben. Außerdem sollen sie in der Lage sein sich selbstständig in neue Frameworks einzuarbeiten und Ansatzpunkte haben ihre eigenen Projekte zu verwirklichen.
Format
- Zweiwöchentlich(?)
- ~1h Vortrag, ~1h+ Questions & Answers
- + Leseempfehlung zur Wiederholung und Vertiefung des besprochenen. (~1h Zeitaufwand)
- + Kleinere, Übungsaufgaben zum Wiederholen in der Gruppe oder allein.
Resourcen
- Mozilla Developer Network (MDN), Beinhaltet eine Referenz um Details nachzulesen, eine "re-introduction to JavaScript" für
erfahrenere Programmierer*innen und einen Guide für Anfänger*innen. Für letztere ist aber vielleicht Eloquent JavaScript die bessere Wahl, weil umfassender.
- Eloquent Javascript, eine allgemeine Einführung. Gut geeignet für Einsteiger*innen.
- Javascript Allonge, eine Einführung in die funktionale Programmierung mit Javascript. Vermittelt ein tieferes Verständnis vom Umgang mit Funktionen.
Kapitel
Tools & development setup
Es wäre wohl gut in der ersten Session zuerst mal Kontakt mit den wichtigsten Tools zu haben um mit diesen in den folgenden Sessions üben zu können.
- Git(hub): Wir versuchen zu klären was git ist, stellen GitHub und try.github.com vor und verweisen dann auf weiterführende Infos. Ziel ist es dass alle eine Vorstellung haben was Git ist, es auf ihren Rechnern installiert haben und zumindest einmal gecloned und comitted haben.
- Editoren: Eine kurze Diskussions und Vorstellrunde für verschiedene Text-Editoren. Erläutern was für Features so ein Text-Editor haben kann und warum z.B. Syntax-Highlighting oder eine Integrationen mit Lintern wie jshint sehr nützlich sein können. Ziel ist es, dass alle einen Text-Editor mit Syntax-Highlighting und am besten einem Syntax-Checker/Linter installiert haben.
- Node.js: Wir installieren bei allen Node.js um die Sprache, JavaScript, unabhängig von einer Browser-Implementierung erlernen zu können und versuchen kurz zu besprechen was grobe Unterschiede zwischen z.B. einem Browser und node.js sind. Wir verwenden node.js nur als Interpeter für javascript und verwenden möglichst wenig node-spezifische Features bis zum entsprechendem Kapitel. Ziel ist, dass alle node.js installiert und "hello world" ausgeführt haben.
Javascript als Sprache (mit node.js, aber allgemein)
- nodeschool.io nutzen
Javascript im Browser
- Einführung Developer-Tools (Console, Inspector, Network Tab)
- Was ist das DOM? Wie nutze ich es? (Vanilla JS, noch ohne Libraries)
- Der Debugger: Wie setze ich breakpoints und was mache ich mit ihnen?
- jQuery, underscore.js, zepto. Eine Übersicht zu praktischen Helfern.
- Backbone.js als Beispiel für ein umfangreichers Framework. Eventuell auch noch Marionette.js
Javascript am Server
- Node.js
- Meteor
Javascript für command line apps.
- Diskussion verschiedener libraries zum handling von command line arguments, dem arbeiten mit stdin, stdout, etc.