← back

My CS50x Experience

A few things about CS50x, Harvard's introductory course to CS.

I finished CS50x, Harvard’s introduction to computer science, and got the certificate. Here are a few honest thoughts about it.

Why I took it

I’ve downloaded and touched a million different languages and never really had a foundation or actually know them. I knew how to make things work, but I didn’t understand them. CS50 felt like the right way to finally build that foundation properly.

What stood out

  • C. C was the worst part. Pointers, memory allocation, the fact that every byte you touch is on you. I really hate low level languages but I understand they’re faster, and are the backbone every other language that is higher level. It makes me appreciate every other language.
  • The psets. The problem sets are genuinely hard in a good way. Tideman, speller, recovery with raw bytes from a memory card. Each one had a moment where it felt very, very hard, but the sections and shorts really help.
  • David Malan. He makes even the driest topics (pointers!!!) feel exciting. The lecture style is unlike anything I’ve seen in a free course.
  • The community. CS50.ai as a helper and the in-depth pset descriptions are legitimately great when you’re stuck on a pset.

What I actually got out of it

Beyond the certificate: a way of thinking. I stopped treating programs as things you write and start treating them as things you reason about. Memory, recursion, data structures, how a computer actually executes your code. None of that was in my brain before.

What’s next

I’m taking a break as CS50x was a large snowball of information, but I might consider CS50’s other courses, like CS50P.

If you’re thinking of doing it: the course is free, self-paced, and you can submit everything at your own speed. Just start. The first lecture is the hardest part, not because it’s difficult, but because it means deciding to begin.

← back