Course Syllabus

Announcements

We will be using MailChimp to handle announcements for the course. If you joined the course late, and haven’t received any of the weekly emails, then leave your email here to subscribe to updates.

Workload

The course will be taught over 10 weeks, and you will be expected to commit between 2 and 10 hours each week to the camp.

Most of this work will be self-directed, as you’ll be working through curated readings and completing projects. The lectures are designed in such a way that it should be possible to follow the course content from week to week, even if you didn’t have time to complete the homework.

Lectures

There will be a live 1-hour Zoom lecture once per week. This should introduce you to the week’s material and give you enough context to get started with the week’s assignment.

The lecture will be held every Tuesday at 1PM GMT. Each lecture will be recorded, and will be uploaded on YouTube and on woofcode.com around a day after the lecture. You can join the call live at this link here.

Group Chats

You have the option to sign up for small video group chats with other students, which will meet once per week. These will give you the chance to check in with other students, show off your work, and run through some simple questions. They will also keep you accountable to follow along with the course content at the right pace.

Since “I’ll be there” means nothing on the internet, if you want to sign up for these sessions, then you’ll need to pay a refunable “flake tax” of $150 at the start of the course. You’ll get this fee back if you complete at least 7/9 of the sessions that you’re expected to attend.

If you can’t afford the flake tax fee, then send an email to adam@woofcode.com, and we can figure something out.

Getting Help

If any questions pop up, then you can ask them on the course Discord server (here). You should get a response in 24 hours after posting a question. If a question is relevant to a particular week, then post it in a #week- channel, otherwise post it in the #misc-questions channel.

Office Hours

Another way of getting individual help from the instructor is to show up for “Office Hours”. These will be fairly fluid sessions which will relate to the week’s content. Students can come along with questions that they would like to ask about the week’s lecture or homework, or otherwise Adam will give an ad-hoc rant about web development.

There will be at least one slot per week, from 4-5PM GMT every Sunday. If you can’t make this time, then send an email to adam@woofcode.com, and we can add another slot that fits your schedule for the week. The office hours use the same Zoom meeting link as the lectures (here).

Timeline

Week 0 - Introduction to Web Development

  • Introducing the course
  • How the web works
  • Brief intro to HTML

Week 1 - HTML + CSS

  • Building websites with HTML
  • Styling with CSS
  • Making a landing page

Week 2 - Introduction to JavaScript pt. 1

  • JavaScript fundamentals
  • Variables
  • Data Types + Operators
  • Functions

Week 3 - Introduction to JavaScript pt. 2

  • Control Flow
  • Loops
  • Arrays
  • Objects

Week 4 - Making Websites Interactive with JavaScript

  • Document Object Model (DOM)
  • JavaScript element selectors
  • Events

Week 5 - Intermediate JavaScript

  • Classes
  • Array prototype methods
  • APIs and making HTTP requests
  • ES6 syntax

Week 6 - Introduction to React pt. 1

  • JSX
  • Props + state
  • Functional/class components

Week 7 - Introduction to React pt. 2

  • Controlled components
  • Hooks
  • Context API
  • Material-UI

Week 8 - Introduction to Express

  • Writing route handlers
  • Middleware
  • Basic backend stuff

Week 9 - Final words (where to go from here)

  • Recap of the course
  • Topics we didn’t cover
  • Useful resources going forward