Class will meet Tuesday and Thursday on the 8th floor in classroom 5 from 6:30 - 9:30pm - https://goo.gl/maps/PwyY2
To get up to the 8th floor, show the attached Class Pass at the Security Desk downstairs. You will need to show this on your phone or printed out every time.
Once you're upstairs, tell the folks at the front desk you're here for your first day of Javascript and they'll point you to your classroom.
Zakk: Sundays from 3:00 - 5:00
Christine: Wednesdays from 5:30 to 7:30
A. Your laptop (and charger with your name on it!)
B. Snacks in case you get hungry
C. A Sweater in case you get cold
D. Class Pass printed out or on your phone
Class | Title | Date |
---|---|---|
Lesson 00 | Installfest | February 21st |
Lesson 01 | The Command Line & Git | February 23rd |
Lesson 02 | Data Types | February 28th |
Lesson 03 | Control Flow | March 2nd |
Lesson 04 | Functions | March 7th |
Lesson 05 | Objects | March 9th |
Lesson 06 | Project 1 | March 14th |
Lesson 07 | Intro to DOM | March 16th |
Lesson 08 | Events | March 21st |
Lesson 09 | Templating & Build Tools | March 23rd |
Lesson 10 | Express | March 28th |
Lesson 11 | CRUD & Databases | March 30th |
Lesson 12 | APIs | April 4th |
Lesson 13 | Application Architecture | April 6th |
Lesson 14 | Project 2 - HackerWall | April 11th |
Lesson 15 | Single Page Applications | April 13th |
Lesson 16 | Authentication | April 18th |
Lesson 17 | Deploying Your App | April 20th |
Lesson 18 | Project 3 Your App | April 25th |
Lesson 19 | Final Project Presentations | April 27th |
- Get to know your classmates, instructors, and staff members.
- Install the tools we'll need to be successful in this course, including Node.js, npm, and Git
- Explain the structure of the course and tools that will be used.
- Discuss the benchmarks for assessments in terms of class participation, homework, and unit projects.
- Answer the question, what makes JavaScript important?
- Start answering the question, What is JavaScript?
In this lesson, we'll cover the basics of navigating the file system on your computer with a tool called the command line. We'll also dive into working with a command line tool called Git and a companion tool called GitHub.
- Learn how to work in the Terminal
- Learn the basics of Git and GitHub
Data types are the most atomic unit of any program. Javascript has many basic data types, which we cover in this lesson, and a couple of complex data types. We'll be introduced to Arrays at the end of the class as our first complex data type.
- Describe the concept of a "data type" and how it relates to variables
- Declare, assign to, and manipulate data stored in a variable
- Create arrays and access values in them
Programming is often described as following a recipe - in this lesson, we discuss why it's more nuanced than that by looking at control flow - ways we can control what code gets executed and the conditions under which it gets executed.
- Fork a repository and make a pull request
- Understand different types of control flow including linear, conditional and iterative
- Understand how to implement different types of control flow, including
if
andif/else statements
,for
loops andwhile
loops
Now that we know how to work with data and control when certain actions are performed by our program, we need a way to encapsulate code so we can reuse it. Functions let us write code that will perform an action whenever we ask it to do so.
- Understand what functions are and how, when and why to use them
- Declare our first function
- Understand parameters and arguments and how they relate to functions
- Understand the basics of scope
- Create and call a function that accepts parameters to solve a problem
Our final class on Javascript as a language covers Objects. This lesson will also cover Object Oriented Programming, a paradigm often held in opposition to Functional Programming, which we talked about in the last class.
- Create and modify JavaScript Objects
- Use Objects to model complex data
- Get and Set properties of Objects
Today's lesson is short and sweet! We'll go over npm and breaking our program out into multiple files then give you the rest of the time to work on the lab!
- Understand the basics of working with the Document Object Model
- Explain and Understand how to work with the DOM using JavaScript
- Manipulate the DOM using JavaScript
Today's class goes in depth on event driven development, responding to browser/user events with Javascript and writing event handlers.
- Implement events using JavaScript
- Understand how to work with events and how to implement event handlers
- Learn about event propogation
- Use Handlebars templates to turn JS into HTML
- build a simple dynamic application using Handlebars and JS
- Explain the two parts of a web application
- Identify all the parts of HTTP requests and responses
- Understand server architecture and build a server with
Express
- Understand the differences between different types of databases
- Describe what CRUD operations are and how they are used
- Describe an ORM
- Set up a simple
Express
application that usesMongoose
as an ORM to connect to aMongoDB
database
- Describe what an API is and how to use it
- Understand how to work with an API
- Build an API using
Express
- Learn about different architecture patterns for building applications
- Understand middleware in an express application
- Describe the basics of authentication
- Use Passport to authenticate users
- Describe the basics of authentication
- Use Passport to authenticate users
- Understand the architecture of a SPA
- Build out a basic SPA
- Understand the difference between static and dynamic applications
- Learn how to deploy static sites
- Learn how to deploy a dynamic site
Students will have 10 minutes to present their final projects. See the presentation requirements here
Students will $$$