Essential computer science notes and resources for software engineers and developers of all levels.
During my work as Software Engineer Consultant I've worked on a variety of projects across diverse industries, including electric cars, agriculture, passanger safety and comfort.
I thought it'd be helpful to create a sort of Whole Computer Science Catalog to gather all resources in one place. I hope you find it helpful and feel free to contribute.
- Access the notebook anywhere, online or offline.
- Use it as a knowledge base for software engineering concepts and practices.
- Refresh your memory with the notebook's quick overviews.
- Prepare for job interviews with the notebook's comprehensive guidance.
- Review your CS foundations with the notebook's structured approach.
- Stay updated on the latest software engineering trends.
- Accelerate Your Learning: Use concise and short notes curated by passionate software engineers, to boost your productivity.
- Wide-Ranging Resources: From algorithms to data structures, design patterns to coding best practices, the notebook covers it all.
- Interactive Learning: Discover engaging code examples, real-world applications, and interactive challenges to solidify your understanding.
- Community-Driven: The notebook is maintained by a vibrant community of developers like yourself, all working together to shape the future to make CS resources accessible to all.
From programming languages, design patterns, and testing to more advanced topics such as Data Science, and computer vision. You will also find the latest research papers and notebooks about AI, ML, DL, LLMs, IoT, robotics, and more.
If you'd like to read the notes online, you can visit https://afondiel.github.io/computer-science-notebook/.
If you'd like to read it locally, install Rust, and then:
git clone https://github.com/afondiel/computer-science-notebook
cd computer-science-notebook
cargo install mdbook
mdbook build
mdbook serve
Happy learning and have fun!
- Generate note using LLM from a CLI:
- hello_world_prompt.md for files creation
LLM API
for note content generation, such as Claude, Gemini, GPT3.5, ..
- Generate note using LLM from a Web App:
- Related work: https://notebooklm.google/
Please refer to CONTRIBUTING.md to see how you can help this project grow and make learning accessible to all.
Some tasks to tackle:
- Add guideline notes on how to get into a specific industry/company
- Add more industries: Telecommunications & Network, Aerospace, Defense, Naval, etc ...
- Create a pipeline to generate a 'hello world' note content using hello_world_prompt.md + LLM API: Claude, Gemini, GPT3.5, ...
As a lifelong learner and someone who believes that free education will make the world a better a place, I hope you find this project useful and inspiring as I do.
Cheers,