This is something I posted on our now defunct Discourse at the start of 2015. An outline of the first sessions, when we started from an assumption of zero JS knowledge - I sometimes think it might be good to repeat this, and it might benefit from the organisers knowing a bit more of the language than back then..
Session 1
We will use the following two books as a basis:
Eloquent JavaScript by Marijn Haverbeke http://eloquentjavascript.net/1
Secrets of the JavaScript Ninja by John Resig/Bear Bibault
But we will use other resources as well, if we find a concept is
particularly well explained elsewhere (also, open to suggestions)
The format of the sessions will be as follows:
Introductions, general chat about news/ what we are working on etc. (ca 30 min)
Short talk or workshop about a certain topic (30 min - 1h)
Code challenges (on your own or pair programming)
Planning for the next session
A rough outline for the first 4 sessions:
Session 1 + 2: The JavaScript language: Data Types, Control Structure etc., Functions, Data Structures: Objects and Arrays
Session 3: JavaScript in the Browser: Manipulating the DOM, Events
Session 4: In-depth look at some important concepts in JS, e.g. Closures, variable hoisting, use of this
Plan for 1st session:
Introduction
Tools: Browser Console, Dev Tools
Data Types (plus very briefly, operators, control structures)
Functions: How to define/declare a function, Variable Scope, Closures, Recursion
Code Challenges
JS101 then started on 17 Feb 2015
From the Meetup page:
In this session we mainly looked at JavaScript's data types including
the strange things 'implicit coercion' can do. There are some notes here
that you can work through https://github.com/CodeHubOrg/JavaScript101-Session1
We said till next time we would work through Eloquent JavaScript
Chapters 2 and 3 or equivalent. I.e. learning about Functions and Data
Structures: Objects and Arrays
Session 2
Our next session on the road to JavaScript enlightenment. We decided to read/ work through Chapters 3 and 4 of "Eloquent JavaScript" till then.
Rough schedule:
Topic for this day is 'Objects in JavaScript - the basics' (including Arrays and Functions)
10.00 - 10.30 Introduction; JS project at Uni CompSci conversion course
10.30 - 11.00 Q&A on chapters + exercises in EloqJS
11.15 - 11.30 Introducing example app
11.30 - 12.00 Introduction to Git/GitHub for those new to it; coding a JSON 'profile' file
from 12.00 EloqJS exercises; code challenges
Session 3
Session 3: This time we are diving right into code, but we will also discuss and try to clarify programming concepts like we did last time.
Rough schedule:
10.00 Introductions
10.30 Working on code examples / code challenges (pair programming or individually)
11.30 or later: Discussing solutions to code challenges + topics from EloqJS 5
-7 (e.g. Higher order functions, prototypal inheritance, context of this)
-> Did unfortunately not get to discussing concepts at this session, and as from here on we had some trouble with venues, we did not do that part very much anymore; we did more coding though!
f anyone has any questions about the code I've written, don't hesitate to ask :)"
We also worked through the section in Eloquent JavaScript concerning the DOM.
Session 5
From Meetup:
"We can probably stick with DOM and event
handling once more (EloqJS chapters 13 and 14), as most of us have some
catching up to do. Otherwise, we should be looking at chapters 15 and 16, platform game and using Canvas.
Schedule:
10.30 Introductions / what are you planning to work on
11.00 Coding session
12.30 Discussing solutions to exercises, programming concepts (DOM and Event handling?), what to do next"
This is something I posted on our now defunct Discourse at the start of 2015. An outline of the first sessions, when we started from an assumption of zero JS knowledge - I sometimes think it might be good to repeat this, and it might benefit from the organisers knowing a bit more of the language than back then..
Session 1
We will use the following two books as a basis: Eloquent JavaScript by Marijn Haverbeke http://eloquentjavascript.net/1 Secrets of the JavaScript Ninja by John Resig/Bear Bibault But we will use other resources as well, if we find a concept is particularly well explained elsewhere (also, open to suggestions)
The format of the sessions will be as follows:
A rough outline for the first 4 sessions: Session 1 + 2: The JavaScript language: Data Types, Control Structure etc., Functions, Data Structures: Objects and Arrays Session 3: JavaScript in the Browser: Manipulating the DOM, Events Session 4: In-depth look at some important concepts in JS, e.g. Closures, variable hoisting, use of this
Plan for 1st session:
JS101 then started on 17 Feb 2015
From the Meetup page:
In this session we mainly looked at JavaScript's data types including the strange things 'implicit coercion' can do. There are some notes here that you can work through https://github.com/CodeHubOrg/JavaScript101-Session1
Session 2
Our next session on the road to JavaScript enlightenment. We decided to read/ work through Chapters 3 and 4 of "Eloquent JavaScript" till then.
Rough schedule: Topic for this day is 'Objects in JavaScript - the basics' (including Arrays and Functions) 10.00 - 10.30 Introduction; JS project at Uni CompSci conversion course 10.30 - 11.00 Q&A on chapters + exercises in EloqJS 11.15 - 11.30 Introducing example app 11.30 - 12.00 Introduction to Git/GitHub for those new to it; coding a JSON 'profile' file from 12.00 EloqJS exercises; code challenges
Session 3
Session 3: This time we are diving right into code, but we will also discuss and try to clarify programming concepts like we did last time.
Rough schedule: 10.00 Introductions 10.30 Working on code examples / code challenges (pair programming or individually) 11.30 or later: Discussing solutions to code challenges + topics from EloqJS 5 -7 (e.g. Higher order functions, prototypal inheritance, context of this)
-> Did unfortunately not get to discussing concepts at this session, and as from here on we had some trouble with venues, we did not do that part very much anymore; we did more coding though!
Ajara and I introduced the second iteration of a mini SPA https://github.com/CodeHubOrg/JS101_SAP
Session 4
From Bridget, posted on Meetup:
"Hi everyone, Here is the link to the code I showed this morning: https://github.com/zubron/fuzzy-octo-knits
I also mentioned the Command pattern. There's a description of it here with some code examples: http://www.dofactory.com/javascript/command-design-pattern1
f anyone has any questions about the code I've written, don't hesitate to ask :)"
We also worked through the section in Eloquent JavaScript concerning the DOM.
Session 5
From Meetup: "We can probably stick with DOM and event handling once more (EloqJS chapters 13 and 14), as most of us have some catching up to do. Otherwise, we should be looking at chapters 15 and 16, platform game and using Canvas.
Schedule: 10.30 Introductions / what are you planning to work on 11.00 Coding session 12.30 Discussing solutions to exercises, programming concepts (DOM and Event handling?), what to do next"