Web App Studio
University of Amsterdam, Spring 2020

About this course

This course is offered by the Programming Lab team at the University of Amsterdam. Many of the course materials have been made by Brian Yu and David Malan at Harvard University.

“This course picks up where Harvard College’s CS50 leaves off, diving more deeply into the design and implementation of web apps with Python, JavaScript, and SQL using frameworks like Flask and Bootstrap. Topics include database design, scalability, security, and user experience. Through hands-on projects, students learn to write and use APIs, create interactive UIs, and leverage cloud services like GitHub and Heroku. By semester’s end, students emerge with knowledge and experience in principles, languages, and tools that empower them to design and deploy applications on the Internet.” — CSCI S-33a at Harvard.

If you’re a teacher and you’d like to adopt this course for your students and need a bit of help, feel free to contact Martijn Stegeman at the University of Amsterdam.

How to take this course

The course is quite self-contained, but you might need some help here and there in case you get stuck. Ask your fellow students! Likely things that you may get stuck on are installing tools, configuring your websites and understanding the complex frameworks that you’ll need to use to build website. But with a little help, you should be quite alright!

This course has four programming projects, from a first personal homepage to a fully featured food ordering website. Each project has a few video lectures that you should use to prepare. We expect that you complete all assignments using techniques and examples from those lectures!

It can take you up to 7-8 weeks in parttime to fully finish the course, given that you have a bit of experience using a terminal and you know your Python basics. But you do not need experience with creating websites! Just try it, and make sure you carefully study the video lectures and notes. A suggested schedule:

module might take you
1 about 1 week or more
2 about 1 week or more
3 about 2 weeks or more
4 about 2 weeks or more

When you’re ready to start, head to Getting Started!


We thank the following organizations and people for providing such great content and tools! Their hard work allows us to focus on our students and less on development of teaching materials.

  • Harvard’s CS50 team, especially Brian Yu, who created most of the course’s assignments and lectures.

  • Mike Dane, who created a great video series on Jekyll.

  • Ed, who provide a free forum for students taking this course to ask questions and help each other out.

  • Heroku, who provide free database (and web) hosting for students learning to program.

  • GitHub, who provide free code hosting, web hosting and classroom management tools for geeky teachers!