When I sat down and logged into the portal to take Quiz 0, I had no idea what I was about to face. I had gone through the syllabus, revisited past years quizzes, and reviewed my work this far. I was ready to rock the world with my knowledge, blissfully unaware what I would soon face.
This week’s blog will take a little bit of a different form, as instead of a problem set (pset) this week, we were assigned our very first quiz and a small challenge. Spoiler Alert: The Quiz didn’t go to plan. What will follow is an account of learning from failure and a short look into the future.
I had spent all week preparing for it, endless nights spent pouring over hundreds of pages in preparation. This was our first quiz of the year, and despite having a reputation for being particularly easy, wasn’t something I was about to let slip through my fingers. Despite being called quiz 0, it really served more as a midterm covering the first six weeks (0-5). Despite the breath of material covered, the quiz always had a reputation of being really easy. Despite this being a misnomer considering the nature of CS50, I wasn’t too concerned.
However what followed was an arduous forty question quiz of indescribable difficulty. I could go into what was hard, the hand compiling, the confusing task descriptions, I would rather go through what we can all learn from it. Marcus Powers, my wonderful teaching fellow, even wrote the quiz off as the hardest it’s ever been and said not to worry about it’s effect on end of term grades.
Theres a lot to be learned from this years Quiz 0 that’s not clear on the surface. The first is the difference between a problem set and a quiz. On problem sets, all resources, except previous solution attempts, are fair game. This means we can google, search stack exchange, or pour over many man(ual) page‘s to find a solution. When we are working on problem sets we are also able to actually compile, or run, our code to see if it works as intended.
The reality was that Quiz 0 was not hard, if it was assigned as a Pset no one would have blinked an eye, however the nature of having no resources really destroyed a large portion of quiz takers. This quiz is a reminder that knowing innate syntax is better then knowing where to find it. While my own grade wasn’t astronomically bad, this first quiz was a major wakeup call.
A lot of what is taught in CS50 is purely conceptual and executed as such. While Pset’s often touch on real world subjects, in truth they are often just abstracted for the sake of not feeling extant testing of that’s material. However, Computer Science in the real work is anything but conceptual, and it is important to find grounding in this whenever possible.
During this Thanksgiving Break, I will be flying up to Boston to participate in a program called MIT SPLASH, as I have done for the past few years. SPLASH is a program taught by MIT community members (undergrad, postgrad, faculty) that consists of two days of workshops and classes. Instead of just being purely conceptual and abstracted, these are hands on. We solve real world problems and learn real skills with no abstraction. Below is a list of courses I hope to be able to take this November.
I do recognize that this week’s update has been more parse then usual, you can only talk so long about a Quiz, and I hope the Moving Forward section piqued a few of your interests. Blogs will return to their regular Pset walk through format in the coming weeks.