5 ms·
DIY Computer Science Degree
- codez 13y agoThis comes across as more DIY Web Dev. CS degrees are not so much about programming, as some people have stated. More so theoretical understanding, logic(which is important IMO), best practices on projects, approaches(agile etc.). The programming that is touched on will be an intro to an OO language. Generally, most CS students are expected to learn programming in their own time on their own accord in order to complete assignments etc.
- adamnemecek 13y agoProgramming != CS.
- pmtarantino 13y agoThis. After finishing a BS in Maths, and with coding experience, I started a degree in Computer Sciences, thinking that I would know the most of it because I was coding since I was 15. The truth is nope. You see a lot of things besides coding, with seems to be more important than to do a a while, compile a program or use a library. You learn the WHY, which most of the time is more important than the HOW.
- iamryandrake 13y agoThat's totally true. I agree, so I'm also going to do some of the MOOC CS courses as well, coupled with working at a startup. I'm trying :)
- SquareWave 13y agoWell how else are you supposed to interact with computers? Programming does not equal CS, hahaha! I guess in what ever "science" you are thinking of people just sit there and telepathically control the computer. The popular and misguided thoughts about CS is that it might involve math. HELLO! have you ever had to use a calculator to write a "Hello World" program? Where is the science in that?
- adamnemecek 13y agoCould you please write your response in English?
- SquareWave 13y agoDo we need a font for sarcasm? I'm not sure if you are trying to be witty or sarcastic.
- kylemaxwell 13y agoNo - your original comment doesn't make sense. I don't mean "I disagree", although from what little I can make out, I probably do. I mean "it doesn't fully parse".
- SquareWave 13y agoI was trying to sound as uneducated and ignorant in terms of CS encompassing more than just programming. I was hoping the telepathic part gave it away. It's sarcasm, it's really not supposed to make sense on a fundamental level. Sarcasm...
- brudgers 13y agoRight. Knowing the name of the sort procedure in JavaScript is not the point. The point starts with knowing the difference between bubble and quick sorting and why it might matter. The heart of computer science is the mathematical analysis of computational processes.
- ekm2 13y agoNot even a mention of Data structures and Algorithms
- iamryandrake 13y agoDepends on what you ultimately end up doing at the end of your study, I suppose! I'm going to go through the MIT OpenCourseware stuff on this to begin with. What have you found most helpful? Do you deal with algorithms everyday?
- kylemaxwell 13y agoThe point is that you are conflating "slinging code" with "computer science". To paraphrase an old truism, you're talking about pointing a telescope and we're talking about astronomy.
- sAuronas 13y agoI am 3,000 hours into the DIY phase myself, so I appreciate your list. I think Effective Objective-C and Effective JavaScript (as well as the "Good Parts" and "Secrets of a JS Ninja") were good books. Also, the C book, since it is difficult to understand Objective-C without a firm grip on C. Although, there are certainly more recent and easier books on C to read.
- aet 13y ago3000 hours? how many years?
- iamryandrake 13y agoI'd like to know that too! Probably anywhere between 1-3 years?
- sAuronas 13y agoThat was one year and 3 months... I don't do much else!
- iamryandrake 13y agoThat's incredible! Great job mate.
- iamryandrake 13y agoThank you! Which book is "THE C Book" you refer to? And how have you enjoyed your DIY journey so far?
- sAuronas 13y agoI'm sure it would be easier if I had a mentor or at least a friend...but I'm a loner so I'm taking my lumps the "hard way". It's been cool I love learning this even at my advanced age.
- ctdavies 13y ago
- tmerr 13y agoIf you want something closer to what you'd expect of CS from a college check out MIT OpenCourseware, it should have everything you need for undergrad CS
- iamryandrake 13y agoYep, working on incorporating more of those videos and course notes into my own structured plan! Thank you :)
- adem 13y agoI think this list is missing some important parts of computer science. Here are the books that our university uses for first-year students combined with books that I found to be useful: Introduction to Programming (using Eiffel) [1] Mathematics for Computer Science (or: Discrete Mathematics) [2] Introduction to Datastructures and Algorithms [3] Introduction to Digital Design [4] Parallel Programming (using Java) [5] Optional but highly recommended, you'll probably find it completely out of scope: Real Analysis I [6] Real Analysis II [7] Introduction to Linear Algebra [8] Introduction to Physics [9] [1]: http://www.amazon.com/Touch-Class-Learning-Program-Contracts/dp/3540921443/ref=sr_1_3?ie=UTF8&qid=1396688827&sr=8-3&keywords=touch+of+class http://www.amazon.com/Touch-Class-Learning-Program-Contracts... [2]: http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-fall-2010/readings/MIT6_042JF10_notes.pdf http://ocw.mit.edu/courses/electrical-engineering-and-comput... [3]: http://www.amazon.de/Introduction-Algorithms-Thomas-H-Cormen/dp/0262533057/ref=sr_1_1?ie=UTF8&qid=1396689336&sr=8-1&keywords=introduction+to+algorithms http://www.amazon.de/Introduction-Algorithms-Thomas-H-Cormen... [4]: http://www.amazon.com/Digital-Design-Computer-Architecture-Edition/dp/0123944244 http://www.amazon.com/Digital-Design-Computer-Architecture-E... [5]: http://www.amazon.com/Java-Concurrency-Practice-Brian-Goetz/dp/0321349601/ref=sr_1_1?ie=UTF8&qid=1396689424&sr=8-1&keywords=java+concurrency+in+practice http://www.amazon.com/Java-Concurrency-Practice-Brian-Goetz/... [6]: http://www.amazon.com/Analysis-Texts-Readings-Mathematics-No/dp/8185931941/ref=sr_1_1?ie=UTF8&qid=1396689443&sr=8-1&keywords=terence+tao+analysis http://www.amazon.com/Analysis-Texts-Readings-Mathematics-No... [7]: http://www.amazon.com/Analysis-II-Texts-Readings-Mathematics/dp/818593195X/ref=sr_1_1?ie=UTF8&qid=1396689499&sr=8-1&keywords=analysis+ii+terence+tao http://www.amazon.com/Analysis-II-Texts-Readings-Mathematics... [8]: http://www.amazon.com/Introduction-Linear-Algebra-Fourth-Gilbert/dp/0980232716/ref=sr_1_1?s=books&ie=UTF8&qid=1396689522&sr=1-1&keywords=gilbert+strang http://www.amazon.com/Introduction-Linear-Algebra-Fourth-Gil... [9]: http://www.amazon.com/Fundamentals-Physics-Extended-David-Halliday/dp/0470469080/ref=sr_1_1?ie=UTF8&qid=1396689544&sr=8-1&keywords=physics+halliday http://www.amazon.com/Fundamentals-Physics-Extended-David-Ha...
- iamryandrake 13y agoThanks so much for this list! What's your Twitter handle I can follow you on? Have added this list to my project!
- thomas_r 13y agoA bit of advice from someone who is trying to do the same: - Learn one language/ platform at a time. Also, think about what you want to learn. Web development? Mobile? CS fundamentals? It is very easy to waste alot of time when your are not focussed on a particular goal. - Try not to get tricked into spending to much time on those fancy looking tutorials. Building something yourself is much more valuable than obtaining meaningless 'badges' and achievements. - Ruby on Rails is complex and I would not recommend it for beginners. I wasted alot of time doing tutorials that covered random parts of rails that I never used in projects. Again, if you want to learn Rails, start your own project as soon as possible and select learning materials based on that. - Stick with the basics. Try not to get distracted by frameworks, tools and the overwhelming amount of tutorials available. for javaScript, have a look at this: http://javascriptissexy.com/how-to-learn-javascript-properly/ http://javascriptissexy.com/how-to-learn-javascript-properly... Ruby / Python: http://learncodethehardway.org/ http://learncodethehardway.org/ https://www.udacity.com/course/cs101 https://www.udacity.com/course/cs101 rails http://guides.rubyonrails.org/getting_started.html http://guides.rubyonrails.org/getting_started.html good luck
- iamryandrake 13y agoAgreed Thomas! Thanks for your input. I am learning for the sole intent of then being able to immediately put into action what I've learnt within the startup environment and also contribute to open source projects where I can :) What are you learning?