So as I mentioned in a previous post, I’m taking 6.005 (Software Construction) this semester, which if you remember, I described as a “notoriously tedious and time-consuming” class.
The past three weeks have validated that statement. I’ve spent an average of 6 hours each day (read: ~ 8 pm – 2 am) for the past 4 days working on 6.005. Our assignment is to create a Sudoku solver, which will read in any Sudoku puzzle and figure out a solution to it. It’s pretty cool!! Except hard to do :( So understandably, there’s been an outpouring of overwhelmed-ness amongst the 6.005 student body.
This feeling of utter panic manifested itself on the 6.005 Piazza site (Piazza is basically a site where students can ask questions and instructors/classmates can answer them – a.k.a. a way to get instantaneous answers to questions) via a thread titled: “Extended deadline for pset 2”:
“Hi, can you give a class extension for pset 2’s deadline? This is a hard pset, and we are just starting to cover the materials that are necessary to complete this pset, so it is unnecessarily demanding to finish the pset by this Thursday.
A bajillion people liked/viewed/responded to that thread, and less than 24 hours later, we all received the following email, with the subject line “6.005 announcement: Problem Set 2 Deadline Changed”:
“In response to popular demand, we have decided to move the deadline for the Beta submission of problem set 2 to Sunday 11:59 PM.
Armando and Saman”
Which in turn resulted in the following i’m-so-relieved-and-in-love-with-freedom-of-speech-and-democracy piazza post:
And the following success baby meme (credit to Edan ’12):
Which all-in-all made my Tuesday night (or Wednesdy, early morning rather) a bubble of extreme happiness.
And now I’m sharing that happiness with you :)
Happy Leap Day!
Looks like 6.005 is a great combo of fun+pressure then.
fyi: you can’t see the 005 piazza unless you’re enrolled in it.
I wouldn’t call it a “tedious” class at all, though. Time-consuming, definitely, but not tedious if you like the idea of working on interesting and challenging psets and you like programming (kind of a prerequisite to liking 005).
Roughly what kind of algorithm are you using for the Sudoku solver? A few friends (one at MIT now =] ) and I implemented a Sudoku solving algorithm for a regional CS contest two years ago, and for comparison I’m curious as to whether it was recursive, iterative, or one of the many other methods I can’t comprehend?
Did the professor have any restriction on which way to do it?
//our code was the most efficient and so we won first place! =] =]
@Michael: typically in 6.005 it’s posed as a SAT problem (http://en.wikipedia.org/wiki/Boolean_satisfiability_problem), which is essentially iterative with some clever optimizations to make it fast. The 6.005 materials are usually public on stellar.mit.edu, so you can probably see it if you want.
Out of curiosity, are you not an MIT student? How do you have a scripts site? (it looks like it’s borrowed from someone?)
-not Hamsika but took 6.005
Thanks for the tip on stellar, I’ll check that out.
I am not an MIT student. I hope in two weeks I will be, though!
I have scripts site because that friend to which i referred in my first post is currently a freshman at MIT, is my girlfriend, and was kind enough to let me use the free server space to put my site! =]
More info here:
Reading about the sudoku solver reminded me about a problem on Project Euler. But, wait, this being MIT, I think you already know that.
Just in case you don’t -> Check out –> http://projecteuler.net/problem=96 .