Skip to content

Teach yourself to learn, then all you need to do is figure out where to look.

Notifications You must be signed in to change notification settings

yankejustin/Justins-Computer-Crash-Course

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

Justin Yanke's Computer and Computer Science Crash Course

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.

Week 1-2: Getting Started: Understanding Computers

Week 1: Understanding Computers 🖥️

Day 1-2: Introduction to Computers

  • 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:

Day 3: Inside a Computer

  • Objective: Delve into the internal workings of a computer.
  • Topics: CPU, Memory, Storage, I/O Devices.
  • Resources: Microsoft Learn

Day 4: The Internet

Day 5-7: The Evolution of Computing

  • 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

Week 2: How Computers Work

  • 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

Week 3: Understanding the Windows operating system and other operating systems

Under construction

  • 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

Graphics Processing Unit (GPU)

  • 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

Week 4: Computer Components and Their Responsibilities

Memory and Storage

  • 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

Input/Output Devices

  • Objective: Understand various input and output devices.
  • Topics: Keyboards, Mice, Touchscreens; Monitors, Printers; Peripheral devices.
  • Resources: Input and Output Devices

Week 5-6: Computers and Human Ingenuity

From Electric Concepts to Computing

  • 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

About

Teach yourself to learn, then all you need to do is figure out where to look.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published