JS Learning Group: Unterschied zwischen den Versionen
Phaer (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
|||
(8 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
JavaScript Lerngruppe | |||
Bei Fragen zur Veranstaltung: | Bei Fragen zur Veranstaltung: | ||
Zeile 11: | Zeile 7: | ||
History: | History: | ||
* Mo, 8.12.2014, 19:00 | * 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, | * Mo, 02.03.2015,19:30 - JS Learning Group #4 | ||
== Aktuell == | |||
Für den nächsten Termin solltest du '''bis inklusive 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 == | == Zielgruppe == | ||
Zeile 36: | Zeile 37: | ||
* ~1h Vortrag, ~1h+ Questions & Answers | * ~1h Vortrag, ~1h+ Questions & Answers | ||
* + Leseempfehlung zur Wiederholung und Vertiefung des besprochenen. (~1h Zeitaufwand) | * + Leseempfehlung zur Wiederholung und Vertiefung des besprochenen. (~1h Zeitaufwand) | ||
* + Kleinere, Übungsaufgaben zum Wiederholen in der Gruppe | * + Kleinere, Übungsaufgaben zum Wiederholen in der Gruppe oder allein. | ||
oder allein. | |||
== Resourcen == | == Resourcen == | ||
* [https://developer.mozilla.org/en-US/docs/Web/JavaScript Mozilla Developer Network (MDN)], | * [https://developer.mozilla.org/en-US/docs/Web/JavaScript Mozilla Developer Network (MDN)], Beinhaltet eine Referenz um Details nachzulesen, eine "re-introduction to JavaScript" für | ||
Beinhaltet eine Referenz um Details nachzulesen, eine "re-introduction to JavaScript" für | erfahrenere Programmierer*innen und einen Guide für Anfänger*innen. | ||
erfahrenere Programmierer*innen und einen Guide für | Für letztere ist aber vielleicht Eloquent JavaScript die bessere Wahl, weil umfassender. | ||
Anfänger*innen. Für letztere ist aber vielleicht Eloquent | * [http://eloquentjavascript.net/ Eloquent Javascript], eine allgemeine Einführung. Gut geeignet für Einsteiger*innen. | ||
JavaScript die bessere Wahl, weil umfassender. | * [https://leanpub.com/javascript-allonge/read Javascript Allonge], eine Einführung in die funktionale Programmierung mit Javascript. Vermittelt ein tieferes Verständnis vom Umgang mit Funktionen. | ||
* [http://eloquentjavascript.net/ Eloquent Javascript], eine | |||
allgemeine Einführung. Gut geeignet für Einsteiger*innen. | |||
* [https://leanpub.com/javascript-allonge/read Javascript Allonge], | |||
eine Einführung in die funktionale Programmierung mit | |||
Javascript. Vermittelt ein tieferes Verständnis vom Umgang mit Funktionen. | |||
== Kapitel == | == Kapitel == | ||
Zeile 58: | Zeile 53: | ||
Sessions üben zu können. | Sessions üben zu können. | ||
* Git(hub): Wir versuchen zu klären was git ist, stellen GitHub und | * 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. | ||
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 | * 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. | ||
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, | * 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. | ||
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) === | === Javascript als Sprache (mit node.js, aber allgemein) === | ||
Zeile 86: | Zeile 67: | ||
* Der Debugger: Wie setze ich breakpoints und was mache ich mit ihnen? | * Der Debugger: Wie setze ich breakpoints und was mache ich mit ihnen? | ||
* jQuery, underscore.js, zepto. Eine Übersicht zu praktischen Helfern. | * jQuery, underscore.js, zepto. Eine Übersicht zu praktischen Helfern. | ||
* Backbone.js als Beispiel für ein umfangreichers Framework. Eventuell | * Backbone.js als Beispiel für ein umfangreichers Framework. Eventuell auch noch Marionette.js | ||
auch noch Marionette.js | |||
=== Javascript am Server === | === Javascript am Server === | ||
Zeile 94: | Zeile 74: | ||
=== Javascript für command line apps. === | === Javascript für command line apps. === | ||
* Diskussion verschiedener libraries zum handling von command line | * Diskussion verschiedener libraries zum handling von command line arguments, dem arbeiten mit stdin, stdout, etc. | ||
arguments, dem arbeiten mit stdin, stdout, etc. |
Aktuelle Version vom 16. Februar 2015, 21:13 Uhr
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 inklusive 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.