Jump to content

Main Page: Difference between revisions

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