Jump to content

Main Page: Difference between revisions

From Computer Science Knowledge Base
No edit summary
 
(142 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)]]'''
*** 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]
*** Processes vs. Threads
* '''6.2 [[6.2 Process Management|Process Management]]'''
*** Process States
** 6.2.1 [[6.2.1 Processes vs. Threads|Processes vs. Threads]]
*** CPU Scheduling Algorithms (FCFS, SJF, Priority, Round Robin)
** 6.2.2 [[6.2.2 Process States|Process States]]
*** 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)]]
*** 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)]]
*** Paging, Segmentation
* '''6.3 [[6.3 Memory Management|Memory Management]]'''
*** Virtual Memory
** 6.3.1 [[6.3.1 Paging, Segmentation|Paging, Segmentation]]
*** 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]]
*** File Organization, Directory Structures
* '''6.4 [[6.4 File Systems|File Systems]]'''
*** 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]]
*** Conditions for Deadlock
* '''6.5 [[6.5 Concurrency & Deadlock|Concurrency & Deadlock]]'''
*** Deadlock Prevention, Avoidance, Detection, Recovery VII. Networking & Internet
** 6.5.1 [[6.5.1 Conditions for Deadlock|Conditions for Deadlock]]
** '''7.1 Network Models'''
** 6.5.2 [[6.5.2 Deadlock Prevention, Avoidance, Detection, Recovery|Deadlock Prevention, Avoidance, Detection, Recovery]]
*** OSI Model (7 Layers)
'''7.0 [[7.0 Images & Graphics|Images & Graphics]]'''
*** TCP/IP Model (4/5 Layers)
* '''7.1 [[7.1 What is a Digital Image?|What is a Digital Image]]?'''
** '''7.2 Protocols'''
** 7.1.1 [[7.1.1 Pixels and Resolution|Pixels and Resolution]]
*** HTTP/HTTPS, FTP, SMTP, POP3, IMAP
** 7.1.2 [[7.1.2 How Computers See Color (RGB, basic idea)|How Computers See Color (RGB, basic idea)]]
*** TCP (Reliable, Connection-Oriented)
* '''7.2 [[7.2 Image File Formats|Image File Formats]]'''
*** UDP (Unreliable, Connectionless)
** 7.2.1 [[7.2.1 JPG (for photos)|JPG (for photos)]]
*** IP (Internet Protocol)
** 7.2.2 [[7.2.2 PNG (for graphics, transparency)|PNG (for graphics, transparency)]]
*** DNS (Domain Name System)
** 7.2.3 [[7.2.3 GIF (for simple animations, limited colors)|GIF (for simple animations, limited colors)]]
** '''7.3 Network Topologies'''
* '''7.3 [[7.3 Computer Graphics: Making Digital Art|Computer Graphics: Making Digital Art]]'''
*** Bus, Star, Ring, Mesh
** 7.3.1 [[7.3.1 Creating Images (drawing, 3D models - simple concepts)|Creating Images (drawing, 3D models - simple concepts)]]
** '''7.4 Web Technologies (Basic Overview)'''
** 7.3.2 Animation Basics (moving images)
*** HTML, CSS, JavaScript (Client-side)
* '''7.4 Image Processing: Changing Pictures'''
*** Web Servers, APIs VIII. Databases
** 7.4.1 Basic Edits (brightness, contrast, filters)
** '''8.1 Database Types'''
** 7.4.2 Why We Process Images (fixing, enhancing, effects)
*** Relational Databases (SQL)
* '''7.5 Computer Vision: Teaching Computers to See''' (Brief, exciting examples)
*** NoSQL Databases (Key-Value, Document, Column-Family, Graph)
** 7.5.1 Facial Recognition
** '''8.2 Relational Database Concepts'''
** 7.5.2 Object Detection (self-driving cars, sorting)
*** Tables, Rows, Columns
'''8.0 Video & Multimedia'''
*** Primary Keys, Foreign Keys
* 8.1 What is Digital Video? (Explaining frames, frame rate, audio)
*** Relationships (One-to-One, One-to-Many, Many-to-Many)
* 8.2 Video File Formats (MP4, MOV, etc.)
** '''8.3 SQL (Structured Query Language)'''
* 8.3 Video Compression (Basic idea of making files smaller)
*** CRUD Operations (SELECT, INSERT, UPDATE, DELETE)
* 8.4 Video Streaming (How YouTube/Netflix works)
*** JOINs, Subqueries
* 8.5 Basic Audio Concepts (Sound waves to digital, basic formats)
*** Data Definition Language (DDL)
'''9.0  [[7.0 Networking & Internet|Networking & Internet]]'''
*** Data Manipulation Language (DML)
* '''9.1 [[7.1 Network Models|Network Models]]'''
** '''8.4 Database Design'''
** 9.1.1  [[7.1.1 OSI Model (7 Layers)|OSI Model (7 Layers)]]
*** Normalization (1NF, 2NF, 3NF, BCNF)
** 9.1.2  [[7.1.2 TCP/IP Model (4/5 Layers)|TCP/IP Model (4/5 Layers)]]
*** Entity-Relationship (ER) Diagrams
* '''9.2 [[7.2 Protocols|Protocols]]'''
** '''8.5 Database Management Systems (DBMS)'''
** 9.2.1  [[7.2.1 HTTP/HTTPS, FTP, SMTP, POP3, IMAP|HTTP/HTTPS, FTP, SMTP, POP3, IMAP]]
*** Examples (MySQL, PostgreSQL, Oracle, SQL Server) IX. Software Engineering
** 9.2.2  [[7.2.2 TCP (Reliable, Connection-Oriented)|TCP (Reliable, Connection-Oriented)]]
** '''9.1 Software Development Life Cycle (SDLC)'''
** 9.2.3 [[7.2.3 UDP (Unreliable, Connectionless)|UDP (Unreliable, Connectionless)]]
*** Phases (Requirements, Design, Implementation, Testing, Deployment, Maintenance)
** 9.2.4  [[7.2.4 IP (Internet Protocol)|IP (Internet Protocol)]]
*** Models (Waterfall, Iterative, Spiral)
** 9.2.5  [[7.2.5 DNS (Domain Name System)|DNS (Domain Name System)]]
** '''9.2 Agile Methodologies'''
* '''9.3 [[7.3 Network Topologies|Network Topologies]]'''
*** Scrum, Kanban
** 9.3.1  [[7.3.1 Bus, Star, Ring, Mesh|Bus, Star, Ring, Mesh]]
*** User Stories, Sprints
* '''9.4 [[7.4 Web Technologies (Basic Overview)|Web Technologies (Basic Overview)]]'''
** '''9.3 Version Control'''
** 9.4.1  [[7.4.1 HTML, CSS, JavaScript (Client-side)|HTML, CSS, JavaScript (Client-side)]]
*** Git (Basic Commands: clone, add, commit, push, pull, branch, merge)
** 9.4.2  [https://wiki.omnivision.website/index.php?title=7.4.2_Web_Servers%2C_APIs&wvprov=sticky-header Web Servers, APIs]
*** GitHub/GitLab/Bitbucket (Remote Repositories)
'''10.0  Databases'''
** '''9.4 Software Testing'''
* '''10.1 Database Types'''
*** Unit Testing, Integration Testing, System Testing, Acceptance Testing
** 10.1.1  Relational Databases (SQL)
*** Test-Driven Development (TDD)
** 10.1.2  NoSQL Databases (Key-Value, Document, Column-Family, Graph)
** '''9.5 Design Patterns'''
* '''10.2 Relational Database Concepts'''
*** Creational (Singleton, Factory)
** 10.2.1  Tables, Rows, Columns
*** Structural (Adapter, Decorator)
** 10.2.2  Primary Keys, Foreign Keys
*** Behavioral (Observer, Strategy) X. Artificial Intelligence (AI) & Machine Learning (ML)
** 10.2.3  Relationships (One-to-One, One-to-Many, Many-to-Many)
** '''10.1 Introduction to AI'''
* '''10.3 SQL (Structured Query Language)'''
*** Strong AI vs. Weak AI
** 10.3.1  CRUD Operations (SELECT, INSERT, UPDATE, DELETE)
*** Applications of AI
** 10.3.2  JOINs, Subqueries
** '''10.2 Types of Machine Learning'''
** 10.3.3  Data Definition Language (DDL)
*** Supervised Learning (Regression, Classification)
** 10.3.4  Data Manipulation Language (DML)
*** Unsupervised Learning (Clustering, Dimensionality Reduction)
* '''10.4 Database Design'''
*** Reinforcement Learning
** 10.4.1  Normalization (1NF, 2NF, 3NF, BCNF)
** '''10.3 Common ML Algorithms'''
** 10.4.2  Entity-Relationship (ER) Diagrams
*** Linear Regression, Logistic Regression
* '''10.5 Database Management Systems (DBMS)'''
*** Decision Trees, Random Forests
** 10.5.1  Examples (MySQL, PostgreSQL, Oracle, SQL Server) IX. Software Engineering
*** Support Vector Machines (SVM)
'''11.0  [[9.0 Software Engineering|Software Engineering]]'''
*** K-Means Clustering
* '''11.1 [[10.1 Software Development Life Cycle (SDLC)|Software Development Life Cycle (SDLC)]]'''
** '''10.4 Neural Networks & Deep Learning (Basic Concepts)'''
** 11.1.1.  [[10.1.1. Phases (Requirements, Design, Implementation, Testing, Deployment, Maintenance)|Phases (Requirements, Design, Implementation, Testing, Deployment, Maintenance)]]
*** Perceptrons, Layers
** 11.1.2  [[9.1.2 Models (Waterfall, Iterative, Spiral)|Models (Waterfall, Iterative, Spiral)]]
*** Activation Functions
* '''11.2 [[9.2 Agile Methodologies|Agile Methodologies]]'''
*** Backpropagation (High-level)
** 11.2.1  [[9.2.1 Scrum, Kanban|Scrum, Kanban]]
*** Convolutional Neural Networks (CNNs)
** 11.2.2  [[9.2.2 User Stories, Sprints|User Stories, Sprints]]
*** Recurrent Neural Networks (RNNs)
* '''11.3 [[9.3 Version Control|Version Control]]'''
** '''10.5 Natural Language Processing (NLP) / Computer Vision (CV)'''
** 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)]]
*** Basic tasks and applications XI. Cybersecurity
** 11.3.2  [[9.3.2 GitHub/GitLab/Bitbucket (Remote Repositories)|GitHub/GitLab/Bitbucket (Remote Repositories)]]
** '''11.1 Fundamentals of Security'''
* '''11.4 [[Software Testing]]'''
*** Confidentiality, Integrity, Availability (CIA Triad)
** 11.4.1  [[9.4.1 Unit Testing, Integration Testing, System Testing, Acceptance Testing|Unit Testing, Integration Testing, System Testing, Acceptance Testing]]
*** Authentication, Authorization, Accounting (AAA)
** 11.4.2 [[9.4.2 Test-Driven Development (TDD)|Test-Driven Development (TDD)]]
** '''11.2 Common Threats & Attacks'''
* '''11.5 [[9.5 Design Patterns|Design Patterns]]'''
*** Malware (Viruses, Worms, Ransomware)
** 11.5.1  [[9.5.1 Creational (Singleton, Factory)|Creational (Singleton, Factory)]]
*** Phishing, Social Engineering
** 11.5.2  [[9.5.2 Structural (Adapter, Decorator)|Structural (Adapter, Decorator)]]
*** Denial of Service (DoS) / Distributed Denial of Service (DDoS)
** 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)]]
*** Man-in-the-Middle Attacks
'''12.0 [[10.0 Artificial Intelligence (AI) & Machine Learning|Artificial Intelligence (AI) & Machine Learning]]'''
** '''11.3 Cryptography'''
* '''12.1 [[10.1 Introduction to AI|Introduction to AI]]'''
*** Symmetric vs. Asymmetric Encryption
** 12.1.1  [[10.1 Introduction to AI|Strong AI vs. Weak AI]]
*** Hashing
** 12.1.2  [[10.1.2 Applications of AI|Applications of AI]]
*** Digital Signatures
* '''12.2 [[10.2 Types of Machine Learning|Types of Machine Learning]]'''
** '''11.4 Network Security'''
** 12.2.1  [[10.2.1 Supervised Learning (Regression, Classification)|Supervised Learning (Regression, Classification)]]
*** Firewalls, Intrusion Detection/Prevention Systems (IDS/IPS)
** 12.2.2  [[10.2.2 Unsupervised Learning (Clustering, Dimensionality Reduction)|Unsupervised Learning (Clustering, Dimensionality Reduction)]]
*** Virtual Private Networks (VPNs)
*** 12.2.3  [[10.2.3 Reinforcement Learning|Reinforcement Learning]]
** '''11.5 Web Security'''
* '''12.3 [[10.3 Common ML Algorithms|Common ML Algorithms]]'''
*** Cross-Site Scripting (XSS)
** 12.3.1  [[10.3.1 Linear Regression, Logistic Regression|Linear Regression, Logistic Regression]]
*** SQL Injection
** 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]
*** Cross-Site Request Forgery (CSRF) XII. Theoretical Computer Science
** 12.3.3  [[10.3.3 Support Vector Machines (SVM)|Support Vector Machines (SVM)]]
** '''12.1 Automata Theory'''
** 12.3.4  [[10.3.4 K-Means Clustering|K-Means Clustering]]
*** Finite Automata (DFAs, NFAs)
* '''[[10.4 Neural Networks & Deep Learning (Basic Concepts)]]'''
*** Regular Expressions
** 12.4.1  [[10.4.1 Perceptrons, Layers#10.4.1 Perceptrons, Layers|Perceptrons, Layers]]
*** Context-Free Grammars & Pushdown Automata
** 12.4.2  [[10.4.2 Activation Functions|Activation Functions]]
** '''12.2 Computability Theory'''
** 12.4.3  [[10.4.3 Backpropagation (High-level)|Backpropagation (High-level)]]
*** Turing Machines
** 12.4.4  [[10.4.4 Convolutional Neural Networks (CNNs)|Convolutional Neural Networks (CNNs)]]
*** Church-Turing Thesis
** 12.4.5  [[10.4.5 Recurrent Neural Networks (RNNs)|Recurrent Neural Networks (RNNs)]]
*** Halting Problem (Undecidability)
* '''12.5 [[10.5 Natural Language Processing (NLP) / Computer Vision (CV)|Natural Language Processing (NLP) / Computer Vision (CV)]]'''
** '''12.3 Complexity Theory'''
** 12.5.1  [[10.5.1 Basic tasks and applications|Basic tasks and applications]]
*** Time and Space Complexity (Big O Notation revisited)
** 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)]
*** P, NP, NP-Complete, NP-Hard XIII. Emerging Topics & Future Trends
*** 12.5.2.1 [[10.5.2.1 Generative Pre-trained Transformers (GPT)|Generative Pre-trained Transformers (GPT)]]
** '''13.1 Quantum Computing'''
'''13.0  Cybersecurity'''
*** Basic Principles (Superposition, Entanglement)
* '''13.1 Fundamentals of Security'''
*** Qubits, Quantum Gates
** 13.1.1  Confidentiality, Integrity, Availability (CIA Triad)
** '''13.2 Blockchain & Distributed Ledger Technologies'''
** 13.1.2  Authentication, Authorization, Accounting (AAA)
*** Decentralization, Cryptocurrencies
* '''13.2 Common Threats & Attacks'''
*** Smart Contracts
** 13.2.1  Malware (Viruses, Worms, Ransomware)
** '''13.3 Cloud Computing'''
** 13.2.2  Phishing, Social Engineering
*** IaaS, PaaS, SaaS
** 13.2.3  Denial of Service (DoS) / Distributed Denial of Service (DDoS)
*** Public, Private, Hybrid Clouds
** 13.2.4  Man-in-the-Middle Attacks
** '''13.4 Big Data'''
* '''13.3 Cryptography'''
*** Volume, Velocity, Variety
** 13.3.1  Symmetric vs. Asymmetric Encryption
*** Hadoop, Spark (Basic Concepts)
** 13.3.2  Hashing
** '''13.5 Ethical AI & Societal Impact'''
** 13.3.3  Digital Signatures
*** Bias in AI, Privacy Concerns
* '''13.4 Network Security'''
*** AI Safety and Governance
** 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'''
 
* 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