Skip to content

Instantly share code, notes, and snippets.

@tongrhj
Last active December 13, 2016 12:35
Show Gist options
  • Save tongrhj/efcf279f7ccb20e706b6 to your computer and use it in GitHub Desktop.
Save tongrhj/efcf279f7ccb20e706b6 to your computer and use it in GitHub Desktop.
General Assembly Singapore WDI Curriculum Syllabus 2015

General Assembly Singapore

Web Development Immersive

Curriculum 2015-2016

2016-01-20

Breakfast

Retrospective

Unit Tests & TDD

Code lab

2016-01-19

Breakfast

Integrating 3rd Party Scrips

  • Google Tag Manager

Analytics

  • Google Analytics
  • Kissmetrics
  • Mixpanel
  • Keen IO

Lunch

i18n & l10n

Dates

Numbers

Strings

Frameworks

SaaS

2016-01-18

Breakfast

Retrospective

  • Project Week
  • Meetups: KopiJS

SVG

Warmup Exercise

Demos

Intro

Guides

Animating

2015-12-18

Wax On Wax Off: Animation

Guest Speaker: @notthetup

2015-12-17

Wax On Wax Off: Responsive Design

Guest Speaker: @younglucas

Rapid UXD Prototyping

2015-12-16

Wax On Wax Off: HTML & CSS

  • Semantic HTML
  • CSS Selectors
  • Styling text and input/textarea/button elements

Guest Speaker: @sarmadsangi

React/JSX & Webpack

2015-12-15

TIL

@ongmin

  • Javascript inheritance

Guest Speaker: @alyssaq

Data science introduction

Project Review

Qiyu & Min

Web Components

Shadow DOM & Custom Elements

2015-12-14

Project Reviews

Single Page App

  • Overview
  • History API: pushState, popState
  • Client side routing

2015-12-11

Project

2015-12-10

Today I Learned (TIL)

@shawnlimws

  • Aspect Oriented Programming (AOP)

@lanbau

  • Node.js Debugging with Visual Studio Code
  • HTML Templates with EJS/Jade

Project

ABC: Always Be Coding

2015-12-09

TIL

Jesstern talks about JS call stack, heap, event loop, and queue

Retrospective

  • Git
  • Hour of Code
  • Talk.js

Node Inspector

https://github.com/node-inspector/node-inspector

Project

Always be coding.

2015-12-08

Retrospective

  • Projects: feasibility assessment, design iterations

Guest Speaker: Sahil Bajaj

Git

2015-12-07

Show & Tell

Request for Speakers

SingaporeJS Talk.js 15 Dec 2015 all-lightning talks

Project

  • Team formation
  • Hack away!

Guest Speaker: Naor Biton

Sails & Meteor

2015-12-04

News & Events

Retrospective

Hackathon demos!

Authentication

Auth0

CRUD with fetch

Client side API calls

Guest Speaker: Tim Oxley @timoxley

Databases et al

UXI + WDI

Socialising with the people below

2015-12-03

News & Events

  • Big Data
  • PFNP Live & Gopher it!
  • Tonight: Fancy Pants DataSci meetup

Retrospective

Documentation

Apiary

Hackathon

Let's build something fun, now!

2015-12-02

News & Events

  • Book Club

Retrospective

Nodeschool workshop

2015-12-01

News & Events

Retrospective

  • DevOps

Data Storage

2015-11-30

News & Events

  • Geek Brunch
  • Sunday Gathering

Retrospective

  • RESTful JSON API w/ Express
  • CRUD app

Deploying the Backend

  • Heroku
  • forever
  • PM2
  • Keymetrics

2015-11-27

News & Events

Retrospective

  • bluebird.promisify
  • babel-cli
  • Multi-stage async: app.get, fs.readFile or fetch w/ res.json()
  • Express middleware: Re-use code, don't reinvent the wheel.

HTTP Concepts

  • URL structure
  • HTTP headers
  • HTTP methods
  • MIME types

Tool: Postman

Inspect and repeat HTTP requests

CRUD

Create - Read - Update - Delete

A pattern found in most data-handling applications.

REST

  • What is REST?

  • URL structure

    • /scores
    • /scores/:playerId
    • ?sortBy=:sortable&sortOrder=:direction
    • ?match=:query
  • HTTP methods

    • Create: POST
    • Read: GET
    • Update: PUT
    • Delete: DELETE

