It could be argued that you can "find yourself" without college, and while that's absolutely true I would say that it's hard to find a better institution to do so (other problems like rising tuition/loans notwithstanding).
294 karma · joined December 21, 2012
It could be argued that you can "find yourself" without college, and while that's absolutely true I would say that it's hard to find a better institution to do so (other problems like rising tuition/loans notwithstanding).
I was homeschooled/self-taught since the 2nd grade until about high school when I started attending community college full-time. At that point I was about "even" with my best friend, who is also considered very intelligent. I was then able to pick which semester-long classes to take. For example, I was taking third year calculus my sophomore year, a full year before he was able to take Calc 1. And this was no discrepancy due to ability. (for those curious I applied to colleges at the 'regular' time and am now attending a 4-year institution without transferring any of my credits).
The fact of the matter is that the American public school system wasn't developed with education in mind, and now functions more as crowd control than as an educational institution.
I'd be interested to figure out the whole intro sequence. For example, my college begins with Java for the first class, then the next two classes can be taken concurrently, which respectively consist of functional programming/basic CS theory in SML, and Data Structures/Advanced Programming (memory management!) in Java and C++. I'm sure a number of other colleges follow similar procedures.
Also - I don't think that "CS0" classes should be included on this list as most are not taught with the intention of further CS education. For example, we have an "intro" CS course that is taught within the context of cognitive science (in Python).
Also, a lot of colleges (at least the best ones) offer functional programming in a second semester intro course (Berkeley does Scheme I believe). My own institution uses SML.
Right now I'm working on a Haskell project to do intersolar pathfinding (pathfinding with gravitational effects). I want to see how to get A* or something similar like D* Lite to pick up on gravitational slingshotting by adjusting the heuristic.
Prof Malan is one of the best lecturers I have had the pleasure to learn from, knowing how to keep an audience interested in just about anything. Malan and his army of TAs have also done a fantastic job of creating a community around CS50, and have provided a plethora of resources for their students. Their assignments and problem sets were also perfect. They were challenging and interesting without being inaccessible; teaching both programming skills and being relevant to important CS concepts. We also got a special lecture from Brian Kernighan at the end, which was a real treat.
I'm extremely appreciative for the skills and knowledge CS50 has given me, and would highly recommend it to anyone willing to take on the challenge. It's the reason why I have my current interest in and basic understanding of CS.
I'm really excited for what online education can offer if many other classes can be brought up to the high standard Prof Malan and his team has set. With 5 years of community college (8th-12th grade) and a semester at a top liberal arts college, all taken in-person, CS50 remains one of my favorite classes (in terms of interest, challenge, fun, etc).
I should also mention I took CS75 with Malan as well, and while it wasn't quite as enjoyable for a number of reasons, it was also an excellent course.