The students should have some familiarity with HTML/CSS (classes/ids). They do not need prior programming experience.
Each lesson includes:
- Slides: An HTML5-based slideset (not a PowerPoint) which actually embeds the actual HTML tags being described in order to better demonstrate them.
- In-class example: An example of what the teacher should build up during the course of the lesson, switching between talking over the slides and demonstrating the concepts in the example page.
- Exercise(s): These can be started in class and then continued outside of it, and the teacher can decide when to reveal the solution for the exercises. For the most part, the solution to an exercise serves as the starting point for the next exercise.
- Additional Reading: Links that teachers can recommend students read after a lesson.
- Related Resources: Slides or tutorials that were useful in the creation of the lesson content. Teachers can visit these to get an idea of how other people present the content.
- Room for Improvement: A list of ways that the particular lesson might be improved.
The materials from the above lessons(slides, examples, exercises) can be downloaded in this zip file.
For this course, I recommend having the students use repl.it for the first two lessons, for easy JS debugging. That's also useful for in-class examples.
If you are using this material and have questions/comments, feel free to leave them here or on the individual lesson pages.
Lesson 1: Variables & Functions
programming languages, JS history, variables, functions
- Slides: Intro to Programming
- Slides: Intro to JS, Variables, and Functions
- Exercise: Variables
- Exercise: Functions
- Homework: The Calculator
- Homework: Strings
Lesson 2: Control Flows & Arrays
if, else, for, while
- Slides: Control Flow & Arrays
- In-class: if/else
- Exercise: if/else
- Exercise: for loops
- Exercise: arrays
- Homework: The Word Guesser