Jump to content

Main Page: Difference between revisions

From Computer Science Knowledge Base
No edit summary
 
(145 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, Pattern Recognition, Abstraction, Algorithms
* [[2.4.1 Decomposition]]
== 3.0 Programming Fundamentals ==
* [[2.4.2 Pattern Recognition]]
=== 3.1 Programming Paradigms ===
* [[2.4.3 Abstraction]]
* 3.1.1 Procedural Programming
* [[2.4.4 Algorithms]]
* 3.1.2 Object-Oriented Programming (OOP) - Basic Concepts
== 3.0 [[3.0 Programming Fundamentals|Programming Fundamentals]] ==
* 3.1.3 Functional Programming (Basic Concepts)
=== 3.1 [[3.1 Programming Paradigms|Programming Paradigms]] ===
=== 3.2 Data Types & Variables ===
* 3.1.1 [[3.1.1 Procedural Programming|Procedural Programming]]
* 3.2.1 Primitive Data Types (Integers, Floats, Booleans, Characters)
* 3.1.2 [[3.1.2 Object-Oriented Programming (OOP) - Basic Concepts|Object-Oriented Programming (OOP) - Basic Concepts]]
* 3.2.2 Reference Data Types (Strings, Objects)
* [[3.1.3 Functional Programming (Basic Concepts)]]
* 3.2.3 Variable Declaration and Initialization
=== 3.2 [[3.2 Data Types & Variables|Data Types & Variables]] ===
* 3.2.1 [[3.2.1 Primitive Data Types (Integers, Floats, Booleans, Characters)|Primitive Data Types (Integers, Floats, Booleans, Characters)]]
* 3.2.2 [[3.2.2 Reference Data Types (Strings, Objects)|Reference Data Types (Strings, Objects)]]
* [[3.2.3 Variable Declaration and Initialization]]
 
=== 3.3 [[3.3 Control Structures|Control Structures]] ===
 
* [[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 [[3.3.2 Looping Constructs (for, while, do-while)|Looping Constructs (for, while, do-while)]]
 
=== 3.4 [[3.4 Functions/Methods|Functions/Methods]] ===


=== 3.3 Control Structures ===
* 3.4.1 [[3.4.1 Definition and Purpose|Definition and Purpose]]
* 3.4.2 [[3.4.2 Parameters and Return Values|Parameters and Return Values]]
* 3.4.3 [[3.4.3 Scope|Scope]]


* 3.3.1  Conditional Statements (if, else if, else, switch)
=== 3.5 [[Basic Data Structures]] ===
* 3.3.2 Looping Constructs (for, while, do-while)


=== 3.4 Functions/Methods ===
* 3.5.1 [[3.5.1 Arrays (One-dimensional, Multi-dimensional)|Arrays (One-dimensional, Multi-dimensional)]]
* 3.5.2 [[Strings (Manipulation, Common Operations)]]


* 3.4.1 Definition and Purpose
=== 3.6 [[Error Handling & Debugging]] ===
* 3.4.2 Parameters and Return Values
* 3.4.3 Scope


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


* 3.5.1 Arrays (One-dimensional, Multi-dimensional)
=== 4.0 [[4.0 Data Structures Algorithms (DSA)|Data Structures Algorithms (DSA)]] ===
* 3.5.2 Strings (Manipulation, Common Operations)


=== 3.6 Error Handling & Debugging ===
==== 4.1 [[4.1 Data Structures|Data Structures]] ====


* 3.6.1 Types of Errors (Syntax, Runtime, Logic)
* '''4.1.1 [[4.1.1 Linear Data Structures#4.1.1 Linear Data Structures|Linear Data Structures]]:'''
* 3.6.2 Exception Handling (try-catch)
** 4.1.1.1  [[4.1.1 Linear Data Structures#4.1.1 Linear Data Structures|Arrays (Fixed-size, Dynamic Arrays)]]
* 3.6.3 Debugging Techniques and Tools
** 4.1.1.2  [[4.1.1.2 Linked Lists (Singly, Doubly, Circular)|Linked Lists (Singly, Doubly, Circular)]]
** 4.1.1.3 [[4.1.1.3 Stacks (LIFO)|Stacks (LIFO)]]
** 4.1.1.4  [[4.1.1.4 Queues (FIFO, Priority Queues)|Queues (FIFO, Priority Queues)]]


=== 4.0 Data Structures Algorithms (DSA) ===
* '''[[4.1.2 Non-Linear Data Structures]]:'''
** 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  [[4.1.2.2 Graphs (Directed, Undirected, Weighted)|Graphs (Directed, Undirected, Weighted)]]
** 4.1.2.3  [[4.1.2.3 Hash Tables (Hashing Functions, Collision Resolution)|Hash Tables (Hashing Functions, Collision Resolution)]]
** 4.1.2.4  [[4.1.2.4 Heaps (Min-Heap, Max-Heap)|Heaps (Min-Heap, Max-Heap)]]
* '''4.2 [[4.2 Algorithms|Algorithms]]'''
** '''4.2.1 [[4.2.1 Sorting Algorithms|Sorting Algorithms]]:'''
*** 4.2.1.1 [[4.2.1.1 Bubble Sort, Selection Sort, Insertion Sort|Bubble Sort, Selection Sort, Insertion Sort]]
*** 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 [[4.2.1.3 Heap Sort, Radix Sort|Heap Sort, Radix Sort]]
** '''4.2.2 [[4.2.2 Searching Algorithms|Searching Algorithms]]:'''
*** 4.2.2.1 [[4.2.2.1 Linear Search|Linear Search]]
*** 4.2.2.2 [[4.2.2.2 Binary Search|Binary Search]]
** '''4.2.3 [[4.2.3 Graph Algorithms|Graph Algorithms]]:'''
*** 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.3 Dijkstra's Algorithm (Shortest Path)
*** 4.2.3.4 Minimum Spanning Trees (Prim's, Kruskal's)
** '''4.2.4 Dynamic Programming:'''
*** 4.2.4.1 Memoization, Tabulation
*** 4.2.4.2 Common DP Problems (Fibonacci, Knapsack)
** '''4.2.5 Recursion:'''
*** 4.2.5.1 Base Cases, Recursive Steps
*** 4.2.5.2. Tail Recursion
** '''4.2.6 Greedy Algorithms'''
'''5.0  [[5.0 Computer Architecture & Organization|Computer Architecture & Organization]]'''
* '''5.1 [[5.1 CPU Components|CPU Components]]'''
** 5.1.1 [[5.1.1 Arithmetic Logic Unit (ALU)|Arithmetic Logic Unit (ALU)]]
** 5.1.2 [[5.1.2 Control Unit (CU)|Control Unit (CU)]]
** 5.1.3 [[5.1.3 Registers|Registers]]
** 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 [[5.2 Memory Hierarchy|Memory Hierarchy]]'''
** 5.2.1 [[5.2.1 Cache Memory (L1, L2, L3)|Cache Memory (L1, L2, L3)]]
** 5.2.2 [[5.2.2 RAM (Random Access Memory)|RAM (Random Access Memory)]]
** 5.2.3 [[5.2.3 ROM (Read-Only Memory)|ROM (Read-Only Memory)]]
** 5.2.4 [[5.2.4 Virtual Memory (Basic Concept)|Virtual Memory (Basic Concept)]]
* '''5.3 [[5.3 Input/Output Systems|Input/Output Systems]]'''
** 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 [https://wiki.omnivision.website/index.php?title=5.3.2_Polling%2C_Interrupts%2C_DMA&wvprov=sticky-header Polling, Interrupts, DMA]
* '''5.4 [[5.4 Instruction Sets|Instruction Sets]]'''
** [[5.4.1 RISC vs. CISC]]
* '''5.5 [[5.5 Assembly Language (Basic Concepts)|Assembly Language (Basic Concepts)]]'''
* 5.6 [[5.6 How a Computer Works|How a Computer Works]]
'''6.0 [[6.0 Operating Systems (OS)|Operating Systems (OS)]]'''
* '''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.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 [[6.2 Process Management|Process Management]]'''
** 6.2.1 [[6.2.1 Processes vs. Threads|Processes vs. Threads]]
** 6.2.2 [[6.2.2 Process States|Process States]]
** 6.2.3 [[6.2.3 CPU Scheduling Algorithms (FCFS, SJF, Priority, Round Robin)|CPU Scheduling Algorithms (FCFS, SJF, Priority, Round Robin)]]
** 6.2.4 [[6.2.4 Inter-Process Communication (IPC)|Inter-Process Communication (IPC)]]
* 6.2.5 [[6.2.5 Synchronization (Semaphores, Mutexes)|Synchronization (Semaphores, Mutexes)]]
* '''6.3 [[6.3 Memory Management|Memory Management]]'''
** 6.3.1 [[6.3.1 Paging, Segmentation|Paging, Segmentation]]
** 6.3.2 [[6.3.2 Virtual Memory|Virtual Memory]]
** 6.3.3 [[6.3.3 Page Replacement Algorithms|Page Replacement Algorithms]]
* '''6.4 [[6.4 File Systems|File Systems]]'''
** 6.4.1 [[6.4.1 File Organization, Directory Structures|File Organization, Directory Structures]]
** 6.4.2 [[6.4.2 File Allocation Methods|File Allocation Methods]]
* '''6.5 [[6.5 Concurrency & Deadlock|Concurrency & Deadlock]]'''
** 6.5.1 [[6.5.1 Conditions for Deadlock|Conditions for Deadlock]]
** 6.5.2 [[6.5.2 Deadlock Prevention, Avoidance, Detection, Recovery|Deadlock Prevention, Avoidance, Detection, Recovery]]
'''7.0 [[7.0 Images & Graphics|Images & Graphics]]'''
* '''7.1 [[7.1 What is a Digital Image?|What is a Digital Image]]?'''
** 7.1.1 [[7.1.1 Pixels and Resolution|Pixels and Resolution]]
** 7.1.2 [[7.1.2 How Computers See Color (RGB, basic idea)|How Computers See Color (RGB, basic idea)]]
* '''7.2 [[7.2 Image File Formats|Image File Formats]]'''
** 7.2.1 [[7.2.1 JPG (for photos)|JPG (for photos)]]
** 7.2.2 [[7.2.2 PNG (for graphics, transparency)|PNG (for graphics, transparency)]]
** 7.2.3 [[7.2.3 GIF (for simple animations, limited colors)|GIF (for simple animations, limited colors)]]
* '''7.3 [[7.3 Computer Graphics: Making Digital Art|Computer Graphics: Making Digital Art]]'''
** 7.3.1 [[7.3.1 Creating Images (drawing, 3D models - simple concepts)|Creating Images (drawing, 3D models - simple concepts)]]
** 7.3.2 Animation Basics (moving images)
* '''7.4 Image Processing: Changing Pictures'''
** 7.4.1 Basic Edits (brightness, contrast, filters)
** 7.4.2 Why We Process Images (fixing, enhancing, effects)
* '''7.5 Computer Vision: Teaching Computers to See''' (Brief, exciting examples)
** 7.5.1 Facial Recognition
** 7.5.2 Object Detection (self-driving cars, sorting)
'''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  [[7.0 Networking & Internet|Networking & Internet]]'''
* '''9.1 [[7.1 Network Models|Network Models]]'''
** 9.1.1  [[7.1.1 OSI Model (7 Layers)|OSI Model (7 Layers)]]
** 9.1.2  [[7.1.2 TCP/IP Model (4/5 Layers)|TCP/IP Model (4/5 Layers)]]
* '''9.2 [[7.2 Protocols|Protocols]]'''
** 9.2.1  [[7.2.1 HTTP/HTTPS, FTP, SMTP, POP3, IMAP|HTTP/HTTPS, FTP, SMTP, POP3, IMAP]]
** 9.2.2  [[7.2.2 TCP (Reliable, Connection-Oriented)|TCP (Reliable, Connection-Oriented)]]
** 9.2.3  [[7.2.3 UDP (Unreliable, Connectionless)|UDP (Unreliable, Connectionless)]]
** 9.2.4  [[7.2.4 IP (Internet Protocol)|IP (Internet Protocol)]]
** 9.2.5  [[7.2.5 DNS (Domain Name System)|DNS (Domain Name System)]]
* '''9.3 [[7.3 Network Topologies|Network Topologies]]'''
** 9.3.1  [[7.3.1 Bus, Star, Ring, Mesh|Bus, Star, Ring, Mesh]]
* '''9.4 [[7.4 Web Technologies (Basic Overview)|Web Technologies (Basic Overview)]]'''
** 9.4.1  [[7.4.1 HTML, CSS, JavaScript (Client-side)|HTML, CSS, JavaScript (Client-side)]]
** 9.4.2  [https://wiki.omnivision.website/index.php?title=7.4.2_Web_Servers%2C_APIs&wvprov=sticky-header Web Servers, APIs]
'''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  [[9.0 Software Engineering|Software Engineering]]'''
* '''11.1 [[10.1 Software Development Life Cycle (SDLC)|Software Development Life Cycle (SDLC)]]'''
** 11.1.1.  [[10.1.1. Phases (Requirements, Design, Implementation, Testing, Deployment, Maintenance)|Phases (Requirements, Design, Implementation, Testing, Deployment, Maintenance)]]
** 11.1.2  [[9.1.2 Models (Waterfall, Iterative, Spiral)|Models (Waterfall, Iterative, Spiral)]]
* '''11.2 [[9.2 Agile Methodologies|Agile Methodologies]]'''
** 11.2.1  [[9.2.1 Scrum, Kanban|Scrum, Kanban]]
** 11.2.2  [[9.2.2 User Stories, Sprints|User Stories, Sprints]]
* '''11.3 [[9.3 Version Control|Version Control]]'''
** 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)]]
** 11.3.2  [[9.3.2 GitHub/GitLab/Bitbucket (Remote Repositories)|GitHub/GitLab/Bitbucket (Remote Repositories)]]
* '''11.4 [[Software Testing]]'''
** 11.4.1  [[9.4.1 Unit Testing, Integration Testing, System Testing, Acceptance Testing|Unit Testing, Integration Testing, System Testing, Acceptance Testing]]
** 11.4.2  [[9.4.2 Test-Driven Development (TDD)|Test-Driven Development (TDD)]]
* '''11.5 [[9.5 Design Patterns|Design Patterns]]'''
** 11.5.1  [[9.5.1 Creational (Singleton, Factory)|Creational (Singleton, Factory)]]
** 11.5.2  [[9.5.2 Structural (Adapter, Decorator)|Structural (Adapter, Decorator)]]
** 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)]]
'''12.0 [[10.0 Artificial Intelligence (AI) & Machine Learning|Artificial Intelligence (AI) & Machine Learning]]'''
* '''12.1 [[10.1 Introduction to AI|Introduction to AI]]'''
** 12.1.1  [[10.1 Introduction to AI|Strong AI vs. Weak AI]]
** 12.1.2  [[10.1.2 Applications of AI|Applications of AI]]
* '''12.2 [[10.2 Types of Machine Learning|Types of Machine Learning]]'''
** 12.2.1  [[10.2.1 Supervised Learning (Regression, Classification)|Supervised Learning (Regression, Classification)]]
** 12.2.2  [[10.2.2 Unsupervised Learning (Clustering, Dimensionality Reduction)|Unsupervised Learning (Clustering, Dimensionality Reduction)]]
*** 12.2.3  [[10.2.3 Reinforcement Learning|Reinforcement Learning]]
* '''12.3 [[10.3 Common ML Algorithms|Common ML Algorithms]]'''
** 12.3.1  [[10.3.1 Linear Regression, Logistic Regression|Linear Regression, Logistic Regression]]
** 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]
** 12.3.3  [[10.3.3 Support Vector Machines (SVM)|Support Vector Machines (SVM)]]
** 12.3.4  [[10.3.4 K-Means Clustering|K-Means Clustering]]
* '''[[10.4 Neural Networks & Deep Learning (Basic Concepts)]]'''
** 12.4.1  [[10.4.1 Perceptrons, Layers#10.4.1 Perceptrons, Layers|Perceptrons, Layers]]
** 12.4.2  [[10.4.2 Activation Functions|Activation Functions]]
** 12.4.3  [[10.4.3 Backpropagation (High-level)|Backpropagation (High-level)]]
** 12.4.4  [[10.4.4 Convolutional Neural Networks (CNNs)|Convolutional Neural Networks (CNNs)]]
** 12.4.5  [[10.4.5 Recurrent Neural Networks (RNNs)|Recurrent Neural Networks (RNNs)]]
* '''12.5 [[10.5 Natural Language Processing (NLP) / Computer Vision (CV)|Natural Language Processing (NLP) / Computer Vision (CV)]]'''
** 12.5.1  [[10.5.1 Basic tasks and applications|Basic tasks and applications]]
** 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.5.2.1 [[10.5.2.1 Generative Pre-trained Transformers (GPT)|Generative Pre-trained Transformers (GPT)]]
'''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'''


==== 4.1 Data Structures ====
* 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]]


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


* '''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.2  Graphs (Directed, Undirected, Weighted)
** 4.1.2.3  Hash Tables (Hashing Functions, Collision Resolution)
** 4.1.2.4  Heaps (Min-Heap, Max-Heap)





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