Certificate
CS50x: Introduction to Computer Science
Harvard University
Harvard’s foundational computer science course, starting low-level in C before progressing to higher-level abstractions. Beginning with C teaches what the hardware and operating system actually do: allocating memory on the heap, tracking pointers, managing buffers, and avoiding memory leaks.
The curriculum covers fundamental algorithms and data structures, including sorting routines, linked lists, hash tables, tries, and binary search trees. Later weeks transition into Python, relational database design with SQL, and building interactive web services. Each problem set is tested for computational correctness, edge cases, and memory safety with Valgrind.
Understanding the underlying memory model removes the mystery from higher-level runtime environments and makes debugging complex performance problems far easier.
All problem sets and my final project are documented in the GitHub repository.