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.