New pages
Appearance
10 July 2025
- 15:1815:18, 10 July 2025 7.1.1 OSI Model (7 Layers) (hist | edit) [1,843 bytes] Mr. Goldstein (talk | contribs) (Created page with "=== 7.1.1 OSI Model (7 Layers) === The '''OSI Model''' (which stands for Open Systems Interconnection) is a way to understand how different parts of a network work together. It breaks down the process of sending and receiving data into 7 different layers, starting from what you see on your screen all the way down to the physical wires. Each layer has a specific job, and they work together to make sure information gets where it needs to go. Imagine sending a letter: # '...") Tag: Visual edit
- 13:5713:57, 10 July 2025 7.1 Network Models (hist | edit) [459 bytes] Mr. Goldstein (talk | contribs) (Created page with " == 7.1 Network Models == When computers talk to each other, they need to follow a set of rules, much like how you follow rules when playing a game. These rules are organized into layers, making it easier to understand and manage how information travels. These organized rules are called '''network models'''. Think of it like building a LEGO castle: you build the base first, then the walls, then the roof. Each layer has its own job, and they work together.") Tag: Visual edit
- 13:5413:54, 10 July 2025 7.0 Networking & Internet (hist | edit) [1,176 bytes] Mr. Goldstein (talk | contribs) (Created page with "== 7.0 Networking & Internet == Imagine you want to talk to your friend across town. You could shout, but that wouldn't work very well. Instead, you use a phone! Computers also need ways to talk to each other, and that's where '''networking''' comes in. Networking is all about connecting computers so they can share information and resources, like files, printers, or even internet access. The '''Internet''' is the biggest network of all! It's like a giant global web conn...") Tag: Visual edit
- 02:5902:59, 10 July 2025 9.5.3 Behavioral (Observer, Strategy) X. Artificial Intelligence (AI) & Machine Learning (ML) (hist | edit) [1,512 bytes] Mr. Goldstein (talk | contribs) (Created page with "=== 9.5.3 Behavioral (Observer, Strategy) === Behavioral design patterns are about how objects communicate and interact with each other. They focus on how responsibilities are assigned and how information flows between objects. * '''Observer:''' Imagine you subscribe to your favorite YouTube channel. When the channel posts a new video, you get a notification. You are the 'observer' watching the 'subject' (the YouTube channel). The Observer pattern defines a one-to-many...") Tag: Visual edit
- 02:5802:58, 10 July 2025 9.5.2 Structural (Adapter, Decorator) (hist | edit) [1,375 bytes] Mr. Goldstein (talk | contribs) (Created page with "=== 9.5.2 Structural (Adapter, Decorator) === Structural design patterns are about how objects and classes are put together to form larger structures. They help make these structures flexible and efficient. * '''Adapter:''' Imagine you have a European power plug, but you're in the United States where the outlets are different. You'd use a power adapter to make them compatible. The Adapter pattern allows two incompatible interfaces (ways of doing things) to work together...") Tag: Visual edit
- 02:5602:56, 10 July 2025 9.5.1 Creational (Singleton, Factory) (hist | edit) [1,252 bytes] Mr. Goldstein (talk | contribs) (Created page with "=== 9.5.1 Creational (Singleton, Factory) === Creational design patterns are all about how objects are created. They help make sure objects are created in a flexible and organized way. * '''Singleton:''' Imagine you have a school, and there's only ''one'' principal. It wouldn't make sense to have two principals, right? A Singleton pattern ensures that a class can only have ''one'' instance (one copy) of itself throughout the entire program. This is useful when you need...") Tag: Visual edit
- 02:5002:50, 10 July 2025 9.5 Design Patterns (hist | edit) [829 bytes] Mr. Goldstein (talk | contribs) (Created page with "=== 9.5 Design Patterns === Imagine you're building different houses. You wouldn't design every single door, window, or roof from scratch every time, right? You'd use common, proven designs that you know work well. In software, design patterns are similar. They are like reusable solutions to common problems that software developers face when designing programs. They aren't finished pieces of code you can just plug in, but rather templates or blueprints for how to structu...") Tag: Visual edit
- 02:4802:48, 10 July 2025 9.4.2 Test-Driven Development (TDD) (hist | edit) [1,159 bytes] Mr. Goldstein (talk | contribs) (Created page with "=== 9.4.2 Test-Driven Development (TDD) === Imagine you're building a LEGO spaceship. Instead of just building it and hoping it flies, what if you first write down exactly how you expect it to fly (e.g., 'it should hover 2 inches above the ground') and then build it to meet that expectation? Test-Driven Development (TDD) is a coding approach where you write tests ''before'' you write the actual code. Here's how it works: # '''Write a failing test:''' You write a small t...") Tag: Visual edit
- 02:4602:46, 10 July 2025 9.4.1 Unit Testing, Integration Testing, System Testing, Acceptance Testing (hist | edit) [1,641 bytes] Mr. Goldstein (talk | contribs) (Created page with "=== 9.4.1 Unit Testing, Integration Testing, System Testing, Acceptance Testing === Software testing happens at different levels, like checking different parts of a robot: * '''Unit Testing:''' This is like checking if a single motor or a single sensor on your robot works perfectly by itself. In software, unit testing means testing the smallest individual parts of the code (like a single function or a tiny piece of a program) to make sure each part works as expected. It...") Tag: Visual edit
- 02:4302:43, 10 July 2025 Software Testing (hist | edit) [654 bytes] Mr. Goldstein (talk | contribs) (Created page with "=== 9.4 Software Testing === Imagine you've built a fantastic new robot. Before you send it out to deliver pizzas, you'd want to test it, right? You'd check if it can move, if its arms work, and if it can actually deliver a pizza without dropping it! Software testing is similar. It's the process of checking a computer program to make sure it works correctly, meets all the requirements, and doesn't have any hidden problems or 'bugs'. The goal is to find errors before user...") Tag: Visual edit
- 02:4202:42, 10 July 2025 9.4 Software Testing (hist | edit) [653 bytes] Mr. Goldstein (talk | contribs) (Created page with "=== 9.4 Software Testing === Imagine you've built a fantastic new robot. Before you send it out to deliver pizzas, you'd want to test it, right? You'd check if it can move, if its arms work, and if it can actually deliver a pizza without dropping it! Software testing is similar. It's the process of checking a computer program to make sure it works correctly, meets all the requirements, and doesn't have any hidden problems or 'bugs'. The goal is to find errors before user...") Tag: Visual edit
- 02:3802:38, 10 July 2025 9.3.2 GitHub/GitLab/Bitbucket (Remote Repositories) (hist | edit) [737 bytes] Mr. Goldstein (talk | contribs) (Created page with "=== 9.3.2 GitHub/GitLab/Bitbucket (Remote Repositories) === While Git helps you manage versions on your own computer, '''GitHub''', '''GitLab''', and '''Bitbucket''' are online platforms that host your Git projects. They are like giant online libraries where developers can store their code, work together, and share their projects with the world. They provide a place for your 'remote repositories' (the online copies of your Git projects) and offer extra tools for teamwork...") Tag: Visual edit
- 02:3702:37, 10 July 2025 9.3.1 Git (Basic Commands: clone, add, commit, push, pull, branch, merge) (hist | edit) [1,925 bytes] Mr. Goldstein (talk | contribs) (Created page with "=== 9.3.1 Git (Basic Commands: clone, add, commit, push, pull, branch, merge) === Git is the most popular type of version control system. It's like a powerful librarian for your code. Here are some basic things you can do with Git: * '''clone:''' Imagine you want to get a copy of an existing project from the internet. <code>git clone</code> makes a complete copy of that project onto your computer. * '''add:''' When you've made changes to your code, you first tell Git wh...") Tag: Visual edit
- 02:3502:35, 10 July 2025 9.3 Version Control (hist | edit) [672 bytes] Mr. Goldstein (talk | contribs) (Created page with "=== 9.3 Version Control === Imagine you're writing a really long story with a friend. What if you both make changes to the same part at the same time? Or what if you accidentally delete a whole chapter? How do you go back to an earlier version? Version control is like a super-smart 'undo' button and a 'collaboration' tool for code. It's a system that keeps track of every change made to computer code or other files. This allows multiple people to work on the same project...") Tag: Visual edit
- 02:3002:30, 10 July 2025 9.2.2 User Stories, Sprints (hist | edit) [1,078 bytes] Mr. Goldstein (talk | contribs) (Created page with "=== 9.2.2 User Stories, Sprints === Two key ideas in Agile are: * '''User Stories:''' Instead of long, technical documents, Agile teams describe features from the perspective of the person who will use them. A user story sounds like: "As a gamer, I want to be able to jump over obstacles, so I can explore new areas." or "As a parent, I want to track my child's homework, so I know what they need to do." This helps everyone understand ''why'' a feature is important and wha...") Tag: Visual edit
- 02:2902:29, 10 July 2025 9.2.1 Scrum, Kanban (hist | edit) [1,227 bytes] Mr. Goldstein (talk | contribs) (Created page with "=== 9.2.1 Scrum, Kanban === Agile has different 'flavors' or specific ways of doing things: * '''Scrum:''' Think of a rugby team huddle, or 'scrum', where players quickly plan their next move. Scrum is a popular Agile method that organizes work into short, time-boxed periods called 'sprints' (usually 1-4 weeks long). During a sprint, a team focuses on completing a small set of features. They have daily stand-up meetings to quickly share progress and problems, and they r...") Tag: Visual edit
- 02:2702:27, 10 July 2025 9.2 Agile Methodologies (hist | edit) [717 bytes] Mr. Goldstein (talk | contribs) (Created page with "=== 9.2 Agile Methodologies === Imagine you're planning a surprise birthday party. If you stick to a super strict plan made months ago, you might miss out on new ideas or changes! Agile methodologies are like a flexible way of planning and building software. Instead of trying to plan everything perfectly at the beginning, Agile teams work in small, quick bursts, constantly getting feedback and adapting to changes. It's all about being flexible, working together closely,...") Tag: Visual edit
- 02:2402:24, 10 July 2025 9.1.2 Models (Waterfall, Iterative, Spiral) (hist | edit) [2,018 bytes] Mr. Goldstein (talk | contribs) (Created page with "=== 9.1.2 Models (Waterfall, Iterative, Spiral) === Just like there are different ways to build a house (some people build room by room, others build the whole frame first), there are different models, or approaches, to following the SDLC: * '''Waterfall Model:''' Imagine a waterfall flowing downwards. In this model, each phase of the SDLC (Requirements, Design, Implementation, etc.) must be completed entirely before the next phase can begin. You can't go back upstream...") Tag: Visual edit
- 02:0402:04, 10 July 2025 9.1.1. Phases (Requirements, Design, Implementation, Testing, Deployment, Maintenance) (hist | edit) [2,198 bytes] Mr. Goldstein (talk | contribs) (Created page with "=== 9.1.1 Phases (Requirements, Design, Implementation, Testing, Deployment, Maintenance) === The SDLC is broken down into several important phases, kind of like different stages of a journey: * '''Requirements:''' This is like figuring out what kind of building you want. Do you need a school? A hospital? How many rooms? What features? In software, this means talking to the people who will use the software to understand exactly what it needs to do. For a game, this migh...") Tag: Visual edit
- 01:5901:59, 10 July 2025 9.1 Software Development Life Cycle (SDLC) (hist | edit) [670 bytes] Mr. Goldstein (talk | contribs) (Created page with "=== 9.1 Software Development Life Cycle (SDLC) === Building software, especially big and complicated software, is a bit like building a skyscraper. You can't just start laying bricks! You need a clear plan, different teams working on different parts, and a way to make sure everything comes together correctly. The Software Development Life Cycle (SDLC) is a roadmap that guides software engineers through all the steps needed to create high-quality software. It helps make s...") Tag: Visual edit
- 01:5701:57, 10 July 2025 9.0 Software Engineering (hist | edit) [712 bytes] Mr. Goldstein (talk | contribs) (Created page with "=== 9.0 Software Engineering === Imagine you want to build a fantastic new video game, or a super helpful app for your phone. You wouldn't just start coding wildly, right? You'd need a plan! Software engineering is like being an architect and a builder for computer programs. It's about using smart, organized ways to design, create, and maintain software so that it works well, is easy to use, and can be changed or updated later. Think of it as a disciplined approach to cr...") Tag: Visual edit
- 01:0901:09, 10 July 2025 10.4.5 Recurrent Neural Networks (RNNs) (hist | edit) [4,014 bytes] Mr. Goldstein (talk | contribs) (Created page with "=== 10.4.5 Recurrent Neural Networks (RNNs) === Imagine you're telling a story, or listening to one. The words you hear ''now'' make sense because you remember the words you heard ''just before''. If someone says, "The dog barked at the...", you expect the next word to be something like "cat," "mailman," or "stranger," not "sky." Your brain remembers the sequence of words. '''Recurrent Neural Networks (RNNs)''' are a special type of digital "brain" that are designed to...") Tag: Visual edit
- 01:0701:07, 10 July 2025 10.4.4 Convolutional Neural Networks (CNNs) (hist | edit) [1,979 bytes] Mr. Goldstein (talk | contribs) (Created page with "=== 10.4.4 Convolutional Neural Networks (CNNs) === Imagine you're looking for your friend in a crowded school hallway. You're not just looking at the whole crowd at once; you're probably scanning for their face, their hair color, or the specific backpack they carry. You're looking for ''patterns'' or ''features'' in different parts of the scene. '''Convolutional Neural Networks (CNNs)''' are a special type of digital "brain" that are really, really good at doing someth...") Tag: Visual edit
- 01:0601:06, 10 July 2025 10.4.3 Backpropagation (High-level) (hist | edit) [1,875 bytes] Mr. Goldstein (talk | contribs) (Created page with "=== 10.4.3 Backpropagation (High-level) === Imagine you're playing a game, like throwing a ball at a target. At first, you might miss a lot. But after each try, you think about what went wrong: Was your arm too high? Did you throw too hard? You then adjust how you throw the ball for your next try. Over time, you get better and better at hitting the target! In computer science, especially with something called "neural networks" (which are like digital "brains" that learn...") Tag: Visual edit
9 July 2025
- 22:0222:02, 9 July 2025 4.2.1.3 Heap Sort, Radix Sort (hist | edit) [734 bytes] Mr. Goldstein (talk | contribs) (Created page with "=== 4.2.1.3 Heap Sort, Radix Sort === * '''Heap Sort:''' This algorithm uses a special data structure called a "heap." A heap is like a tree where each "parent" item is always bigger (or smaller) than its "children" items. Heap Sort builds this special tree, then repeatedly takes the largest (or smallest) item from the top of the heap and puts it into the sorted list. * '''Radix Sort:''' Imagine you're sorting a big stack of student IDs, which are numbers. Instead of co...") Tag: Visual edit
- 21:5521:55, 9 July 2025 4.2.1.2 Merge Sort, Quick Sort (Divide and Conquer) (hist | edit) [1,470 bytes] Mr. Goldstein (talk | contribs) (Created page with "=== 4.2.1.2 Merge Sort, Quick Sort (Divide and Conquer) === These two algorithms use a powerful idea called "Divide and Conquer." * '''Divide and Conquer:''' This strategy means you break a big problem into smaller, easier-to-solve pieces. You solve the small pieces, and then you combine the solutions to solve the original big problem. * '''Merge Sort:''' *# '''Divide:''' You keep splitting your list of items in half until you have many tiny lists, each with only one it...") Tag: Visual edit
- 21:5421:54, 9 July 2025 4.2.1.1 Bubble Sort, Selection Sort, Insertion Sort (hist | edit) [1,244 bytes] Mr. Goldstein (talk | contribs) (Created page with "=== 4.2.1.1 Bubble Sort, Selection Sort, Insertion Sort === These are some of the simpler ways to sort things: * '''Bubble Sort:''' Think of bubbles rising in water. In Bubble Sort, you go through a list, compare two items next to each other, and if they're in the wrong order, you swap them. You keep doing this over and over, and the largest (or smallest) items "bubble up" to their correct place in the list. It's a bit like sorting cards by repeatedly swapping any two a...") Tag: Visual edit
- 21:5321:53, 9 July 2025 4.2.1 Sorting Algorithms (hist | edit) [356 bytes] Mr. Goldstein (talk | contribs) (Created page with "== 4.2.1 Sorting Algorithms == Have you ever had a messy pile of toys and wanted to put them in order, maybe from smallest to largest, or by color? That's what '''sorting algorithms''' do for computers! They take a list of items (like numbers, words, or even pictures) and arrange them in a specific order, like from smallest to largest, or alphabetically.") Tag: Visual edit
- 21:5121:51, 9 July 2025 4.2 Algorithms (hist | edit) [535 bytes] Mr. Goldstein (talk | contribs) (Created page with "== 4.2 Algorithms == Imagine you have a recipe for baking cookies. That recipe tells you exactly what ingredients to use and what steps to follow, in order, to get your delicious cookies. In computer science, an '''algorithm''' is very similar! It's a set of clear, step-by-step instructions that a computer can follow to solve a problem or complete a task. Algorithms are super important because they are the "brains" behind all the apps, games, and websites you use every...") Tag: Visual edit
- 21:3421:34, 9 July 2025 5.5 Assembly Language (Basic Concepts) (hist | edit) [3,241 bytes] Mr. Goldstein (talk | contribs) (Created page with "== 5.5 Assembly Language (Basic Concepts) == You know how computers understand instructions in their very own "instruction set" (those tiny commands like "add," "move," "store")? Well, these instructions are actually stored inside the computer as long strings of 0s and 1s, called '''machine code'''. Trying to program directly in 0s and 1s would be incredibly difficult for a human! Imagine trying to write an essay only using dots and dashes. That's where '''Assembly Lang...") Tag: Visual edit
- 20:4920:49, 9 July 2025 5.4.1 RISC vs. CISC (hist | edit) [3,440 bytes] Mr. Goldstein (talk | contribs) (Created page with "=== 5.4.1 RISC vs. CISC === When computer engineers design a CPU's instruction set, they usually follow one of two main philosophies: RISC or CISC. It's like deciding if our robot should have a few very simple commands or many complicated ones. # '''RISC (Reduced Instruction Set Computer):''' #* '''Idea:''' Think of this like a chef who has many simple, quick tools (like a knife, a spoon, a whisk). Each tool does one basic job very fast. To make a fancy meal, the chef c...") Tag: Visual edit
- 20:1720:17, 9 July 2025 5.4 Instruction Sets (hist | edit) [1,626 bytes] Mr. Goldstein (talk | contribs) (Created page with "== 5.4 Instruction Sets == Imagine you're trying to give commands to a robot. If the robot only understands simple commands like "move forward," "turn left," "pick up," and "drop," that's its basic set of instructions. It can't understand "make me a sandwich" as one command; you'd have to break that down into many tiny steps. In a similar way, a computer's CPU (its brain) doesn't understand high-level programming languages like Python or Scratch directly. Instead, it un...") Tag: Visual edit
- 20:0120:01, 9 July 2025 5.3.2 Polling, Interrupts, DMA (hist | edit) [3,545 bytes] Mr. Goldstein (talk | contribs) (Created page with "=== 5.3.2 Polling, Interrupts, DMA === The CPU is incredibly fast and busy, so it needs smart ways to communicate with I/O devices without wasting too much time. Imagine the CPU is a very important manager, and I/O devices are employees who sometimes need the manager's attention. There are a few different ways this communication can happen: # '''Polling:''' #* '''How it works:''' This is like the manager (CPU) constantly asking ''each'' employee (I/O device) one by one,...") Tag: Visual edit
- 19:1519:15, 9 July 2025 5.3.1 I/O Devices and Controllers (hist | edit) [2,599 bytes] Mr. Goldstein (talk | contribs) (Created page with "=== 5.3.1 I/O Devices and Controllers === When we talk about Input/Output, we're really talking about two main things: the devices themselves and the special helpers that let them talk to the CPU. '''I/O Devices''' are the physical gadgets you use to put information into your computer or get information out. You use them every day! * '''Input Devices:''' ** '''Keyboard:''' For typing words and numbers. ** '''Mouse/Trackpad:''' For pointing, clicking, and moving things...") Tag: Visual edit
- 19:1319:13, 9 July 2025 5.3 Input/Output Systems (hist | edit) [2,575 bytes] Mr. Goldstein (talk | contribs) (Created page with "== 5.3 Input/Output Systems == Imagine your computer is a person who needs to talk to the world and take in information. How does it do that? It uses '''Input/Output (I/O) Systems'''. "Input" is how information and commands get ''into'' the computer. Think about typing on a keyboard, clicking a mouse, or using a microphone to record your voice. All of these are ways you give input to the computer. "Output" is how the computer gives information ''back'' to you or to othe...") Tag: Visual edit
- 18:4318:43, 9 July 2025 5.2.4 Virtual Memory (Basic Concept) (hist | edit) [2,446 bytes] Mr. Goldstein (talk | contribs) (Created page with "=== 5.2.4 Virtual Memory (Basic Concept) === Imagine your computer has a certain amount of RAM (its "working desk"). What happens if you try to open so many programs or files that they all can't fit on that desk at the same time? Your computer doesn't just crash! Instead, it uses a clever trick called '''Virtual Memory'''. Virtual Memory is like your computer "borrowing" some extra space from your long-term storage device (usually your hard drive or SSD, which is normal...") Tag: Visual edit
- 18:2918:29, 9 July 2025 5.2.3 ROM (Read-Only Memory) (hist | edit) [2,450 bytes] Mr. Goldstein (talk | contribs) (Created page with "=== 5.2.3 ROM (Read-Only Memory) === While RAM is like your computer's temporary desk where information comes and goes, '''ROM''' (which stands for '''Read-Only Memory''') is more like a permanent instruction manual or a set of rules engraved into the computer's foundation. As its name suggests, "Read-Only" means that the computer can read information from it, but it generally cannot easily write new information to it or change what's already there. Here's why ROM is so...") Tag: Visual edit
- 18:2618:26, 9 July 2025 5.2.2 RAM (Random Access Memory) (hist | edit) [2,265 bytes] Mr. Goldstein (talk | contribs) (Created page with "=== 5.2.2 RAM (Random Access Memory) === '''RAM''' (pronounced like "ram") stands for '''Random Access Memory''', and it's one of the most important types of memory in your computer. You can think of RAM as your computer's main "working desk" or "short-term memory." When you open a program, surf the internet, edit a document, or play a game, all the information that the computer needs to actively work with right now is loaded into RAM. Why is it called "Random Access"?...") Tag: Visual edit
- 16:2216:22, 9 July 2025 5.2.1 Cache Memory (L1, L2, L3) (hist | edit) [2,451 bytes] Mr. Goldstein (talk | contribs) (Created page with "=== 5.2.1 Cache Memory (L1, L2, L3) === '''Cache memory''' is like the CPU's personal, super-fast mini-notepad. It's tiny but incredibly quick. The CPU stores data it uses very often in cache, so it doesn't have to go all the way to the main memory, which is slower. There are usually different levels of cache: * '''L1 Cache:''' This is the fastest and smallest cache, right inside the CPU. * '''L2 Cache:''' A bit larger and slightly slower than L1, but still very fast. *...") Tag: Visual edit
- 16:1516:15, 9 July 2025 5.2 Memory Hierarchy (hist | edit) [1,665 bytes] Mr. Goldstein (talk | contribs) (Created page with "== 5.2 Memory Hierarchy == Computers need places to store information, and they have different types of storage, just like you might have a tiny notepad for quick notes, a backpack for school books, and a whole library for all your reading. This layered storage system is called the '''Memory Hierarchy'''. The idea is to have some very fast but small memory close to the CPU, and then slower but much larger memory farther away.") Tag: Visual edit
- 16:1316:13, 9 July 2025 5.1.4 Instruction Cycle (Fetch, Decode, Execute, Store) (hist | edit) [2,486 bytes] Mr. Goldstein (talk | contribs) (Created page with "=== 5.1.4 Instruction Cycle (Fetch, Decode, Execute, Store) === Computers follow a set of steps over and over again to run programs. This cycle is called the '''Instruction Cycle''', and it has four main parts: # '''Fetch:''' The CPU goes to memory (like looking in a book) and gets the next instruction it needs to follow. # '''Decode:''' The CPU figures out what that instruction means. It's like translating a secret code into something it understands. # '''Execute:''' T...") Tag: Visual edit
- 16:1216:12, 9 July 2025 5.1.3 Registers (hist | edit) [1,802 bytes] Mr. Goldstein (talk | contribs) (Created page with "=== 5.1.3 Registers === '''Registers''' are tiny, super-fast storage areas right inside the CPU. Imagine them as small scratchpads where the CPU can quickly jot down important notes or numbers it's currently working on. Because they are so close to the CPU's brain, the CPU can access information in registers much faster than anywhere else.") Tag: Visual edit
- 16:0816:08, 9 July 2025 5.1.2 Control Unit (CU) (hist | edit) [1,798 bytes] Mr. Goldstein (talk | contribs) (Created page with "=== 5.1.2 Control Unit (CU) === The '''Control Unit (CU)''' is like the CPU's boss or traffic cop. It doesn't do the actual math, but it tells all the other parts of the CPU what to do and when to do it. It makes sure everything runs smoothly and in the correct order, like a conductor leading an orchestra.") Tag: Visual edit
- 16:0216:02, 9 July 2025 5.1.1 Arithmetic Logic Unit (ALU) (hist | edit) [1,679 bytes] Mr. Goldstein (talk | contribs) (Created page with "Think of the '''ALU''' as the "math and logic master" of the CPU. When your computer needs to add two numbers, subtract them, or even compare if one number is bigger than another, the ALU is the part that does it. It's like a super-fast calculator built right into the CPU!") Tag: Visual edit
- 16:0016:00, 9 July 2025 5.1 CPU Components (hist | edit) [4,093 bytes] Mr. Goldstein (talk | contribs) (Created page with "== 5.1 CPU Components == The '''CPU''' (short for Central Processing Unit) is like the brain of your computer. It's the part that does all the thinking and calculating. Just like your brain has different parts for different jobs (like remembering or solving problems), the CPU also has its own special parts.") Tag: Visual edit
- 15:5615:56, 9 July 2025 5.0 Computer Architecture & Organization (hist | edit) [3,086 bytes] Mr. Goldstein (talk | contribs) (Created page with "== 5.0 Computer Architecture & Organization == Imagine a computer as a super smart city. Just like a city has different parts that work together (like roads, buildings, and a mayor's office), a computer also has many parts that team up to get things done. '''Computer Architecture''' is like the blueprint of this city – it shows how all the pieces are designed and how they fit together. '''Computer Organization''' is like how the city actually operates and manages its t...") Tag: Visual edit
- 15:5215:52, 9 July 2025 4.1.2.4 Heaps (Min-Heap, Max-Heap) (hist | edit) [2,219 bytes] Mr. Goldstein (talk | contribs) (Created page with "=== 4.1.2.4 Heaps: Finding the Biggest (or Smallest) Fast === Imagine a special pile of toys where the biggest toy is always at the very top, easy to grab. Or, imagine a pile where the smallest toy is always at the top. A '''heap''' in computer science is like that special pile! It's a tree-like data structure (but usually stored in a simple array) that helps you quickly find and grab the largest or smallest item. Heaps have two main rules: # It's a "complete binary tr...") Tag: Visual edit
- 15:4915:49, 9 July 2025 4.1.2.3 Hash Tables (Hashing Functions, Collision Resolution) (hist | edit) [2,655 bytes] Mr. Goldstein (talk | contribs) (Created page with "=== 4.1.2.3 Hash Tables: Super-Fast Lookups === Imagine you have a huge closet with many numbered hooks, and you want to store your clothes so you can find them super fast. A '''hash table''' is like that closet! It's a data structure that helps computers store and find information incredibly quickly. Instead of looking through every item, a hash table uses a special trick: it takes the information you want to store (like a piece of clothing) and uses a special "hashing...") Tag: Visual edit
- 15:3515:35, 9 July 2025 4.1.2.2 Graphs (Directed, Undirected, Weighted) (hist | edit) [2,348 bytes] Mr. Goldstein (talk | contribs) (Created page with "=== 4.1.2.2 Graphs: Connecting Everything === Imagine a map of cities with roads connecting them, or a social media network where people are connected by friendships. A '''graph''' in computer science is a way to represent these kinds of connections! It's made up of: * '''Nodes (or Vertices):''' These are the "dots" or "points" in the graph, representing things like cities, people, or web pages. * '''Edges:''' These are the "lines" or "connections" between the nodes, re...") Tag: Visual edit
- 14:4514:45, 9 July 2025 4.1.2.1 Trees (Binary Trees, Binary Search Trees, AVL Trees, Red-Black Trees) (hist | edit) [3,890 bytes] Mr. Goldstein (talk | contribs) (Created page with "=== 4.1.2.1 Trees: Like a Family Tree for Data === Imagine a family tree, where one person is at the top (the oldest ancestor), and then they have children, who have children, and so on. A '''tree''' in computer science is very similar! It's a way to organize data in a hierarchy, starting from a single "root" node at the top. Each node can have "children" nodes below it, but each child only has one "parent." * '''Root:''' The very top node, like the first ancestor in a...") Tag: Visual edit