Evan X. Merz

musician / technologist / human being

Introduction to Web Programming

This is a free online course I created that introduces students to web development. There are a lot of other courses like this on the web. I created this one to test myself, and to prepare to teach this material (again) at university.

I hope this helps you in your journey.

Table of Contents

  1. How does the internet work?
  2. How to set up your computer for web development?
  3. Introduction to HTML
  4. Introduction to CSS
  5. CSS: The display and position properties
  6. Project: Personal web page
  7. Introduction to JavaScript
  8. What is the DOM?
  9. How to debug a webpage in the Chrome web browser
  10. Introduction to object oriented JavaScript
  11. How to host a static website on Amazon AWS
  12. Project: Client-side web form
  13. Introduction to NodeJS
  14. Introduction to Express
  15. Project: Email list
  16. Introduction to React
  17. Fundamental concepts of React
  18. Project: React email list
  19. Introduction to NextJS
  20. Project: ?
  21. Project: ?

Introduction: What is web programming?

Before you jump in, you might want to know what I mean by "web programming". Some people I speak to don't know the difference between a web designer, a web architect, and a web programmer, but the differentiation is simple: web programmers write the code.

Programmers are 21st century builders. We make the things that allow our devices to do the things they do. We build software, which is a bit like a virtual automobile. We don't make the parts. We don't decide what features are in the car. We don't paint the car. We put the car together and keep it running.

A web designer is an artist. They make decisions about how a website should look and feel.

A web architect designs end-to-end solutions, from the infrastructure to the algorithms. When we talk about infrastructure on the web, we mean both hardware and software. The hardware is the servers, and the software the both the stuff you purchase and write.

There are many other roles beyond these that go into web development. A sysadmin, system administrator, "IT guy" or "DevOps Engineer" is the person who coordinates how code gets from the developers to the servers, which can be quite complex in 2023. I've also worked with writers, copy editors, marketers, search engine optimization specialists, and more that I'm forgetting. All play valuable roles as websites scale from projects, to startups, to enterprise.

You should go through this course if you want to be a web programmer, or maybe a devops engineer. I'm a full stack developer, which is an engineer who can do about anything on the web, and I think this course is a good start if you want to be a full stack engineer as well.

About the author

Go here to read about me. TLDR: I'm a lifelong computer nerd who has worked as a web developer in Silicon Valley for a long time.