A resource directory designed to help you understand computers and computer science better.
"Learn to Learn"
- Vince, my awesome software engineering teacher Once you learn to learn, then all you need to do is figure out where to look. Knowing where to look is my primary objective in this space.
This course is a compilation of resources for learning both beginner and then advanced computer science concepts at a quick pace. It's designed for a couple of months' commitment with a focus on guiding you to deeper knowledge as your understanding evolves.
Your feedback is crucial to making this as helpful as possible! Please open a GitHub Issue for inaccuracies, complaints, comments, discussion, clarity requests, etc. For changes to the readme, feel free to submit a Pull Request and it will be considered. Eventually discussion and questions may be moved elsewhere, i'm open to suggestions.
- Objective: Explore what computer science is and its historical evolution.
- Topics: The definition of a computer and its historical context; basic components and types of computers.
- Personal Notes: Microsoft emphasizes teaching programming to children. Their resources, including videos, are excellent for beginners.
- Resources:
- Objective: Delve into the internal workings of a computer.
- Topics: CPU, Memory, Storage, I/O Devices.
- Resources: Microsoft Learn
- Objective: Understand the history of the internet and how it works.
- Topics: The inception and evolution of the internet.
- Resources:
- Objective: Understand the progression from early computing to modern-day PCs.
- Topics: Mechanical devices to electronic computers; key milestones.
- Resources: Microsoft's CS Education Approach
- Objective: Grasp the foundational concepts of how computers operate.
- Topics: Introduction to binary and data representation; basic computer architecture; motherboard functionality.
- Resources: Explore various resources on Computer Architecture
- Objective: Learn the basics of windows and other operating systems. Throughout the week, continuously apply more and more advanced fundamentals to use operating systems to your advantage.
- Topics: Under construction
- Resources: Under construction
- Objective: Understand the role and functionality of GPUs.
- Topics: Differentiating between CPU and GPU; GPU's role in image rendering; GPU in AI.
- Resources: GPU and its Applications
- Objective: Learn about different types of memory and storage in computers.
- Topics: RAM vs permanent storage; Data storage mechanisms; File systems overview.
- Resources: Understanding Memory and Storage
- Objective: Understand various input and output devices.
- Topics: Keyboards, Mice, Touchscreens; Monitors, Printers; Peripheral devices.
- Resources: Input and Output Devices
- Objective: Discover the electrical foundations of computing.
- Topics: Basic electricity principles; Transistor revolution; Evolution to integrated circuits.
- Resources: History of Computing Hardware
! Under construction ... these weeks aren't formatted yet ... Under construction !
#Week 8: Introduction to Data Structures Fundamental Data Structures
Objective: Understand basic data structures used in programming. Topics: Arrays, Lists. Stacks, Queues. Introduction to Dictionaries and Hashmaps.
Basic Algorithms
Objective: Learn simple algorithms and their efficiency. Topics: Simple sorting algorithms (Bubble Sort, Selection Sort). Basic search algorithms (Linear, Binary Search). Introduction to algorithm efficiency (Big O Notation).
#Week 9-10: Overview of Advanced Topics Web Development Basics
Objective: Gain a basic understanding of web development. Topics: HTML, CSS, JavaScript fundamentals. Understanding client-server architecture. Intro to web development frameworks.
Databases and Cloud Computing
Objective: Learn the basics of databases and cloud computing. Topics: SQL and NoSQL databases. Introduction to cloud services (AWS, Azure, Google Cloud). Significance of cloud computing in technology.
Emerging Technologies
Objective: Get an introductory view of emerging tech fields. Topics: Overview of machine learning and AI. Basics of cybersecurity. Mobile app development introduction.
Stuff that doesn't have a place yet but I really like: https://edudownloads.azureedge.net/msdownloads/Microsoft_Computer_Science_Map.pdf