I am currently going through the course CS61B from UC Berkeley. The videos and assignments are open for the public. I am doing the Spring 2025 one. I haven't had a formal CS education.
The quality of the course blows my mind. I am fascinated. I want to learn more about CS and programming. I want to become a better engineer.
Which courses or books or topics should I study thoroughly? Can you provide links to the resources if possible?
Data Structures and Algorithms is foundational, other core courses in a CS program are Operating System, Programming Languages, and Computer Architecture. A good way to find the books is to look at the course syllabus, each has a well known and widely used book. YouTube is great for courses, use the filter for playlists.
Not exactly the material you queried into, but I have found being around the Go ecosystem to have been influential, legends of CS designed the language in the "service of software engineering"
Go has less fancy PL things, so the team can focus on making the more minimal set as good as they can, and the Go CLI comes with an amazing set of tools for the broader workflow in SDLC. There are some real gems in Go's source, check out some of the 'internal/' directories
https://www.youtube.com/@ArjanCodes has some courses that greatly improved how I design programs in Python and how to write Pythonic code. Now with LLMs it's less about writing the code and more about what and how to architect and write.
The quality of the course blows my mind. I am fascinated. I want to learn more about CS and programming. I want to become a better engineer.
Which courses or books or topics should I study thoroughly? Can you provide links to the resources if possible?
Data Structures and Algorithms is foundational, other core courses in a CS program are Operating System, Programming Languages, and Computer Architecture. A good way to find the books is to look at the course syllabus, each has a well known and widely used book. YouTube is great for courses, use the filter for playlists.
Not exactly the material you queried into, but I have found being around the Go ecosystem to have been influential, legends of CS designed the language in the "service of software engineering"
Go has less fancy PL things, so the team can focus on making the more minimal set as good as they can, and the Go CLI comes with an amazing set of tools for the broader workflow in SDLC. There are some real gems in Go's source, check out some of the 'internal/' directories
https://www.youtube.com/@ArjanCodes has some courses that greatly improved how I design programs in Python and how to write Pythonic code. Now with LLMs it's less about writing the code and more about what and how to architect and write.
Using python Dataclasses, modeling data flows neatly, and how to actually do https://functional-architecture.org/functional_core_imperati...