This self-study course is based on my own experience of learning to code. I've taken my favorite study materials and put them in somewhat logical order. By the end of it, you will be able to make basic web applications in Django.

You won't have just created one web app following a tutorial. That can be done from no experience in a weekend. You will have built up enough knowledge to do it on your own. There is hundreds of hours of work in this syllabus.

The beginning is probably a bit fast-paced if you are absolutely new to programming. Give yourself some more time to practice. If you want a really good foundation, check out Harvard's free online course, CS50.

Focus

The first focus is on Python. Python is one of the most popular languages. It's used across many different fields (scripting, web apps, ML, data). It's also one of the easiest languages for beginners. This combination makes it a great first language.

The second focus is on making web apps in Django. Django is a web framework written in Python. Django isn't introduced until more than halfway through the tutorial.

If the goal was just to display web pages, that could be done much sooner. But the goal here is to make real programs and let people interact with them over the internet. A strong foundation in Python is essential for that.

Then what?

This syllabus is light on frontend work. If you want to focus on that, you could switch over to JavaScript when you're done. Your time with Python won't have been wasted.

If you want to stay on backend development, you can just keep making more projects. You could also learn how to make web APIs, maybe with Django Rest Framework.

You could stop on web apps all together and go to some other domain. Python is probably used there. If you already know that's what you want do, this may not be the syllabus for you. You could at least work until Django shows up and then stop.

How to use the Syllabus

  1. Go to the Syllabus page.

    Syllabus

  2. Duplicate it (there's a link in the top right).

  3. Pick an assignment with a green check mark next to it.

  4. Click on the assignment to see the notes and URL.

  5. Do the assignment.

  6. Check off the "Finished" box.

  7. Pick a new assignment with a green check mark and repeat.

  8. Refer back to the original Syllabus to see any changes