Hacker News new | past | comments | ask | show | jobs | submit login

Agreed on the math point. I took CS50 (Introduction to Comp Sci) at school my Senior Year and being that my focus was directed mostly to kegonomics, I didn't quite get as much out of the course as I should have. I also took "Bits" which is watered down Comp Sci though the professor Harry Lewis said Zuckerberg got a C in it (?!?!?).

What I did learn was the basics of putting together algorithms and "thinking like a computer." For a guy who studied Social Anthropology and whose last math course was in High School, you can imagine the nitty gritty of building a C search algorithm was difficult to get at first glance (Linear search, bubble search my a$*).

To cut the BS:

1) CS I took was broken into discrete testable units. For each problem set there was a core CS theory that you needed to understand to be able to finish it. Some were less functional (ie arcane data structures), others were basics of programming that anyone should know like the back of their hand (pointers, data manipulation etc).

2) When self-teaching, you tend to pull together bite size chunks of important info necessary to solve a particular problem rather than building a solid foundation. If you're completely self taught, you'll miss 101 level theory points that may help you later when tackling a known problem that has a solution or is nearly impossible. That said, in self teaching myself, I've cobbled together quite a bag of tricks as well as the resourcefulness to pull up any info I need to solve a problem and absorb it quickly. I've yet to meet a problem I couldn't tackle just because I wasnt a "CS Educated Programmer".

Through the course though, the biggest takeaway for a non quant type like me was breaking problems down into discrete parts solved and tested by logic loops (read: thinking like a computer). The basic structures and solutions to problems involved I still use today when I program for the web.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: