Jump to content

Main Page: Difference between revisions

From Computer Science Knowledge Base
No edit summary
No edit summary
 
(140 intermediate revisions by the same user not shown)
Line 1: Line 1:
<strong>Table of Contents</strong>
<strong>Table of Contents</strong>
=== Computer Science Knowledge Base ===
== 1.0 Introduction to Computer Science ==
== 1.0 Introduction to Computer Science ==


Line 22: Line 25:


=== 1.4 Branches of Computer Science ===
=== 1.4 Branches of Computer Science ===
* [[1.4.1 Theoretical CS, Algorithms, Data Structures, AI, ML, Cybersecurity, Networking, etc.]]
* 1.4.1 [[1.4.1 Theoretical CS, Algorithms, Data Structures, AI, ML, Cybersecurity, Networking, etc.|Theoretical CS, Algorithms, Data Structures, AI, ML, Cybersecurity, Networking, etc.]]
 
=== 1.5 [[1.5 How a Computer Works|How a Computer Works]] ===


== 2.0 Foundational Concepts ==  
== 2.0 Foundational Concepts ==  
Line 38: Line 43:
* [[2.3.2 Characteristics of Good Algorithms]]
* [[2.3.2 Characteristics of Good Algorithms]]
* [[2.3.3 Representing Algorithms (Flowcharts, Pseudocode)]]
* [[2.3.3 Representing Algorithms (Flowcharts, Pseudocode)]]
=== 2.4 Computational Thinking ===
=== 2.4 [[Computational Thinking]] ===
* 2.4.1 Decomposition
* [[2.4.1 Decomposition]]
* 2.4.2 Pattern Recognition
* [[2.4.2 Pattern Recognition]]
* 2.4.3 Abstraction
* [[2.4.3 Abstraction]]
* 2.4.4 Algorithms
* [[2.4.4 Algorithms]]
== 3.0 Programming Fundamentals ==
== 3.0 [[3.0 Programming Fundamentals|Programming Fundamentals]] ==
=== 3.1 Programming Paradigms ===
=== 3.1 [[3.1 Programming Paradigms|Programming Paradigms]] ===
* 3.1.1 Procedural Programming
* 3.1.1 [[3.1.1 Procedural Programming|Procedural Programming]]
* 3.1.2 Object-Oriented Programming (OOP) - Basic Concepts
* 3.1.2 [[3.1.2 Object-Oriented Programming (OOP) - Basic Concepts|Object-Oriented Programming (OOP) - Basic Concepts]]
* 3.1.3 Functional Programming (Basic Concepts)
* [[3.1.3 Functional Programming (Basic Concepts)]]
=== 3.2 Data Types & Variables ===
=== 3.2 [[3.2 Data Types & Variables|Data Types & Variables]] ===
* 3.2.1 Primitive Data Types (Integers, Floats, Booleans, Characters)
* 3.2.1 [[3.2.1 Primitive Data Types (Integers, Floats, Booleans, Characters)|Primitive Data Types (Integers, Floats, Booleans, Characters)]]
* 3.2.2 Reference Data Types (Strings, Objects)
* 3.2.2 [[3.2.2 Reference Data Types (Strings, Objects)|Reference Data Types (Strings, Objects)]]
* 3.2.3 Variable Declaration and Initialization
* [[3.2.3 Variable Declaration and Initialization]]


=== 3.3 Control Structures ===
=== 3.3 [[3.3 Control Structures|Control Structures]] ===