Tool: Supertest

Testing the classroom API (see 2015-11-26)

Using Express: Build a CRUD scoreboard app

  • Server
    • should return a list of high scores
    • should allow adding a player's score
    • should allow removing a player's score
    • should allow changing a player's name

2015-11-26

News & Events

Retrospective

  • From callbacks to Promises to async/await

Using Express: Build a read-only JSON API

  • Server
    • should respond with JSON data
    • should provide a list of all class participants
    • should allow searching by name
    • should allow sorting alphabetically by name
    • should allow whitelisting specific fields

Express CRUD exercise

DNF, see 2015-11-27

2015-11-25

News & Events

Retrospective

  • The Art of Node (Tian/Shawn)
  • Money TDD (Albert/Yongjun)

ES2015 Breakfast

http: The Node.js Built-in Web Server

Express.js

Guest Instructor: Eddie Moore

2015-11-24

News & Events

  • Reinventing Education with Cognitive Science

Retrospective

ES2015 Breakfast

Workshop: learnyounode

Continue from yesterday

Introduction to Testing Node.js

Introduction to Testing Node.js

Guest Instructor: Jörg Henning

Testing with Mocha, Chai, and Sinon

2015-11-23

News & Events

  • Meetups over the weekend?
  • Singapore CSS

Retrospective

🌟 Congratulations to everyone for making huge progress over the past 3 weeks. 🌟

ES2015 Breakfast

Node.js

Learn You The Node.js For Much Win!

Express

expressworks

2015-11-20

News & Events

  • Node Weekly
  • NodeBots Sumo Bots: Show & Tell?
  • JSConf.Asia (Day 1)

Retrospective

ES2015 Breakfast

Project

Working hard

2015-11-19

Retrospective

  • CSSConf.Asia (After Party)
  • Haskell.SG

ES2015 Breakfast

Project

  • 👷 WIP
  • Demonstrate progress

NodeBots

  • Today at The Working Capital: Sumo Bot Battles
  • Try to infiltrate the event? 🙈 🙉 🙊

2015-11-18

Retrospective

  • What did we learn from Alon Bar?
  • Talk.js, Hacking UX, PyData

ES2015 Breakfast

Unit Testing with Mocha and Chai

Project

  • All day code reviews & pairing
  • Mid-week one-on-one review with Seb & Cheryl

2015-11-17

Retrospective

  • iOS Dev Scout
  • FEDS TL;DR

ES2015 Breakfast

  • The ... spread operator

Project Management

Project

Free for all

2015-11-16

Retrospective

  • NodeSchool IV SG
  • DevCareer

ECMAScript 2015 and beyond

Project

Feuer Frei!

2015-11-13

Retrospective

Workflow

  • Git branches -> GitHub PR -> Travis -> Heroku Review Apps -> Comment on code -> Push more commits -> Merge & delete branch
  • Exercise: Work on a branch, create a PR, tag your neighbour to have them review.

Refactoring for Testing

  • Refactor TicTacToe into separate file
  • Write unit test with Mocha & Chai

Code Coverage

  • Reporting and Workflow with Codecov

Phaser

2015-11-12

Retrospective

Deployment

  • Heroku
  • Surge
  • GitHub Pages

CDN

  • What is it? Why do we need it? How does it work? How do we set it up?
  • Akamai, Cloudflare, AWS Cloudfront, etc.

Guest Speaker: Huijing Chen

  • Responsive CSS Techniques

2015-11-11

Retrospective

Theory

Build Tools

See Build Tools lesson

Homework

Set up a stack for Tic Tac Toe

2015-11-09

Retrospective

  • TicTacToe

Workshop

Try the javascripting workshop from Nodeschool.

Theory

Timers

  • setTimeout
  • setInterval
  • requestAnimationFrame

Positioning

  • static
  • fixed
  • absolute
  • relative

Animation

  • JS
  • CSS

Practice

  • Creative coding
  • Game: Pong

2015-11-06

Demo

Theory

Control Flow

See lesson

The DOM

  • HTMLElement properties and methods
  • Finding elements:
    • ID as global variable (eww..)
    • getElementById/Class/...
    • querySelector/QSA
    • query/queryAll

Events

  • attachEventListener, detachEventListener, dispatchEvent
  • Event types: click, submit, change, ...
  • Event objects

IRL

Exercise: Game on! Let's build Tic Tac Toe.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment