Main Page: Difference between revisions
Appearance
Line 90: | Line 90: | ||
** 4.1.2.3 Hash Tables (Hashing Functions, Collision Resolution) | ** 4.1.2.3 Hash Tables (Hashing Functions, Collision Resolution) | ||
** 4.1.2.4 Heaps (Min-Heap, Max-Heap) | ** 4.1.2.4 Heaps (Min-Heap, Max-Heap) | ||
* '''4.2 Algorithms''' | |||
** '''Sorting Algorithms:''' | |||
*** Bubble Sort, Selection Sort, Insertion Sort | |||
*** Merge Sort, Quick Sort (Divide and Conquer) | |||
*** Heap Sort, Radix Sort | |||
** '''Searching Algorithms:''' | |||
*** Linear Search | |||
*** Binary Search | |||
** '''Graph Algorithms:''' | |||
*** Breadth-First Search (BFS) | |||
*** Depth-First Search (DFS) | |||
*** Dijkstra's Algorithm (Shortest Path) | |||
*** Minimum Spanning Trees (Prim's, Kruskal's) | |||
** '''Dynamic Programming:''' | |||
*** Memoization, Tabulation | |||
*** Common DP Problems (Fibonacci, Knapsack) | |||
** '''Recursion:''' | |||
*** Base Cases, Recursive Steps | |||
*** Tail Recursion | |||
** '''Greedy Algorithms''' | |||
* V. Computer Architecture & Organization | |||
** '''5.1 CPU Components''' | |||
*** Arithmetic Logic Unit (ALU) | |||
*** Control Unit (CU) | |||
*** Registers | |||
*** Instruction Cycle (Fetch, Decode, Execute, Store) | |||
** '''5.2 Memory Hierarchy''' | |||
*** Cache Memory (L1, L2, L3) | |||
*** RAM (Random Access Memory) | |||
*** ROM (Read-Only Memory) | |||
*** Virtual Memory (Basic Concept) | |||
** '''5.3 Input/Output Systems''' | |||
*** I/O Devices and Controllers | |||
*** Polling, Interrupts, DMA | |||
** '''5.4 Instruction Sets''' | |||
*** RISC vs. CISC | |||
** '''5.5 Assembly Language (Basic Concepts)'''VI. Operating Systems (OS) | |||
** '''6.1 Role and Functions of an OS''' | |||
*** Resource Management, Process Management, Memory Management, File Management | |||
** '''6.2 Process Management''' | |||
*** Processes vs. Threads | |||
*** Process States | |||
*** CPU Scheduling Algorithms (FCFS, SJF, Priority, Round Robin) | |||
*** Inter-Process Communication (IPC) | |||
*** Synchronization (Semaphores, Mutexes) | |||
** '''6.3 Memory Management''' | |||
*** Paging, Segmentation | |||
*** Virtual Memory | |||
*** Page Replacement Algorithms | |||
** '''6.4 File Systems''' | |||
*** File Organization, Directory Structures | |||
*** File Allocation Methods | |||
** '''6.5 Concurrency & Deadlock''' | |||
*** Conditions for Deadlock | |||
*** Deadlock Prevention, Avoidance, Detection, Recovery VII. Networking & Internet | |||
** '''7.1 Network Models''' | |||
*** OSI Model (7 Layers) | |||
*** TCP/IP Model (4/5 Layers) | |||
** '''7.2 Protocols''' | |||
*** HTTP/HTTPS, FTP, SMTP, POP3, IMAP | |||
*** TCP (Reliable, Connection-Oriented) | |||
*** UDP (Unreliable, Connectionless) | |||
*** IP (Internet Protocol) | |||
*** DNS (Domain Name System) | |||
** '''7.3 Network Topologies''' | |||
*** Bus, Star, Ring, Mesh | |||
** '''7.4 Web Technologies (Basic Overview)''' | |||
*** HTML, CSS, JavaScript (Client-side) | |||
*** Web Servers, APIs VIII. Databases | |||
** '''8.1 Database Types''' | |||
*** Relational Databases (SQL) | |||
*** NoSQL Databases (Key-Value, Document, Column-Family, Graph) | |||
** '''8.2 Relational Database Concepts''' | |||
*** Tables, Rows, Columns | |||
*** Primary Keys, Foreign Keys | |||
*** Relationships (One-to-One, One-to-Many, Many-to-Many) | |||
** '''8.3 SQL (Structured Query Language)''' | |||
*** CRUD Operations (SELECT, INSERT, UPDATE, DELETE) | |||
*** JOINs, Subqueries | |||
*** Data Definition Language (DDL) | |||
*** Data Manipulation Language (DML) | |||
** '''8.4 Database Design''' | |||
*** Normalization (1NF, 2NF, 3NF, BCNF) | |||
*** Entity-Relationship (ER) Diagrams | |||
** '''8.5 Database Management Systems (DBMS)''' | |||
*** Examples (MySQL, PostgreSQL, Oracle, SQL Server) IX. Software Engineering | |||
** '''9.1 Software Development Life Cycle (SDLC)''' | |||
*** Phases (Requirements, Design, Implementation, Testing, Deployment, Maintenance) | |||
*** Models (Waterfall, Iterative, Spiral) | |||
** '''9.2 Agile Methodologies''' | |||
*** Scrum, Kanban | |||
*** User Stories, Sprints | |||
** '''9.3 Version Control''' | |||
*** Git (Basic Commands: clone, add, commit, push, pull, branch, merge) | |||
*** GitHub/GitLab/Bitbucket (Remote Repositories) | |||
** '''9.4 Software Testing''' | |||
*** Unit Testing, Integration Testing, System Testing, Acceptance Testing | |||
*** Test-Driven Development (TDD) | |||
** '''9.5 Design Patterns''' | |||
*** Creational (Singleton, Factory) | |||
*** Structural (Adapter, Decorator) | |||
*** Behavioral (Observer, Strategy) X. Artificial Intelligence (AI) & Machine Learning (ML) | |||
** '''10.1 Introduction to AI''' | |||
*** Strong AI vs. Weak AI | |||
*** Applications of AI | |||
** '''10.2 Types of Machine Learning''' | |||
*** Supervised Learning (Regression, Classification) | |||
*** Unsupervised Learning (Clustering, Dimensionality Reduction) | |||
*** Reinforcement Learning | |||
** '''10.3 Common ML Algorithms''' | |||
*** Linear Regression, Logistic Regression | |||
*** Decision Trees, Random Forests | |||
*** Support Vector Machines (SVM) | |||
*** K-Means Clustering | |||
** '''10.4 Neural Networks & Deep Learning (Basic Concepts)''' | |||
*** Perceptrons, Layers | |||
*** Activation Functions | |||
*** Backpropagation (High-level) | |||
*** Convolutional Neural Networks (CNNs) | |||
*** Recurrent Neural Networks (RNNs) | |||
** '''10.5 Natural Language Processing (NLP) / Computer Vision (CV)''' | |||
*** Basic tasks and applications XI. Cybersecurity | |||
** '''11.1 Fundamentals of Security''' | |||
*** Confidentiality, Integrity, Availability (CIA Triad) | |||
*** Authentication, Authorization, Accounting (AAA) | |||
** '''11.2 Common Threats & Attacks''' | |||
*** Malware (Viruses, Worms, Ransomware) | |||
*** Phishing, Social Engineering | |||
*** Denial of Service (DoS) / Distributed Denial of Service (DDoS) | |||
*** Man-in-the-Middle Attacks | |||
** '''11.3 Cryptography''' | |||
*** Symmetric vs. Asymmetric Encryption | |||
*** Hashing | |||
*** Digital Signatures | |||
** '''11.4 Network Security''' | |||
*** Firewalls, Intrusion Detection/Prevention Systems (IDS/IPS) | |||
*** Virtual Private Networks (VPNs) | |||
** '''11.5 Web Security''' | |||
*** Cross-Site Scripting (XSS) | |||
*** SQL Injection | |||
*** Cross-Site Request Forgery (CSRF) XII. Theoretical Computer Science | |||
** '''12.1 Automata Theory''' | |||
*** Finite Automata (DFAs, NFAs) | |||
*** Regular Expressions | |||
*** Context-Free Grammars & Pushdown Automata | |||
** '''12.2 Computability Theory''' | |||
*** Turing Machines | |||
*** Church-Turing Thesis | |||
*** Halting Problem (Undecidability) | |||
** '''12.3 Complexity Theory''' | |||
*** Time and Space Complexity (Big O Notation revisited) | |||
*** P, NP, NP-Complete, NP-Hard XIII. Emerging Topics & Future Trends | |||
** '''13.1 Quantum Computing''' | |||
*** Basic Principles (Superposition, Entanglement) | |||
*** Qubits, Quantum Gates | |||
** '''13.2 Blockchain & Distributed Ledger Technologies''' | |||
*** Decentralization, Cryptocurrencies | |||
*** Smart Contracts | |||
** '''13.3 Cloud Computing''' | |||
*** IaaS, PaaS, SaaS | |||
*** Public, Private, Hybrid Clouds | |||
** '''13.4 Big Data''' | |||
*** Volume, Velocity, Variety | |||
*** Hadoop, Spark (Basic Concepts) | |||
** '''13.5 Ethical AI & Societal Impact''' | |||
*** Bias in AI, Privacy Concerns | |||
*** AI Safety and Governance | |||
Revision as of 13:54, 7 July 2025
Table of Contents
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
- 2.4.1 Decomposition
- 2.4.2 Pattern Recognition
- 2.4.3 Abstraction
- 2.4.4 Algorithms
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.5.1 Arrays (One-dimensional, Multi-dimensional)
- 3.5.2 Strings (Manipulation, Common Operations)
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.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)
- 4.2 Algorithms
- Sorting Algorithms:
- Bubble Sort, Selection Sort, Insertion Sort
- Merge Sort, Quick Sort (Divide and Conquer)
- Heap Sort, Radix Sort
- Searching Algorithms:
- Linear Search
- Binary Search
- Graph Algorithms:
- Breadth-First Search (BFS)
- Depth-First Search (DFS)
- Dijkstra's Algorithm (Shortest Path)
- Minimum Spanning Trees (Prim's, Kruskal's)
- Dynamic Programming:
- Memoization, Tabulation
- Common DP Problems (Fibonacci, Knapsack)
- Recursion:
- Base Cases, Recursive Steps
- Tail Recursion
- Greedy Algorithms
- Sorting Algorithms:
- V. Computer Architecture & Organization
- 5.1 CPU Components
- Arithmetic Logic Unit (ALU)
- Control Unit (CU)
- Registers
- Instruction Cycle (Fetch, Decode, Execute, Store)
- 5.2 Memory Hierarchy
- Cache Memory (L1, L2, L3)
- RAM (Random Access Memory)
- ROM (Read-Only Memory)
- Virtual Memory (Basic Concept)
- 5.3 Input/Output Systems
- I/O Devices and Controllers
- Polling, Interrupts, DMA
- 5.4 Instruction Sets
- RISC vs. CISC
- 5.5 Assembly Language (Basic Concepts)VI. Operating Systems (OS)
- 6.1 Role and Functions of an OS
- Resource Management, Process Management, Memory Management, File Management
- 6.2 Process Management
- Processes vs. Threads
- Process States
- CPU Scheduling Algorithms (FCFS, SJF, Priority, Round Robin)
- Inter-Process Communication (IPC)
- Synchronization (Semaphores, Mutexes)
- 6.3 Memory Management
- Paging, Segmentation
- Virtual Memory
- Page Replacement Algorithms
- 6.4 File Systems
- File Organization, Directory Structures
- File Allocation Methods
- 6.5 Concurrency & Deadlock
- Conditions for Deadlock
- Deadlock Prevention, Avoidance, Detection, Recovery VII. Networking & Internet
- 7.1 Network Models
- OSI Model (7 Layers)
- TCP/IP Model (4/5 Layers)
- 7.2 Protocols
- HTTP/HTTPS, FTP, SMTP, POP3, IMAP
- TCP (Reliable, Connection-Oriented)
- UDP (Unreliable, Connectionless)
- IP (Internet Protocol)
- DNS (Domain Name System)
- 7.3 Network Topologies
- Bus, Star, Ring, Mesh
- 7.4 Web Technologies (Basic Overview)
- HTML, CSS, JavaScript (Client-side)
- Web Servers, APIs VIII. Databases
- 8.1 Database Types
- Relational Databases (SQL)
- NoSQL Databases (Key-Value, Document, Column-Family, Graph)
- 8.2 Relational Database Concepts
- Tables, Rows, Columns
- Primary Keys, Foreign Keys
- Relationships (One-to-One, One-to-Many, Many-to-Many)
- 8.3 SQL (Structured Query Language)
- CRUD Operations (SELECT, INSERT, UPDATE, DELETE)
- JOINs, Subqueries
- Data Definition Language (DDL)
- Data Manipulation Language (DML)
- 8.4 Database Design
- Normalization (1NF, 2NF, 3NF, BCNF)
- Entity-Relationship (ER) Diagrams
- 8.5 Database Management Systems (DBMS)
- Examples (MySQL, PostgreSQL, Oracle, SQL Server) IX. Software Engineering
- 9.1 Software Development Life Cycle (SDLC)
- Phases (Requirements, Design, Implementation, Testing, Deployment, Maintenance)
- Models (Waterfall, Iterative, Spiral)
- 9.2 Agile Methodologies
- Scrum, Kanban
- User Stories, Sprints
- 9.3 Version Control
- Git (Basic Commands: clone, add, commit, push, pull, branch, merge)
- GitHub/GitLab/Bitbucket (Remote Repositories)
- 9.4 Software Testing
- Unit Testing, Integration Testing, System Testing, Acceptance Testing
- Test-Driven Development (TDD)
- 9.5 Design Patterns
- Creational (Singleton, Factory)
- Structural (Adapter, Decorator)
- Behavioral (Observer, Strategy) X. Artificial Intelligence (AI) & Machine Learning (ML)
- 10.1 Introduction to AI
- Strong AI vs. Weak AI
- Applications of AI
- 10.2 Types of Machine Learning
- Supervised Learning (Regression, Classification)
- Unsupervised Learning (Clustering, Dimensionality Reduction)
- Reinforcement Learning
- 10.3 Common ML Algorithms
- Linear Regression, Logistic Regression
- Decision Trees, Random Forests
- Support Vector Machines (SVM)
- K-Means Clustering
- 10.4 Neural Networks & Deep Learning (Basic Concepts)
- Perceptrons, Layers
- Activation Functions
- Backpropagation (High-level)
- Convolutional Neural Networks (CNNs)
- Recurrent Neural Networks (RNNs)
- 10.5 Natural Language Processing (NLP) / Computer Vision (CV)
- Basic tasks and applications XI. Cybersecurity
- 11.1 Fundamentals of Security
- Confidentiality, Integrity, Availability (CIA Triad)
- Authentication, Authorization, Accounting (AAA)
- 11.2 Common Threats & Attacks
- Malware (Viruses, Worms, Ransomware)
- Phishing, Social Engineering
- Denial of Service (DoS) / Distributed Denial of Service (DDoS)
- Man-in-the-Middle Attacks
- 11.3 Cryptography
- Symmetric vs. Asymmetric Encryption
- Hashing
- Digital Signatures
- 11.4 Network Security
- Firewalls, Intrusion Detection/Prevention Systems (IDS/IPS)
- Virtual Private Networks (VPNs)
- 11.5 Web Security
- Cross-Site Scripting (XSS)
- SQL Injection
- Cross-Site Request Forgery (CSRF) XII. Theoretical Computer Science
- 12.1 Automata Theory
- Finite Automata (DFAs, NFAs)
- Regular Expressions
- Context-Free Grammars & Pushdown Automata
- 12.2 Computability Theory
- Turing Machines
- Church-Turing Thesis
- Halting Problem (Undecidability)
- 12.3 Complexity Theory
- Time and Space Complexity (Big O Notation revisited)
- P, NP, NP-Complete, NP-Hard XIII. Emerging Topics & Future Trends
- 13.1 Quantum Computing
- Basic Principles (Superposition, Entanglement)
- Qubits, Quantum Gates
- 13.2 Blockchain & Distributed Ledger Technologies
- Decentralization, Cryptocurrencies
- Smart Contracts
- 13.3 Cloud Computing
- IaaS, PaaS, SaaS
- Public, Private, Hybrid Clouds
- 13.4 Big Data
- Volume, Velocity, Variety
- Hadoop, Spark (Basic Concepts)
- 13.5 Ethical AI & Societal Impact
- Bias in AI, Privacy Concerns
- AI Safety and Governance
- 5.1 CPU Components
Consult the User's Guide for information on using the wiki software.