In the Groove
Josh Huang's weblog on building topics of inspiration.
CS50 2019 Solutions to Problems Sets
Below are the solutions I came up with for CS50's problem sets. I am sure there are much more
elegant solutions out there, but when learning the more references the better and I hope these can be helpful.
For the later problem sets featuring Web Programming, I only include the Controller (logic) section instead of including the
Model-View-Controller sections.
I find these general rules to be useful.
-
Break down the problem into its parts: Computer science is about problem solving, not the syntax of specific code. Before diving into
a problem set, first break the problem down into its individual parts on pen and paper. Solve each tiny part to solve
the overall problem. Inch by inch everything is a cinch, but yard by yard it might be hard.
-
Do as much as you can: Computer science is about developing a mentality just as much as it is
learning a specific programming language. Learn to be comfortable being uncomfortable. Develop the resourcefulness
to check online resources like Stack Overflow or W3 schools. Do as much as you can to solve the problem sets without
outside help. Learn to find the right balance between learning things on your own and consulting pset solutions when you are truly
stuck.
-
Have fun: What I observed first getting started is how rich the world of Computer Science is. It's a whole new world
filled with a rich history where countless people have made their contributions. Enjoy learning this
whole new world, and if you are working full-time like me, it adds a new and welcome dimension to your life. CS50's Malan et al.
problem sets feature TL;DR sections that are actually fun to learn.