* 3.3.1  Conditional Statements (if, else if, else, switch)
* [[Conditional Statements (if, else if, else, switch)#3.3.1 Conditional Statements (if, else if, else, switch)|3.3.1  Conditional Statements (if, else if, else, switch)]]
* 3.3.2 Looping Constructs (for, while, do-while)
* 3.3.2 [[3.3.2 Looping Constructs (for, while, do-while)|Looping Constructs (for, while, do-while)]]


=== 3.4 Functions/Methods ===
=== 3.4 [[3.4 Functions/Methods|Functions/Methods]] ===


* 3.4.1 Definition and Purpose
* 3.4.1 [[3.4.1 Definition and Purpose|Definition and Purpose]]
* 3.4.2 Parameters and Return Values
* 3.4.2 [[3.4.2 Parameters and Return Values|Parameters and Return Values]]
* 3.4.3 Scope
* 3.4.3 [[3.4.3 Scope|Scope]]


=== 3.5 Basic Data Structures ===
=== 3.5 [[Basic Data Structures]] ===


* 3.5.1 Arrays (One-dimensional, Multi-dimensional)
* 3.5.1 [[3.5.1 Arrays (One-dimensional, Multi-dimensional)|Arrays (One-dimensional, Multi-dimensional)]]
* 3.5.2 Strings (Manipulation, Common Operations)
* 3.5.2 [[Strings (Manipulation, Common Operations)]]


=== 3.6 Error Handling & Debugging ===
=== 3.6 [[Error Handling & Debugging]] ===


* 3.6.1 Types of Errors (Syntax, Runtime, Logic)
* 3.6.1 [[3.6.1 Types of Errors (Syntax, Runtime, Logic)|Types of Errors (Syntax, Runtime, Logic)]]
* 3.6.2 Exception Handling (try-catch)
* 3.6.2 [[3.6.2 Exception Handling (try-catch)|Exception Handling (try-catch)]]
* 3.6.3 Debugging Techniques and Tools
* 3.6.3 [[3.6.3 Debugging Techniques and Tools|Debugging Techniques and Tools]]


=== 4.0 Data Structures Algorithms (DSA) ===
=== 4.0 [[4.0 Data Structures Algorithms (DSA)|Data Structures Algorithms (DSA)]] ===


==== 4.1 Data Structures ====
==== 4.1 [[4.1 Data Structures|Data Structures]] ====


* '''4.1.1 Linear Data Structures:'''
* '''4.1.1 [[4.1.1 Linear Data Structures#4.1.1 Linear Data Structures|Linear Data Structures]]:'''
** 4.1.1.1  Arrays (Fixed-size, Dynamic Arrays)
** 4.1.1.1  [[4.1.1 Linear Data Structures#4.1.1 Linear Data Structures|Arrays (Fixed-size, Dynamic Arrays)]]
** 4.1.1.2  Linked Lists (Singly, Doubly, Circular)
** 4.1.1.2  [[4.1.1.2 Linked Lists (Singly, Doubly, Circular)|Linked Lists (Singly, Doubly, Circular)]]
** 4.1.1.3  Stacks (LIFO)
** 4.1.1.3  [[4.1.1.3 Stacks (LIFO)|Stacks (LIFO)]]
** 4.1.1.4  Queues (FIFO, Priority Queues)
** 4.1.1.4  [[4.1.1.4 Queues (FIFO, Priority Queues)|Queues (FIFO, Priority Queues)]]


* '''4.1.2 Non-Linear Data Structures:'''
* '''[[4.1.2 Non-Linear Data Structures]]:'''
** 4.1.2.1  Trees (Binary Trees, Binary Search Trees, AVL Trees, Red-Black Trees)
** 4.1.2.1  [[4.1.2.1 Trees (Binary Trees, Binary Search Trees, AVL Trees, Red-Black Trees)|Trees (Binary Trees, Binary Search Trees, AVL Trees, Red-Black Trees)]]
** 4.1.2.2  Graphs (Directed, Undirected, Weighted)
** 4.1.2.2  [[4.1.2.2 Graphs (Directed, Undirected, Weighted)|Graphs (Directed, Undirected, Weighted)]]
** 4.1.2.3  Hash Tables (Hashing Functions, Collision Resolution)  
** 4.1.2.3  [[4.1.2.3 Hash Tables (Hashing Functions, Collision Resolution)|Hash Tables (Hashing Functions, Collision Resolution)]]
** 4.1.2.4  Heaps (Min-Heap, Max-Heap)
** 4.1.2.4  [[4.1.2.4 Heaps (Min-Heap, Max-Heap)|Heaps (Min-Heap, Max-Heap)]]
* '''4.2 Algorithms'''
* '''4.2 [[4.2 Algorithms|Algorithms]]'''
** '''4.2.1 Sorting Algorithms:'''
** '''4.2.1 [[4.2.1 Sorting Algorithms|Sorting Algorithms]]:'''
*** 4.2.1.1 Bubble Sort, Selection Sort, Insertion Sort
*** 4.2.1.1 [[4.2.1.1 Bubble Sort, Selection Sort, Insertion Sort|Bubble Sort, Selection Sort, Insertion Sort]]
*** 4.2.1.2 Merge Sort, Quick Sort (Divide and Conquer)
*** 4.2.1.2 [[4.2.1.2 Merge Sort, Quick Sort (Divide and Conquer)|Merge Sort, Quick Sort (Divide and Conquer)]]
*** 4.2.1.3 Heap Sort, Radix Sort
*** 4.2.1.3 [[4.2.1.3 Heap Sort, Radix Sort|Heap Sort, Radix Sort]]
** '''4.2.2 Searching Algorithms:'''
** '''4.2.2 [[4.2.2 Searching Algorithms|Searching Algorithms]]:'''
*** 4.2.2.1 Linear Search
*** 4.2.2.1 [[4.2.2.1 Linear Search|Linear Search]]
*** 4.2.2.2 Binary Search
*** 4.2.2.2 [[4.2.2.2 Binary Search|Binary Search]]
** '''4.2.3 Graph Algorithms:'''
** '''4.2.3 [[4.2.3 Graph Algorithms|Graph Algorithms]]:'''
*** 4.2.3.1 Breadth-First Search (BFS)
*** 4.2.3.1 [[4.2.3.1 Breadth-First Search (BFS)|Breadth-First Search (BFS)]]
*** 4.2.3.2 Depth-First Search (DFS)
*** 4.2.3.2 Depth-First Search (DFS)
*** 4.2.3.3 Dijkstra's Algorithm (Shortest Path)
*** 4.2.3.3 Dijkstra's Algorithm (Shortest Path)
Line 110: Line 115:
*** 4.2.5.2. Tail Recursion
*** 4.2.5.2. Tail Recursion
** '''4.2.6 Greedy Algorithms'''
** '''4.2.6 Greedy Algorithms'''
* '''5.0  Computer Architecture & Organization'''
'''5.0  [[5.0 Computer Architecture & Organization|Computer Architecture & Organization]]'''
** '''5.1 CPU Components'''
* '''5.1 [[5.1 CPU Components|CPU Components]]'''
*** 5.1.1 Arithmetic Logic Unit (ALU)
** 5.1.1 [[5.1.1 Arithmetic Logic Unit (ALU)|Arithmetic Logic Unit (ALU)]]
*** 5.1.2 Control Unit (CU)
** 5.1.2 [[5.1.2 Control Unit (CU)|Control Unit (CU)]]
*** 5.1.3 Registers
** 5.1.3 [[5.1.3 Registers|Registers]]
*** 5.1.4 Instruction Cycle (Fetch, Decode, Execute, Store)
** 5.1.4 [https://wiki.omnivision.website/index.php?title=5.1.4_Instruction_Cycle_(Fetch,_Decode,_Execute,_Store)&veaction=edit&section=1 Instruction Cycle (Fetch, Decode, Execute, Store)]
** '''5.2 Memory Hierarchy'''
* '''5.2 [[5.2 Memory Hierarchy|Memory Hierarchy]]'''
*** 5.2.1 Cache Memory (L1, L2, L3)
** 5.2.1 [[5.2.1 Cache Memory (L1, L2, L3)|Cache Memory (L1, L2, L3)]]
*** 5.2.2 RAM (Random Access Memory)
** 5.2.2 [[5.2.2 RAM (Random Access Memory)|RAM (Random Access Memory)]]
*** 5.2.3 ROM (Read-Only Memory)
** 5.2.3 [[5.2.3 ROM (Read-Only Memory)|ROM (Read-Only Memory)]]
*** 5.2.4 Virtual Memory (Basic Concept)
** 5.2.4 [[5.2.4 Virtual Memory (Basic Concept)|Virtual Memory (Basic Concept)]]
** '''5.3 Input/Output Systems'''
* '''5.3 [[5.3 Input/Output Systems|Input/Output Systems]]'''
*** 5.3.1  I/O Devices and Controllers
** 5.3.1  [https://wiki.omnivision.website/index.php?title=5.3.1_I%2FO_Devices_and_Controllers&wvprov=sticky-header I/O Devices and Controllers]
*** 5.3.2 Polling, Interrupts, DMA
** 5.3.2 [https://wiki.omnivision.website/index.php?title=5.3.2_Polling%2C_Interrupts%2C_DMA&wvprov=sticky-header Polling, Interrupts, DMA]
** '''5.4 Instruction Sets'''
* '''5.4 [[5.4 Instruction Sets|Instruction Sets]]'''
*** 5.4.1 RISC vs. CISC
** [[5.4.1 RISC vs. CISC]]
** '''5.5 Assembly Language (Basic Concepts)'''
* '''5.5 [[5.5 Assembly Language (Basic Concepts)|Assembly Language (Basic Concepts)]]'''
* '''6.0 Operating Systems (OS)'''
* 5.6 [[5.6 How a Computer Works|How a Computer Works]]
** '''6.1 Role and Functions of an OS'''
'''6.0 [[6.0 Operating Systems (OS)|Operating Systems (OS)]]'''
*** 6.1.1 Resource Management, Process Management, Memory Management, File Management
* '''6.1 [https://wiki.omnivision.website/index.php?title=6.1_Role_and_Functions_of_an_OS&veaction=edit Role and Functions of an OS]'''
** '''6.2 Process Management'''
** 6.1.1 [https://wiki.omnivision.website/index.php?title=6.1_Role_and_Functions_of_an_OS&veaction=edit Resource Management, Process Management, Memory Management, File Management]
*** 6.2.1 Processes vs. Threads
* '''6.2 [[6.2 Process Management|Process Management]]'''
*** 6.2.2 Process States
** 6.2.1 [[6.2.1 Processes vs. Threads|Processes vs. Threads]]
*** 6.2.3 CPU Scheduling Algorithms (FCFS, SJF, Priority, Round Robin)
** 6.2.2 [[6.2.2 Process States|Process States]]
*** 6.2.4 Inter-Process Communication (IPC)
** 6.2.3 [[6.2.3 CPU Scheduling Algorithms (FCFS, SJF, Priority, Round Robin)|CPU Scheduling Algorithms (FCFS, SJF, Priority, Round Robin)]]
*** 6.2.5 Synchronization (Semaphores, Mutexes)
** 6.2.4 [[6.2.4 Inter-Process Communication (IPC)|Inter-Process Communication (IPC)]]
** '''6.3 Memory Management'''
* 6.2.5 [[6.2.5 Synchronization (Semaphores, Mutexes)|Synchronization (Semaphores, Mutexes)]]
*** 6.3.1 Paging, Segmentation
* '''6.3 [[6.3 Memory Management|Memory Management]]'''
*** 6.3.2 Virtual Memory
** 6.3.1 [[6.3.1 Paging, Segmentation|Paging, Segmentation]]
*** 6.3.3 Page Replacement Algorithms
** 6.3.2 [[6.3.2 Virtual Memory|Virtual Memory]]
** '''6.4 File Systems'''
** 6.3.3 [[6.3.3 Page Replacement Algorithms|Page Replacement Algorithms]]
*** 6.4.1 File Organization, Directory Structures
* '''6.4 [[6.4 File Systems|File Systems]]'''
*** 6.4.2 File Allocation Methods
** 6.4.1 [[6.4.1 File Organization, Directory Structures|File Organization, Directory Structures]]
** '''6.5 Concurrency & Deadlock'''
** 6.4.2 [[6.4.2 File Allocation Methods|File Allocation Methods]]
*** 6.5.1 Conditions for Deadlock
* '''6.5 [[6.5 Concurrency & Deadlock|Concurrency & Deadlock]]'''
*** 6.5.2 Deadlock Prevention, Avoidance, Detection, Recovery  
** 6.5.1 [[6.5.1 Conditions for Deadlock|Conditions for Deadlock]]
** '''7.0 Networking & Internet'''
** 6.5.2 [[6.5.2 Deadlock Prevention, Avoidance, Detection, Recovery|Deadlock Prevention, Avoidance, Detection, Recovery]]
*** '''7.1 Network Models'''
'''7.0 [[7.0 Images & Graphics|Images & Graphics]]'''
**** 7.1.1 OSI Model (7 Layers)
* '''7.1 [[7.1 What is a Digital Image?|What is a Digital Image]]?'''
**** 7.1.2 TCP/IP Model (4/5 Layers)
** 7.1.1 [[7.1.1 Pixels and Resolution|Pixels and Resolution]]
** '''7.2 Protocols'''
** 7.1.2 [[7.1.2 How Computers See Color (RGB, basic idea)|How Computers See Color (RGB, basic idea)]]
*** 7.2.1 HTTP/HTTPS, FTP, SMTP, POP3, IMAP
* '''7.2 [[7.2 Image File Formats|Image File Formats]]'''
*** 7.2.2  TCP (Reliable, Connection-Oriented)
** 7.2.1 [[7.2.1 JPG (for photos)|JPG (for photos)]]
*** 7.2.3  UDP (Unreliable, Connectionless)
** 7.2.2 [[7.2.2 PNG (for graphics, transparency)|PNG (for graphics, transparency)]]
*** 7.2.4  IP (Internet Protocol)
** 7.2.3 [[7.2.3 GIF (for simple animations, limited colors)|GIF (for simple animations, limited colors)]]
*** 7.2.5  DNS (Domain Name System)
* '''7.3 [[7.3 Computer Graphics: Making Digital Art|Computer Graphics: Making Digital Art]]'''
** '''7.3 Network Topologies'''
** 7.3.1 [[7.3.1 Creating Images (drawing, 3D models - simple concepts)|Creating Images (drawing, 3D models - simple concepts)]]
*** 7.3.1 Bus, Star, Ring, Mesh
** 7.3.2 Animation Basics (moving images)
** '''7.4 Web Technologies (Basic Overview)'''
* '''7.4 Image Processing: Changing Pictures'''
*** 7.4.1 HTML, CSS, JavaScript (Client-side)
** 7.4.1 Basic Edits (brightness, contrast, filters)
*** 7.4.2 Web Servers, APIs
** 7.4.2 Why We Process Images (fixing, enhancing, effects)
** '''8.0  Databases'''
* '''7.5 Computer Vision: Teaching Computers to See''' (Brief, exciting examples)
*** '''8.1 Database Types'''
** 7.5.1 Facial Recognition
**** 8.1.1  Relational Databases (SQL)
** 7.5.2 Object Detection (self-driving cars, sorting)
**** 8.1.2 NoSQL Databases (Key-Value, Document, Column-Family, Graph)
'''8.0 Video & Multimedia'''
*** '''8.2 Relational Database Concepts'''
* 8.1 What is Digital Video? (Explaining frames, frame rate, audio)
**** 8.2.1  Tables, Rows, Columns
* 8.2 Video File Formats (MP4, MOV, etc.)
**** 8.2.2  Primary Keys, Foreign Keys
* 8.3 Video Compression (Basic idea of making files smaller)
**** 8.2.3  Relationships (One-to-One, One-to-Many, Many-to-Many)
* 8.4 Video Streaming (How YouTube/Netflix works)
*** '''8.3 SQL (Structured Query Language)'''
* 8.5 Basic Audio Concepts (Sound waves to digital, basic formats)
**** 8.3.1  CRUD Operations (SELECT, INSERT, UPDATE, DELETE)
'''9.0  [[7.0 Networking & Internet|Networking & Internet]]'''
**** 8.3.2  JOINs, Subqueries
* '''9.1 [[7.1 Network Models|Network Models]]'''
**** 8.3.3  Data Definition Language (DDL)
** 9.1.1  [[7.1.1 OSI Model (7 Layers)|OSI Model (7 Layers)]]
**** 8.3.4 Data Manipulation Language (DML)
** 9.1.2  [[7.1.2 TCP/IP Model (4/5 Layers)|TCP/IP Model (4/5 Layers)]]
*** '''8.4 Database Design'''
* '''9.2 [[7.2 Protocols|Protocols]]'''
**** Normalization (1NF, 2NF, 3NF, BCNF)
** 9.2.1  [[7.2.1 HTTP/HTTPS, FTP, SMTP, POP3, IMAP|HTTP/HTTPS, FTP, SMTP, POP3, IMAP]]
**** Entity-Relationship (ER) Diagrams
** 9.2.2  [[7.2.2 TCP (Reliable, Connection-Oriented)|TCP (Reliable, Connection-Oriented)]]
*** '''8.5 Database Management Systems (DBMS)'''
** 9.2.3  [[7.2.3 UDP (Unreliable, Connectionless)|UDP (Unreliable, Connectionless)]]
**** Examples (MySQL, PostgreSQL, Oracle, SQL Server) IX. Software Engineering
** 9.2.4 [[7.2.4 IP (Internet Protocol)|IP (Internet Protocol)]]
** '''9.0 Software Engineering'''
** 9.2.5  [[7.2.5 DNS (Domain Name System)|DNS (Domain Name System)]]
*** '''9.1 Software Development Life Cycle (SDLC)'''
* '''9.3 [[7.3 Network Topologies|Network Topologies]]'''
**** Phases (Requirements, Design, Implementation, Testing, Deployment, Maintenance)
** 9.3.1  [[7.3.1 Bus, Star, Ring, Mesh|Bus, Star, Ring, Mesh]]
**** Models (Waterfall, Iterative, Spiral)
* '''9.4 [[7.4 Web Technologies (Basic Overview)|Web Technologies (Basic Overview)]]'''
*** '''9.2 Agile Methodologies'''
** 9.4.1  [[7.4.1 HTML, CSS, JavaScript (Client-side)|HTML, CSS, JavaScript (Client-side)]]
**** Scrum, Kanban
** 9.4.2  [https://wiki.omnivision.website/index.php?title=7.4.2_Web_Servers%2C_APIs&wvprov=sticky-header Web Servers, APIs]
**** User Stories, Sprints
'''10.0  Databases'''
*** '''9.3 Version Control'''
* '''10.1 Database Types'''
**** Git (Basic Commands: clone, add, commit, push, pull, branch, merge)
** 10.1.1  Relational Databases (SQL)
**** GitHub/GitLab/Bitbucket (Remote Repositories)
** 10.1.2  NoSQL Databases (Key-Value, Document, Column-Family, Graph)
*** '''9.4 Software Testing'''
* '''10.2 Relational Database Concepts'''
**** Unit Testing, Integration Testing, System Testing, Acceptance Testing
** 10.2.1  Tables, Rows, Columns
**** Test-Driven Development (TDD)
** 10.2.2  Primary Keys, Foreign Keys
*** '''9.5 Design Patterns'''
** 10.2.3  Relationships (One-to-One, One-to-Many, Many-to-Many)
**** Creational (Singleton, Factory)
* '''10.3 SQL (Structured Query Language)'''
**** Structural (Adapter, Decorator)
** 10.3.1  CRUD Operations (SELECT, INSERT, UPDATE, DELETE)
**** Behavioral (Observer, Strategy) X. Artificial Intelligence (AI) & Machine Learning (ML)
** 10.3.2 JOINs, Subqueries
** '''10.0 Artificial Intelligence (AI) & Machine Learning'''
** 10.3.3  Data Definition Language (DDL)
*** '''10.1 Introduction to AI'''
** 10.3.4  Data Manipulation Language (DML)
**** Strong AI vs. Weak AI
* '''10.4 Database Design'''
**** Applications of AI
** 10.4.1  Normalization (1NF, 2NF, 3NF, BCNF)
*** '''10.2 Types of Machine Learning'''
** 10.4.2  Entity-Relationship (ER) Diagrams
**** Supervised Learning (Regression, Classification)
* '''10.5 Database Management Systems (DBMS)'''
**** Unsupervised Learning (Clustering, Dimensionality Reduction)
** 10.5.1  Examples (MySQL, PostgreSQL, Oracle, SQL Server) IX. Software Engineering
**** Reinforcement Learning
'''11.0  [[9.0 Software Engineering|Software Engineering]]'''
*** '''10.3 Common ML Algorithms'''
* '''11.1 [[10.1 Software Development Life Cycle (SDLC)|Software Development Life Cycle (SDLC)]]'''
**** Linear Regression, Logistic Regression
** 11.1.1. [[10.1.1. Phases (Requirements, Design, Implementation, Testing, Deployment, Maintenance)|Phases (Requirements, Design, Implementation, Testing, Deployment, Maintenance)]]
**** Decision Trees, Random Forests
** 11.1.2  [[9.1.2 Models (Waterfall, Iterative, Spiral)|Models (Waterfall, Iterative, Spiral)]]
**** Support Vector Machines (SVM)
* '''11.2 [[9.2 Agile Methodologies|Agile Methodologies]]'''
**** K-Means Clustering
** 11.2.1  [[9.2.1 Scrum, Kanban|Scrum, Kanban]]
*** '''10.4 Neural Networks & Deep Learning (Basic Concepts)'''
** 11.2.2  [[9.2.2 User Stories, Sprints|User Stories, Sprints]]
**** Perceptrons, Layers
* '''11.3 [[9.3 Version Control|Version Control]]'''
**** Activation Functions
** 11.3.1  [[9.3.1 Git (Basic Commands: clone, add, commit, push, pull, branch, merge)|Git (Basic Commands: clone, add, commit, push, pull, branch, merge)]]
**** Backpropagation (High-level)
** 11.3.2  [[9.3.2 GitHub/GitLab/Bitbucket (Remote Repositories)|GitHub/GitLab/Bitbucket (Remote Repositories)]]
**** Convolutional Neural Networks (CNNs)
* '''11.4 [[Software Testing]]'''
**** Recurrent Neural Networks (RNNs)
** 11.4.1  [[9.4.1 Unit Testing, Integration Testing, System Testing, Acceptance Testing|Unit Testing, Integration Testing, System Testing, Acceptance Testing]]
*** '''10.5 Natural Language Processing (NLP) / Computer Vision (CV)'''
** 11.4.2  [[9.4.2 Test-Driven Development (TDD)|Test-Driven Development (TDD)]]
**** Basic tasks and applications
* '''11.5 [[9.5 Design Patterns|Design Patterns]]'''
** '''11.0 Cybersecurity'''
** 11.5.1  [[9.5.1 Creational (Singleton, Factory)|Creational (Singleton, Factory)]]
*** '''11.1 Fundamentals of Security'''
** 11.5.2  [[9.5.2 Structural (Adapter, Decorator)|Structural (Adapter, Decorator)]]
**** Confidentiality, Integrity, Availability (CIA Triad)
** 11.5.3  [[9.5.3 Behavioral (Observer, Strategy) X. Artificial Intelligence (AI) & Machine Learning (ML)|Behavioral (Observer, Strategy) X. Artificial Intelligence (AI) & Machine Learning (ML)]]
**** Authentication, Authorization, Accounting (AAA)
'''12.0 [[10.0 Artificial Intelligence (AI) & Machine Learning|Artificial Intelligence (AI) & Machine Learning]]'''
*** '''11.2 Common Threats & Attacks'''
* '''12.1 [[10.1 Introduction to AI|Introduction to AI]]'''
**** Malware (Viruses, Worms, Ransomware)
** 12.1.1  [[10.1 Introduction to AI|Strong AI vs. Weak AI]]
**** Phishing, Social Engineering
** 12.1.2  [[10.1.2 Applications of AI|Applications of AI]]
**** Denial of Service (DoS) / Distributed Denial of Service (DDoS)
* '''12.2 [[10.2 Types of Machine Learning|Types of Machine Learning]]'''
**** Man-in-the-Middle Attacks
** 12.2.1  [[10.2.1 Supervised Learning (Regression, Classification)|Supervised Learning (Regression, Classification)]]
*** '''11.3 Cryptography'''
** 12.2.2  [[10.2.2 Unsupervised Learning (Clustering, Dimensionality Reduction)|Unsupervised Learning (Clustering, Dimensionality Reduction)]]
**** Symmetric vs. Asymmetric Encryption
*** 12.2.3  [[10.2.3 Reinforcement Learning|Reinforcement Learning]]
**** Hashing
* '''12.3 [[10.3 Common ML Algorithms|Common ML Algorithms]]'''
**** Digital Signatures
** 12.3.1 [[10.3.1 Linear Regression, Logistic Regression|Linear Regression, Logistic Regression]]
*** '''11.4 Network Security'''
** 12.3.2  [https://wiki.omnivision.website/index.php?title=10.3.2_Decision_Trees%2C_Random_Forests&wvprov=sticky-header Decision Trees, Random Forests]
**** Firewalls, Intrusion Detection/Prevention Systems (IDS/IPS)
** 12.3.3  [[10.3.3 Support Vector Machines (SVM)|Support Vector Machines (SVM)]]
**** Virtual Private Networks (VPNs)
** 12.3.4  [[10.3.4 K-Means Clustering|K-Means Clustering]]
*** '''11.5 Web Security'''
* '''[[10.4 Neural Networks & Deep Learning (Basic Concepts)]]'''
**** Cross-Site Scripting (XSS)
** 12.4.1  [[10.4.1 Perceptrons, Layers#10.4.1 Perceptrons, Layers|Perceptrons, Layers]]
**** SQL Injection
** 12.4.2  [[10.4.2 Activation Functions|Activation Functions]]
**** Cross-Site Request Forgery (CSRF) XII. Theoretical Computer Science
** 12.4.3  [[10.4.3 Backpropagation (High-level)|Backpropagation (High-level)]]
** '''12.0 Theoretical Computer Science'''
** 12.4.4 [[10.4.4 Convolutional Neural Networks (CNNs)|Convolutional Neural Networks (CNNs)]]
*** '''12.1 Automata Theory'''
** 12.4.5  [[10.4.5 Recurrent Neural Networks (RNNs)|Recurrent Neural Networks (RNNs)]]
**** Finite Automata (DFAs, NFAs)
* '''12.5 [[10.5 Natural Language Processing (NLP) / Computer Vision (CV)|Natural Language Processing (NLP) / Computer Vision (CV)]]'''
**** Regular Expressions
** 12.5.1  [[10.5.1 Basic tasks and applications|Basic tasks and applications]]
**** Context-Free Grammars & Pushdown Automata
** 12.5.2  [https://wiki.omnivision.website/index.php?title=10.5.2_Large_Language_Models_%28LLMs%29&wvprov=sticky-header Large Language Models (LLMs)]
*** '''12.2 Computability Theory'''
*** 12.5.2.1 [[10.5.2.1 Generative Pre-trained Transformers (GPT)|Generative Pre-trained Transformers (GPT)]]
**** Turing Machines
'''13.0  Cybersecurity'''
**** Church-Turing Thesis
* '''13.1 Fundamentals of Security'''
**** Halting Problem (Undecidability)
** 13.1.1  Confidentiality, Integrity, Availability (CIA Triad)
*** '''12.3 Complexity Theory'''
** 13.1.2  Authentication, Authorization, Accounting (AAA)
**** Time and Space Complexity (Big O Notation revisited)
* '''13.2 Common Threats & Attacks'''
**** P, NP, NP-Complete, NP-Hard XIII. Emerging Topics & Future Trends
** 13.2.1  Malware (Viruses, Worms, Ransomware)
** '''13.0 Emerging Topics and Future Trends'''
** 13.2.2  Phishing, Social Engineering
*** '''13.1 Quantum Computing'''
** 13.2.3  Denial of Service (DoS) / Distributed Denial of Service (DDoS)
**** Basic Principles (Superposition, Entanglement)
** 13.2.4  Man-in-the-Middle Attacks
**** Qubits, Quantum Gates
* '''13.3 Cryptography'''
*** '''13.2 Blockchain & Distributed Ledger Technologies'''
** 13.3.1  Symmetric vs. Asymmetric Encryption
**** Decentralization, Cryptocurrencies
** 13.3.2  Hashing
**** Smart Contracts
** 13.3.3  Digital Signatures
*** '''13.3 Cloud Computing'''
* '''13.4 Network Security'''
**** IaaS, PaaS, SaaS
** 13.4.1  Firewalls, Intrusion Detection/Prevention Systems (IDS/IPS)
**** Public, Private, Hybrid Clouds
** 13.4.2  Virtual Private Networks (VPNs)
*** '''13.4 Big Data'''
* '''13.5 Web Security'''
**** Volume, Velocity, Variety
** 13.5.1  Cross-Site Scripting (XSS)
**** Hadoop, Spark (Basic Concepts)
** 13.5.2  SQL Injection
*** '''13.5 Ethical AI & Societal Impact'''
** 13.5.3  Cross-Site Request Forgery (CSRF) XII. Theoretical Computer Science
**** Bias in AI, Privacy Concerns
'''14.0  Theoretical Computer Science'''
**** AI Safety and Governance
* '''14.1 Automata Theory'''
** 14.1.1  Finite Automata (DFAs, NFAs)
** 14.1.2  Regular Expressions
** 14.1.3  Context-Free Grammars & Pushdown Automata
* '''14.2 Computability Theory'''
** 14.2.1  Turing Machines
** 14.2.2  Church-Turing Thesis
** 14.2.3  Halting Problem (Undecidability)
* '''14.3 Complexity Theory'''
** 14.3.1  Time and Space Complexity (Big O Notation revisited)
** 14.3.2  P, NP, NP-Complete, NP-Hard XIII. Emerging Topics & Future Trends
'''15.0  Emerging Topics and Future Trends'''
* '''15.1 Quantum Computing'''
** 15.1.1  Basic Principles (Superposition, Entanglement)
** 15.1.2  Qubits, Quantum Gates
* '''15.2 Blockchain & Distributed Ledger Technologies'''
** 15.2.1  Decentralization, Cryptocurrencies
** 15.2.2  Smart Contracts
* '''15.3 Cloud Computing'''
** 15.3.1  IaaS, PaaS, SaaS
** 15.3.2  Public, Private, Hybrid Clouds
* '''15.4 Big Data'''
** 15.41  Volume, Velocity, Variety
** 15.42  Hadoop, Spark (Basic Concepts)
* '''15.5 Ethical AI & Societal Impact'''
** 15.51  Bias in AI, Privacy Concerns
** 15.52  AI Safety and Governance
'''16.0 Resources'''
 
* 16.1 Code.org
* 16.2 Hour of Code
* 16.3 Khan Academy
* 16.4 Scratch
* 16.5 Skillstruck.com
* 16.6 Harvard CS50
** 16.61 [[16.61 Harvard CS50 (2023) Full Computer Science University Course|Harvard CS50 (2023) Full Computer Science University Course]]
 
 





Latest revision as of 04:11, 12 July 2025

Table of Contents

Computer Science Knowledge Base

1.0 Introduction to Computer Science

1.1 What is Computer Science?

1.2 History of Computing

1.3 Key Figures in Computer Science

1.4 Branches of Computer Science

1.5 How a Computer Works

2.0 Foundational Concepts

2.1 Data Representation

2.2 Boolean Algebra & Logic Gates

2.3 Algorithms & Pseudocode

2.4 Computational Thinking

3.0 Programming Fundamentals

3.1 Programming Paradigms

3.2 Data Types & Variables

3.3 Control Structures

3.4 Functions/Methods

3.5 Basic Data Structures

3.6 Error Handling & Debugging

4.0 Data Structures Algorithms (DSA)

4.1 Data Structures

5.0 Computer Architecture & Organization

6.0 Operating Systems (OS)

7.0 Images & Graphics

8.0 Video & Multimedia

  • 8.1 What is Digital Video? (Explaining frames, frame rate, audio)
  • 8.2 Video File Formats (MP4, MOV, etc.)
  • 8.3 Video Compression (Basic idea of making files smaller)
  • 8.4 Video Streaming (How YouTube/Netflix works)
  • 8.5 Basic Audio Concepts (Sound waves to digital, basic formats)

9.0 Networking & Internet

10.0 Databases

  • 10.1 Database Types
    • 10.1.1 Relational Databases (SQL)
    • 10.1.2 NoSQL Databases (Key-Value, Document, Column-Family, Graph)
  • 10.2 Relational Database Concepts
    • 10.2.1 Tables, Rows, Columns
    • 10.2.2 Primary Keys, Foreign Keys
    • 10.2.3 Relationships (One-to-One, One-to-Many, Many-to-Many)
  • 10.3 SQL (Structured Query Language)
    • 10.3.1 CRUD Operations (SELECT, INSERT, UPDATE, DELETE)
    • 10.3.2 JOINs, Subqueries
    • 10.3.3 Data Definition Language (DDL)
    • 10.3.4 Data Manipulation Language (DML)
  • 10.4 Database Design
    • 10.4.1 Normalization (1NF, 2NF, 3NF, BCNF)
    • 10.4.2 Entity-Relationship (ER) Diagrams
  • 10.5 Database Management Systems (DBMS)
    • 10.5.1 Examples (MySQL, PostgreSQL, Oracle, SQL Server) IX. Software Engineering

11.0 Software Engineering

12.0 Artificial Intelligence (AI) & Machine Learning

13.0 Cybersecurity

  • 13.1 Fundamentals of Security
    • 13.1.1 Confidentiality, Integrity, Availability (CIA Triad)
    • 13.1.2 Authentication, Authorization, Accounting (AAA)
  • 13.2 Common Threats & Attacks
    • 13.2.1 Malware (Viruses, Worms, Ransomware)
    • 13.2.2 Phishing, Social Engineering
    • 13.2.3 Denial of Service (DoS) / Distributed Denial of Service (DDoS)
    • 13.2.4 Man-in-the-Middle Attacks
  • 13.3 Cryptography
    • 13.3.1 Symmetric vs. Asymmetric Encryption
    • 13.3.2 Hashing
    • 13.3.3 Digital Signatures
  • 13.4 Network Security
    • 13.4.1 Firewalls, Intrusion Detection/Prevention Systems (IDS/IPS)
    • 13.4.2 Virtual Private Networks (VPNs)
  • 13.5 Web Security
    • 13.5.1 Cross-Site Scripting (XSS)
    • 13.5.2 SQL Injection
    • 13.5.3 Cross-Site Request Forgery (CSRF) XII. Theoretical Computer Science

14.0 Theoretical Computer Science

  • 14.1 Automata Theory
    • 14.1.1 Finite Automata (DFAs, NFAs)
    • 14.1.2 Regular Expressions
    • 14.1.3 Context-Free Grammars & Pushdown Automata
  • 14.2 Computability Theory
    • 14.2.1 Turing Machines
    • 14.2.2 Church-Turing Thesis
    • 14.2.3 Halting Problem (Undecidability)
  • 14.3 Complexity Theory
    • 14.3.1 Time and Space Complexity (Big O Notation revisited)
    • 14.3.2 P, NP, NP-Complete, NP-Hard XIII. Emerging Topics & Future Trends

15.0 Emerging Topics and Future Trends

  • 15.1 Quantum Computing
    • 15.1.1 Basic Principles (Superposition, Entanglement)
    • 15.1.2 Qubits, Quantum Gates
  • 15.2 Blockchain & Distributed Ledger Technologies
    • 15.2.1 Decentralization, Cryptocurrencies
    • 15.2.2 Smart Contracts
  • 15.3 Cloud Computing
    • 15.3.1 IaaS, PaaS, SaaS
    • 15.3.2 Public, Private, Hybrid Clouds
  • 15.4 Big Data
    • 15.41 Volume, Velocity, Variety
    • 15.42 Hadoop, Spark (Basic Concepts)
  • 15.5 Ethical AI & Societal Impact
    • 15.51 Bias in AI, Privacy Concerns
    • 15.52 AI Safety and Governance

16.0 Resources







Consult the User's Guide for information on using the wiki software.

Getting started