My Experience With Havard’s Web Programming Course (CS50W)

GeoAfrikana
3 min readMay 22, 2021

--

August last year, I enrolled for Havard's CS50W: Web Programming with Python and JavaScript.

To be honest, the course was far from easy. It was supposed to take three months but I ended up spending six months.

The course featured six projects including one final (capstone) project. You can view all my projects on this playlist:

In this article I’ll be sharing my experience with the course then some tips on how I was able to reach the finish line.

Project 0: Search

Design a frontend for Google search. This took me two months to complete. It requires just HTML and CSS. I used bootstrap to support my weak CSS.

This project took me a whole month to complete. The most challenging aspect was centering the search div on the screen.

Project 1: Wiki

Design a wikipedia-like web app. The app must allow users to enter data in markdown format but should display as HTML. So your backend must convert markdown to html.

There are about five more specifications.

Project 2: Commerce

Design a e-commerce website that allows users sign in, upload a product for auctioning, bid on a product. Once the product owner closes the auction, the highest bidder should automatically be declared winner.

Project 3: Mail

Design an app that enables users send and read mail.

The app must be a one-page app. Meaning that there should be no page throughout the whole functionality of the app.
So you must use Asynchronous JavaScript loading (Ajax).

Project 4: Network

Design a social media app that lets users create posts, edit posts and like posts.
It should also be a single page app and must use pagination.

Project 5: Capstone

This is the final project. No rigid specification except that it must be different from all other past projects in the course. Also, it must make use of at least two models (Django developers know this).
I built a quiz app that that enables visitors create an account, sign in and logout.
Registered users can take the quiz. Users who have above a certain score can submit questions.
I the quiz page uses Ajax so once you submit a question, it displays another question without reloading the page.
The app also uses the inbuilt Django admin to enable superusers approve a submitted question among other functions.

My tips and advise

1. It’s not going to be easy. In fact, it looks impossible but it’s possible. At some time you’ll be clueless but the clue will always come later.

2. Sometimes you might need to take some days off to watch videos on youtube.

3. There are notes on the website. Read the notes.

4. Pay. If you're taking it for free, you might not be serious. However, apply for scholarship to reduce the amost.

5. You don't need to be extraordinarily brilliant. You just need to be perseverant.

I hope this was useful. Good luck.

--

--

GeoAfrikana

Freelancer | GIS Analyst | Spatial Data Scientist | Trainer