Node & Express Self Study
nodeschool is an excellent free and open-source resource for learning Node. You must complete the following workshops to become familiar with Node:
- learnyounode: Introduction to Node
- how-to-npm: Introduction to NPM
- expressworks: Introduction to Express
The following workshops are optional:
- scope-chains-closures: Scope, Chains, and Closures (optional, challenging)
- stream-adventure: Introduction to Node streams (optional, challenging)
Take a moment to browse the nodeschool site. Make a note of any workshops you might want to take in the future. (Note: The term "workshop" is a bit confusing. "Workshops" at nodeschool are modules you install and run locally on your system. If you want to attend a nodeschool meetup, you'll want to browse "Events".)
When you're ready to begin a workshop, just install it globally with
start the workshop via the command line. For example, to install
npm install -g learnyounode, then begin the workshop with
npm install -g learnyounode
Fork and clone this repository.
Edit your fork's README. (example)
Add and commit the README and push changes to your fork.
Move to the
learnyounodedirectory. You will work here as you complete the workshop.
learnyounodefrom the command line and follow the instructions.
As you work, commit early and often.
Use commit messages as your learning journal, making notes of challenges and what you learned by completing each exercise (example).
Do something similar for the other required workshops. Repeat the last three steps. Do not create another fork or clone; all your work can be done from your original fork.
learnyounode workshop suggests you add your code to a single file,
program.js, that is updated with each exercise. Instead, you should create a
new file for exercise and run
learnyounode run and
against the exercise file.
You will need to create your own file structure in all directories except
learnyounode. Each exercise should have its own file.
You are required to push your changes every day, based on the following
schedule. Open a new pull request if you worked on a different branch. If you
worked on the same branch, reopen your pull request if it was closed. Your
submissions will be checked for completeness, not for accuracy. That's what
learnyounode verify is for.
Some exercises will not result in changes inside the repository. If you complete a series of exercises and they do not result in a dirty working directory, no pull request is required.
Certain exercises may have open issues as
very rapidly. If you run into trouble, search workshop issues first. You can get
a link to the workshop GitHub repositories from the nodeschool website.
||Exercises 00–01, 03, 05–07||
Ranges are inclusive. Due dates are read as follows:
t + 0means "today".
t + 1means one business day from today.
- A "business day" is a day on which we meet as a cohort.
Any additional exercises in each workshop without a listed due date in the above table are optional. You will not be assessed on any optional exercises, but you may have to complete them to continue on to other required exercises.
- Node Documentation
- NPM Documentation
- Art of Node
- All content is licensed under a CCBYNCSA 4.0 license.
- All software code is licensed under GNU GPLv3. For commercial use or alternative licensing, please contact email@example.com.