Main Page: Difference between revisions
Appearance
No edit summary |
No edit summary |
||
Line 166: | Line 166: | ||
**** 7.5.1 Facial Recognition | **** 7.5.1 Facial Recognition | ||
**** 7.5.2 Object Detection (self-driving cars, sorting) | **** 7.5.2 Object Detection (self-driving cars, sorting) | ||
** '''8.0 [[7.0 Networking & Internet|Networking & Internet]]''' | ***'''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]]''' | |||
*** '''8.1 [[7.1 Network Models|Network Models]]''' | *** '''8.1 [[7.1 Network Models|Network Models]]''' | ||
**** 8.1.1 [[7.1.1 OSI Model (7 Layers)|OSI Model (7 Layers)]] | **** 8.1.1 [[7.1.1 OSI Model (7 Layers)|OSI Model (7 Layers)]] | ||
Line 181: | Line 187: | ||
*** 8.4.1 [[7.4.1 HTML, CSS, JavaScript (Client-side)|HTML, CSS, JavaScript (Client-side)]] | *** 8.4.1 [[7.4.1 HTML, CSS, JavaScript (Client-side)|HTML, CSS, JavaScript (Client-side)]] | ||
*** 8.4.2 [https://wiki.omnivision.website/index.php?title=7.4.2_Web_Servers%2C_APIs&wvprov=sticky-header Web Servers, APIs] | *** 8.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''' | ||
*** '''9.1 Database Types''' | *** '''9.1 Database Types''' | ||
**** 9.1.1 Relational Databases (SQL) | **** 9.1.1 Relational Databases (SQL) | ||
Line 199: | Line 205: | ||
*** '''9.5 Database Management Systems (DBMS)''' | *** '''9.5 Database Management Systems (DBMS)''' | ||
**** Examples (MySQL, PostgreSQL, Oracle, SQL Server) IX. Software Engineering | **** Examples (MySQL, PostgreSQL, Oracle, SQL Server) IX. Software Engineering | ||
** ''' | ** '''11.0 [[9.0 Software Engineering|Software Engineering]]''' | ||
*** '''10.1 [[10.1 Software Development Life Cycle (SDLC)|Software Development Life Cycle (SDLC)]]''' | *** '''10.1 [[10.1 Software Development Life Cycle (SDLC)|Software Development Life Cycle (SDLC)]]''' | ||
**** 10.1.1. [[10.1.1. Phases (Requirements, Design, Implementation, Testing, Deployment, Maintenance)|Phases (Requirements, Design, Implementation, Testing, Deployment, Maintenance)]] | **** 10.1.1. [[10.1.1. Phases (Requirements, Design, Implementation, Testing, Deployment, Maintenance)|Phases (Requirements, Design, Implementation, Testing, Deployment, Maintenance)]] | ||
Line 216: | Line 222: | ||
**** 10.5.2 [[9.5.2 Structural (Adapter, Decorator)|Structural (Adapter, Decorator)]] | **** 10.5.2 [[9.5.2 Structural (Adapter, Decorator)|Structural (Adapter, Decorator)]] | ||
**** 10.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)]] | **** 10.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]]''' | ||
*** '''11.1 [[10.1 Introduction to AI|Introduction to AI]]''' | *** '''11.1 [[10.1 Introduction to AI|Introduction to AI]]''' | ||
**** 11.1.1 [[10.1 Introduction to AI|Strong AI vs. Weak AI]] | **** 11.1.1 [[10.1 Introduction to AI|Strong AI vs. Weak AI]] | ||
Line 239: | Line 245: | ||
**** 11.5.2 [https://wiki.omnivision.website/index.php?title=10.5.2_Large_Language_Models_%28LLMs%29&wvprov=sticky-header Large Language Models (LLMs)] | **** 11.5.2 [https://wiki.omnivision.website/index.php?title=10.5.2_Large_Language_Models_%28LLMs%29&wvprov=sticky-header Large Language Models (LLMs)] | ||
***** 11.5.2.1 [[10.5.2.1 Generative Pre-trained Transformers (GPT)|Generative Pre-trained Transformers (GPT)]] | ***** 11.5.2.1 [[10.5.2.1 Generative Pre-trained Transformers (GPT)|Generative Pre-trained Transformers (GPT)]] | ||
** ''' | ** '''13.0 Cybersecurity''' | ||
*** '''12.1 Fundamentals of Security''' | *** '''12.1 Fundamentals of Security''' | ||
**** 12.1.1 Confidentiality, Integrity, Availability (CIA Triad) | **** 12.1.1 Confidentiality, Integrity, Availability (CIA Triad) | ||
Line 259: | Line 265: | ||
**** 12.5.2 SQL Injection | **** 12.5.2 SQL Injection | ||
**** 12.5.3 Cross-Site Request Forgery (CSRF) XII. Theoretical Computer Science | **** 12.5.3 Cross-Site Request Forgery (CSRF) XII. Theoretical Computer Science | ||
** ''' | ** '''14.0 Theoretical Computer Science''' | ||
*** '''13.1 Automata Theory''' | *** '''13.1 Automata Theory''' | ||
**** 13.1.1 Finite Automata (DFAs, NFAs) | **** 13.1.1 Finite Automata (DFAs, NFAs) | ||
Line 271: | Line 277: | ||
**** 13.3.1 Time and Space Complexity (Big O Notation revisited) | **** 13.3.1 Time and Space Complexity (Big O Notation revisited) | ||
**** 13.3.2 P, NP, NP-Complete, NP-Hard XIII. Emerging Topics & Future Trends | **** 13.3.2 P, NP, NP-Complete, NP-Hard XIII. Emerging Topics & Future Trends | ||
** ''' | ** '''15.0 Emerging Topics and Future Trends''' | ||
*** '''14.1 Quantum Computing''' | *** '''14.1 Quantum Computing''' | ||
**** 14.1.1 Basic Principles (Superposition, Entanglement) | **** 14.1.1 Basic Principles (Superposition, Entanglement) |
Revision as of 18:43, 10 July 2025
Table of Contents
Computer Science Knowledge Base
1.0 Introduction to Computer Science
1.1 What is Computer Science?
- 1.1.1 Definition and Scope
- 1.1.2 Problem-Solving - Computational Thinking
- 1.1.3 Interdisciplinary Nature
1.2 History of Computing
- 1.2.1 Early Calculating Devices (Abacus, Pascaline, Leibniz Wheel)
- 1.2.2 Analytical Engine (Babbage & Lovelace)
- 1.2.3 Alan Turing: The Brilliant Mind Who Shaped Our Digital World
- 1.2.4 Early Electronic Computers (ENIAC, UNIVAC)
- 1.2.5 Transistors & Integrated Circuits
- 1.2.6 Personal Computers & the Internet
1.3 Key Figures in Computer Science
1.4 Branches of Computer Science
2.0 Foundational Concepts
2.1 Data Representation
- 2.1.1 Binary Numbers (Bits, Bytes)
- 2.1.2 Number Systems (Decimal, Binary, Octal, Hexadecimal)
- 2.1.3 Character Encoding (ASCII, Unicode, UTF-8)
- 2.1.4 Image, Audio, and Video Representation (Basic)
2.2 Boolean Algebra & Logic Gates
- 2.2.1 AND, OR, NOT, XOR, NAND, NOR gates
- 2.2.2 Truth Tables
- 2.2.3 Boolean Expressions & Simplification
2.3 Algorithms & Pseudocode
- 2.3.1 Definition of an Algorithm
- 2.3.2 Characteristics of Good Algorithms
- 2.3.3 Representing Algorithms (Flowcharts, Pseudocode)
2.4 Computational Thinking
3.0 Programming Fundamentals
3.1 Programming Paradigms
- 3.1.1 Procedural Programming
- 3.1.2 Object-Oriented Programming (OOP) - Basic Concepts
- 3.1.3 Functional Programming (Basic Concepts)
3.2 Data Types & Variables
- 3.2.1 Primitive Data Types (Integers, Floats, Booleans, Characters)
- 3.2.2 Reference Data Types (Strings, Objects)
- 3.2.3 Variable Declaration and Initialization
3.3 Control Structures
- 3.3.1 Conditional Statements (if, else if, else, switch)
- 3.3.2 Looping Constructs (for, while, do-while)
3.4 Functions/Methods
- 3.4.1 Definition and Purpose
- 3.4.2 Parameters and Return Values
- 3.4.3 Scope
3.5 Basic Data Structures
3.6 Error Handling & Debugging
- 3.6.1 Types of Errors (Syntax, Runtime, Logic)
- 3.6.2 Exception Handling (try-catch)
- 3.6.3 Debugging Techniques and Tools
4.0 Data Structures Algorithms (DSA)
4.1 Data Structures
- 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.2 Algorithms
- 4.2.1 Sorting Algorithms:
- 4.2.2 Searching Algorithms:
- 4.2.2.1 Linear Search
- 4.2.2.2 Binary Search
- 4.2.3 Graph Algorithms:
- 4.2.3.1 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 Computer Architecture & Organization
- 5.1 CPU Components
- 5.1.1 Arithmetic Logic Unit (ALU)
- 5.1.2 Control Unit (CU)
- 5.1.3 Registers
- 5.1.4 Instruction Cycle (Fetch, Decode, Execute, Store)
- 5.2 Memory Hierarchy
- 5.2.1 Cache Memory (L1, L2, L3)
- 5.2.2 RAM (Random Access Memory)
- 5.2.3 ROM (Read-Only Memory)
- 5.2.4 Virtual Memory (Basic Concept)
- 5.3 Input/Output Systems
- 5.3.1 I/O Devices and Controllers
- 5.3.2 Polling, Interrupts, DMA
- 5.4 Instruction Sets
- 5.5 Assembly Language (Basic Concepts)
- 5.1 CPU Components
- 6.0 Operating Systems (OS)
- 6.1 Role and Functions of an OS
- 6.1.1 Resource Management, Process Management, Memory Management, File Management
- 6.2 Process Management
- 6.2.1 Processes vs. Threads
- 6.2.2 Process States
- 6.2.3 CPU Scheduling Algorithms (FCFS, SJF, Priority, Round Robin)
- 6.2.4 Inter-Process Communication (IPC)
- 6.2.5 Synchronization (Semaphores, Mutexes)
- 6.3 Memory Management
- 6.3.1 Paging, Segmentation
- 6.3.2 Virtual Memory
- 6.3.3 Page Replacement Algorithms
- 6.4 File Systems
- 6.4.1 File Organization, Directory Structures
- 6.4.2 File Allocation Methods
- 6.5 Concurrency & Deadlock
- 6.5.1 Conditions for Deadlock
- 6.5.2 Deadlock Prevention, Avoidance, Detection, Recovery
- 7.0 Images & Graphics
- 7.1 What is a Digital Image?
- 7.1.1 Pixels and Resolution
- 7.1.2 How Computers See Color (RGB, basic idea)
- 7.2 Image File Formats
- 7.2.1 JPG (for photos)
- 7.2.2 PNG (for graphics, transparency)
- 7.2.3 GIF (for simple animations, limited colors)
- 7.3 Computer Graphics: Making Digital Art
- 7.3.1 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)
- 7.1 What is a Digital Image?
- 9.0 Networking & Internet
- 8.1 Network Models
- 8.1.1 OSI Model (7 Layers)
- 8.1.2 TCP/IP Model (4/5 Layers)
- 8.1 Network Models
- 8.2 Protocols
- 8.3 Network Topologies
- 8.3.1 Bus, Star, Ring, Mesh
- 8.4 Web Technologies (Basic Overview)
- 8.4.1 HTML, CSS, JavaScript (Client-side)
- 8.4.2 Web Servers, APIs
- 10.0 Databases
- 9.1 Database Types
- 9.1.1 Relational Databases (SQL)
- 9.1.2 NoSQL Databases (Key-Value, Document, Column-Family, Graph)
- 9.2 Relational Database Concepts
- 9.2.1 Tables, Rows, Columns
- 9.2.2 Primary Keys, Foreign Keys
- 9.2.3 Relationships (One-to-One, One-to-Many, Many-to-Many)
- 9.3 SQL (Structured Query Language)
- 9.3.1 CRUD Operations (SELECT, INSERT, UPDATE, DELETE)
- 9.3.2 JOINs, Subqueries
- 9.3.3 Data Definition Language (DDL)
- 9.3.4 Data Manipulation Language (DML)
- 9.4 Database Design
- Normalization (1NF, 2NF, 3NF, BCNF)
- Entity-Relationship (ER) Diagrams
- 9.5 Database Management Systems (DBMS)
- Examples (MySQL, PostgreSQL, Oracle, SQL Server) IX. Software Engineering
- 9.1 Database Types
- 11.0 Software Engineering
- 10.1 Software Development Life Cycle (SDLC)
- 10.2 Agile Methodologies
- 10.2.1 Scrum, Kanban
- 10.2.2 User Stories, Sprints
- 10.3 Version Control
- 10.4 Software Testing
- 10.5 Design Patterns
- 12.0 Artificial Intelligence (AI) & Machine Learning
- 11.1 Introduction to AI
- 11.1.1 Strong AI vs. Weak AI
- 11.1.2 Applications of AI
- 11.2 Types of Machine Learning
- 11.3 Common ML Algorithms
- 11.3.1 Linear Regression, Logistic Regression
- 11.3.2 Decision Trees, Random Forests
- 11.3.3 Support Vector Machines (SVM)
- 11.3.4 K-Means Clustering
- 10.4 Neural Networks & Deep Learning (Basic Concepts)
- 11.4.1 Perceptrons, Layers
- 11.4.2 Activation Functions
- 11.4.3 Backpropagation (High-level)
- 11.4.4 Convolutional Neural Networks (CNNs)
- 11.4.5 Recurrent Neural Networks (RNNs)
- 11.5 Natural Language Processing (NLP) / Computer Vision (CV)
- 11.5.1 Basic tasks and applications
- 11.5.2 Large Language Models (LLMs)
- 11.1 Introduction to AI
- 13.0 Cybersecurity
- 12.1 Fundamentals of Security
- 12.1.1 Confidentiality, Integrity, Availability (CIA Triad)
- 12.1.2 Authentication, Authorization, Accounting (AAA)
- 12.2 Common Threats & Attacks
- 12.2.1 Malware (Viruses, Worms, Ransomware)
- 12.2.2 Phishing, Social Engineering
- 12.2.3 Denial of Service (DoS) / Distributed Denial of Service (DDoS)
- 12.2.4 Man-in-the-Middle Attacks
- 12.3 Cryptography
- 12.3.1 Symmetric vs. Asymmetric Encryption
- 12.3.2 Hashing
- 12.3.3 Digital Signatures
- 12.4 Network Security
- 12.4.1 Firewalls, Intrusion Detection/Prevention Systems (IDS/IPS)
- 12.4.2 Virtual Private Networks (VPNs)
- 12.5 Web Security
- 12.5.1 Cross-Site Scripting (XSS)
- 12.5.2 SQL Injection
- 12.5.3 Cross-Site Request Forgery (CSRF) XII. Theoretical Computer Science
- 12.1 Fundamentals of Security
- 14.0 Theoretical Computer Science
- 13.1 Automata Theory
- 13.1.1 Finite Automata (DFAs, NFAs)
- 13.1.2 Regular Expressions
- 13.1.3 Context-Free Grammars & Pushdown Automata
- 13.2 Computability Theory
- 13.2.1 Turing Machines
- 13.2.2 Church-Turing Thesis
- 13.2.3 Halting Problem (Undecidability)
- 13.3 Complexity Theory
- 13.3.1 Time and Space Complexity (Big O Notation revisited)
- 13.3.2 P, NP, NP-Complete, NP-Hard XIII. Emerging Topics & Future Trends
- 13.1 Automata Theory
- 15.0 Emerging Topics and Future Trends
- 14.1 Quantum Computing
- 14.1.1 Basic Principles (Superposition, Entanglement)
- 14.1.2 Qubits, Quantum Gates
- 14.2 Blockchain & Distributed Ledger Technologies
- 14.2.1 Decentralization, Cryptocurrencies
- 14.2.2 Smart Contracts
- 14.3 Cloud Computing
- 14.3.1 IaaS, PaaS, SaaS
- 14.3.2 Public, Private, Hybrid Clouds
- 14.4 Big Data
- 14.41 Volume, Velocity, Variety
- 14.42 Hadoop, Spark (Basic Concepts)
- 14.5 Ethical AI & Societal Impact
- 14.51 Bias in AI, Privacy Concerns
- 14.52 AI Safety and Governance
- 14.1 Quantum Computing
- 6.1 Role and Functions of an OS
Consult the User's Guide for information on using the wiki software.