There are a lot of valuable resources on the internet that provide a structured path to understanding Computing/Computer Science, most/all of which might be miles ahead of the content being taught at Tier-II/III/lower colleges. This topic will attempt to list some of them and highlight the content conveyed in the courses.
In my humble opinion, structured education is still extremely important. Structured education is not equal to your college experience. Structured education doesn’t have to mean only theoretical education. It is important to recognize that structured education can be hands-on and information-dense.
Classes teach you all about advanced topics within CS, from operating systems to machine learning, but there’s one critical subject that’s rarely covered, and is instead left to students to figure out on their own: proficiency with their tools. We’ll teach you how to master the command-line, use a powerful text editor, use fancy features of version control systems, and much more!
Students spend hundreds of hours using these tools over the course of their education (and thousands over their career), so it makes sense to make the experience as fluid and frictionless as possible. Mastering these tools not only enables you to spend less time on figuring out how to bend your tools to your will, but it also lets you solve problems that would previously seem impossibly complex.
I would love the resources curated in this topic to be directly valuable to the Student Clubs that we are directly working with or any student/club that is interested in gaining a better education during their college years. Just because your college/department isn’t providing you a good education doesn’t mean that you can’t get it yourself.
Both books are incredibly hands-on thanks to the authors’ use of Jupyter Notebooks. These two books together should help any programmer build a solid foundation. It should be possible to slowly and methodically complete both of these books within a semester, assuming you are pursuing other course work in parallel.
If you’re wondering why anyone would take the time to write a book but make it freely available for people to read online (with an option to buy it), read https://greenteapress.com/free_books.html
A free license is not just a different way to distribute the same product; a book with a free license is a fundamentally different product.
Free books beget more free books in a way that conventional books don’t. Free books turn readers into writers.
A free book is the root of a tree of potential adaptations, translations, and entirely new books that branch out from the original. Free books transform readers into proof-readers, editors, anthologists, correspondents, contributors, collaborators, writers and authors.
If you are thinking about writing a book, start soon, release early and often, give up control but do a little policing, keep a contributor list, and make it free.
I worked on foss-handbook last year for FOSS Clubs which included a lot of resources about tinkering and majorly exploring the hacker culture and various technologies.
Apparently, if I look towards it now, I can only see some OG documents which help one understand the basic philosophy of technology, free software, software simplicity and linux as well.
For a number of students/professionals, it’s not clear how CS education translates to FOSS. A few excellent books/resources for this are the Architecture of Open Source Applications series by Greg Wilson. Greg Wilson is a well respected Educator and Entrepreneur. He co-founded the Software Carpentry (<- please go into this rabbit hole)
A few notable examples from the books that people should be able to relate to are
O’Reilly, in their infinite wisdom, redirects their open books page - O'Reilly Open Books Project - back to their main landing page now. Please use the earlier Internet Archive Wayback machine link to access the actual site and the various open books within.
OpenDSA (https://github.com/OpenDSA) from Virginia Tech has some amazing resources (web books with interactive slides, exercises, etc.) for some core CS concepts:
Books For Site Reliability Engineering - the OReilly SRE books by folks from Google are well-reviewed - but as usual, please note that not all companies are Google.
An alternative resource is - School Of SRE from LinkedIn - but I’m not sure how good/bad it is.
https://www.nand2tetris.org/ - nand2tetris takes the learners from understanding nand logic gates to building a general-purpose computer system and a modern software hierarchy from the ground up!
I’ve come across this reference multiple times over the past many years. Three Easy Pieces seem to be an extremely popular book on Operating Systems and it’s content that I hope to read soon.