Check out https://www.teachyourselfcs.com
Ask HN: How do I choose the right resource to learn CS fundamentals?
11–20 of 93 posts
Re: Ask HN: How do I choose the right resource to learn CS fundamentals?
#12Check out https://www.teachyourselfcs.com
- Programming: Learn two languages: Python and C
- Algorithms and Data Structures: Implement each data structure in the two languages above and implement a few algorithms of each type.
- Computer Architecture: For the referred excellent book, implement all assignments in any one language. Go head and burn the design on an FPGA, get the computer running on real hardware.
- OS: Having done ECS above, you should be in good shape to write your own OS: there is xv6, Xinu, Minix and many to choose from. Again have your OS running at least in a VM.
- Computer Networking: Write your own HTTP server in C.
- Math for CS: I would say focus on learning math essential for games, some linear algebra and leave it there. When you encounter a relevant field; AI or games, you should be in a position to pick up more math if required.
- Databases: Recently a book has been published on database internals, which is strongly recommended. Work through this book.
- Languages and Compilers: Learn a lisp, write a lisp interpreter (should introduce you to some FP concepts) and then working through Concepts, Techniques and Models of Computer Programming should be a good foundation.
Whether you are a student or working full time, these above are time consuming but well worth the ROI if you put in the effort. Be creative and ensure that you publish all your work as part of your portfolio. Good luck!!!
[1] https://www.amazon.com/Database-Internals-Deep-Distributed-S...
Re: Ask HN: How do I choose the right resource to learn CS fundamentals?
#13One of my favorite mentees came in to a software development job from a biochemistry background. She’s got a knack for it and did a great job self learning a lot of basics, but I really saw some awesome improvement after she did a “CS masters bridge program” through NYU- https://engineering.nyu.edu/academics/programs/bridge-progra...
I guess it’s really meant to get you into a grad program, but I know she got a ton out of it as a career programmer.
Re: Ask HN: How do I choose the right resource to learn CS fundamentals?
#14Re: Ask HN: How do I choose the right resource to learn CS fundamentals?
#15I really recommend Lynda ( now linkedin learning) not free (but remaking accounts works ofcourse), unless you signup via new york or LA library. also khan academy: information theory is really great: https://www.khanacademy.org/computing/computer-science
Re: Ask HN: How do I choose the right resource to learn CS fundamentals?
#16My suggestion would be to enroll in a college and pay for your education. This way, you'll be more motivated because the pace will be imposed and it will cost you more than your time if you don't do the work required to pass and more importantly, learn something of value.
Re: Ask HN: How do I choose the right resource to learn CS fundamentals?
#17Re: Ask HN: How do I choose the right resource to learn CS fundamentals?
#18> I am attracted by the resources/online/books posted by courses in UCB/Princeton/MIT/Stanford/CMU. At the same time I get boggled down and overwhelmed that I have soooooooooo many materials to cover. I think you'd be better served by doing a lot of courses from the same institution. If you choose courses that were designed to fit together, you'll have a lot less wasted time from overlapping material or holes from mi…
I agree regarding choosing materials from a singular institution. Thing is, not all the institutions have all the courses and materials online. This in turn results in choosing specific courses from specific institutions which are available online. But the caveat here is that when I intermix the courses from different institutions, I find the prerequisites to be different since different institutions cover same/similar courses in different depths/breadths. For example, Databases in CMU are at a much higher standard than that of Stanford's.
> What is your goal exactly?
Goal is to learn since my undergrad is not in CS. I would not be able to afford a masters for the next 2-3 years so I am trying to use the intermediate time to get myself the undergrad curriculum knowledge I never had. I hope this would help me with enhancing my day to day job and also help me prepare when I apply for my masters/PhD.
Re: Ask HN: How do I choose the right resource to learn CS fundamentals?
#19Can you share your reason to go it alone, or why you ruled out a traditional learning option? One of my favorite mentees came in to a software development job from a biochemistry background. She’s got a knack for it and did a great job self learning a lot of basics, but I really saw some awesome improvement after she did a “CS masters bridge program” through NYU- https://engineering.nyu.edu/academics/programs/bridge-…
If it's not too much to ask, would you mind being my mentor online in some way? I would really like to learn from someone with some direction and hold myself with some accountability too.
Re: Ask HN: How do I choose the right resource to learn CS fundamentals?
#20The two courses that give the basic CS foundation needed are: nand2teris.org and cs50.net See if you can solve all the projects & assignments in these courses. These cover a lot of ground. Once you are done with these two courses end to end, you will get a fair understanding of many of the computing big ideas.
If you already programming, they may be too basic.