Harvard CS50: Course Journey, Final Project and Certificate

Read about my experience completing Harvard's CS50 Introduction to Computer Science, including my final project, GitHub repository, YouTube demo, and official certificate.

CertificateProgramming
Next →

This post outlines my experience completing Harvard's CS50 Introduction to Computer Science, including my learning journey, final project, GitHub repository, YouTube demo, and certificates.

Course Links

Following are the course links:

Cost

I enrolled for the verified certificate on edX. Total cost was USD 186.15 i.e., INR 17,260.98 in the month of September 2025. There is an option to Audit Course on edX and then you can pay for the verified certificate.

What is Harvard's CS50 Introduction to Computer Science?

Harvard's CS50: Introduction to Computer Science is one of the most well known and widely taken computer science courses in the world. Originally developed and taught at Harvard University, CS50 was designed to make computer science accessible to learners from all backgrounds, even those with no prior programming experience. The course is taught by Professor David J. Malan, whose engaging teaching style and practical examples have helped CS50 reach millions of students globally.

CS50 covers essential computer science fundamentals such as algorithms, data structures, memory management, abstraction, and computational thinking. Students gain hands on experience with multiple programming languages and more, like C, Python, SQL, JavaScript, HTML, and CSS. The course is especially known for its challenging problem sets and emphasis on learning how to think like a computer scientist rather than memorizing syntax.

CS50 is open to anyone, students, working professionals, self-learners, and career switchers and is available online through platforms like edX. A key highlight is the final project, which allows learners to build and showcase a real-world application of their skills.

This is a self-paced course. On an average, most learners complete it within 10 weeks, spending around 5 to 8 hours per week.

Do keep in mind the deadlines.

You can take the course online through Harvard.edu, and upon completing all the problem sets and the final project, you will receive an official free certificate from Harvard. Note that the free certificate does not include identity verification.

You can also take this course online through edX, and after completing all problem sets and the final project, you will earn an official verified certificate. This is a paid certificate.

Criteria to earn the certificate

You must complete all the problem sets and the final project with at least 70% score.

My CS50 Final Project: Expense Tracker

GitHub link https://github.com/yusufshakeel/cs50x-final-project

My CS50 final project is an Expense Tracker web application built using Flask, designed to help users monitor their personal expenses. At its core, the app allows user to track daily expense entries, view expense summaries, view category-wise expenditures, and generate downloadable CSV files.

The backend is developed with Python and Flask, while the frontend leverages HTML, CSS, and JavaScript and Bootstrap5 for a responsive and user-friendly interface. The project structure follows clean modular practices: migrations, models, services, templates, and helpers separate concerns and improve maintainability. Database interactions are handled through SQLAlchemy, and session management is supported through Redis. Docker is used to orchestrate the database and caching services, ensuring a consistent environment across machines.

The application includes features like backdated expense entries, category-wise analytics, last 12 months expense summary, and a visual breakdown of expenses.

Time taken to complete the final project

I am a working professional and I was on holidays when I started the final project. It took me 5 days and I spent on an average 8 hours per day. This includes ideation, design, code, tests, documentation and recording the demo video.

Tools and tech used

  • IDE: PyCharm
  • Terminal: iTerm2
  • Browser: Google Chrome, Microsoft Edge, Mozilla Firefox
  • API Testing: Bruno, Postman
  • Container Tool: Docker
  • DB Tool: DBeaver
  • AI: Gemini, ChatGPT

YouTube Demo of the Final Project

How to submit

There are three steps to submit the final project and the steps are mandatory.

  1. We need to create a short video in which we present the project to the world. This video must be no more than 3 minutes.
  2. We need to create a README.md file in the project along with other files and folders. This file will explain the project. We have to upload all the files and folders related to the final project on cs50.dev and then execute the submit50 command.
  3. After successfully submitting the final project, be sure to visit the grade book at cs50.me/cs50x.

More details here.

Why I Took This Course?

My journey with CS50 began in August 2025, when I signed up for CS50's Introduction to Programming with Python on edX. I genuinely enjoyed that course. The structured weekly lectures, hands-on problem sets, and the satisfaction of solving challenges reminded me of my college days. After completing the Python course, signing up for CS50's Introduction to Computer Science felt like the natural next step.

Taking this course was also deeply nostalgic for me. It felt like going back to college, attending lectures, solving problem sets, debugging issues, and finally seeing things click. That experience of learning by doing, week after week, is something I really enjoyed.

Another major reason I chose CS50 is its format. The combination of weekly classes, structured problem sets, and a final project aligns perfectly with how I like to learn. It offers just the right balance of discipline and flexibility. As I plan my learning goals for the coming year, courses like CS50 fit seamlessly into that roadmap, allowing me to get back into the structured studying mindset, grow consistently while still enjoying the process of learning.

My Certificates

Here are the certificates I earned for CS50's Introduction to Computer Science.

I also earned a Professional Certificate from edX for Computer Science for Python Programming. This Professional Certificate program consists of the following two courses on edX.

Here is my edX Verified Professional Certificate.

Previously

I have also completed CS50P.

Thank you for reading. Have fun learning.

Next →

ADVERTISEMENT

ADVERTISEMENT

ADVERTISEMENT

ADVERTISEMENT

ADVERTISEMENT

ADVERTISEMENT