JS Learning Group: Unterschied zwischen den Versionen

aus Metalab Wiki, dem offenen Zentrum für meta-disziplinäre Magier und technisch-kreative Enthusiasten.
Zur Navigation springenZur Suche springen
 
(8 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Ein paar Leute, die eher von der HTML/CSS-Ecke kommen, schauen sich gemeinsam Java Script an, zeigen eigene (Übungs)projekte her und helfen sich gegenseitig
+
JavaScript Lerngruppe
 
 
Wir gehen dabei auch dieses Buch durch:
 
http://eloquentjavascript.net/
 
Wir sind im Moment Bei Chapter 3.
 
  
 
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ächster Termin:
+
Nächste Termine:
* Mo, 22.12.2014,19:00
+
* Mo, 02.03.2015,19:30 - JS Learning Group #4
  
----
+
== Aktuell ==
Ich poste hier mal einen ersten Konzept-Entwurf Zur Diskussion. Contributions welcome! ~ [[Benutzer:Phaer|Phaer]] ([[Benutzer Diskussion:Phaer|Diskussion]]) 04:11, 9. Dez. 2014 (CET)
 
  
 +
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

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.