“Plan Your Work And Work Your Plan.” - Napoleon Hill
My personal guide to learning fundamental and advanced Computer Science subjects. The purpose of this plan is to create a solid foundation as a Software Engineer. This repo will only include computer science learning material, I removed all the job searching and preparation material and will create a new repo for that.
The best way to get better at something is by working on projects and creating things. I'll be creating a repo that will have projects ideas based on different CS topics. It will have links to different material to help with projects.
- My Current Progress
- Introduction To Programming
- Computer Architecture
- Algorithms And Data Structures
- Database
- Networking
- Further Studying
=========================================
Learn fundamental programming concepts and build a strong programming foundation
-
CS61A: Structure and Interpretation of Computer Programs - Spring 2018
-
Composing Programs - Free Online Book
Understnad how the system works that you are writing code on
-
Great Ideas in Computer Architecture - Lecture Notes, Lecture Videos
-
Computer Organization and Design - Buy On Amazon
-
C Programming Language - Buy On Amazon
-
The Datacenter as a Computer - Online PDF
Improve Your Problem Solving Skills and learn techniques to write well optimized code
- The Algorithm Design Manual - Buy Book on Amazon
- Skiena's Algorithms Lectures - Lecture Notes, Lecture Viedos
- Data Structures and Algorithms in Python - Buy Book On Amazon
- Grokking Algorithms - Buy Book On Amazon
Learn how to store and manipulate data in databases.
- CMU 15-445/645 - Database Systems - YouTube Playlist , Lecture Notes
- SQL - Full course for beginners (YouTube Video)
- SQL Crash Course - Beginner to Intermediate (YouTube Video)
- An Introduction To NoSQL Databases (YouTube Video)
- NoSQL Tutorial for Beginners (YouTube Video)
- MongoDB Complete Introduction & Summary(YouTube Video)
- Introduction To Networking - MOOC Stanford
- Computer Networking: A Top-Down Approach - Buy Book On Amazon
- Computer Networks - YouTube Playlist
- Operating Systems by Gate Lectures
- UC Berkeley Computer Science 162 - Fall 2010
- CS162 Lecture Notes
- Operating System Concept
- Modern Operating Systems
- Operating Systems: Three Easy Pieces(Online PDF)
- Operating Systems: Principles and Practice
- Distribute Sytems Definition
- Introduction to Distributed System Design
- Distributed Systems In One Lesson
- Distributed Systems - Fast Tech Skills
- What is a distributed system?
- Distributed Sytems - Online PDF, Buy Book On Amazon
- CS188 Intro to AI - Lecture Notes, Lecture Videos
- Artificial Intelligence: A Modern Approach
- Machine Learning