Jump to content

Main Page: Difference between revisions

From Computer Science Knowledge Base
No edit summary
No edit summary
Line 1: Line 1:
<strong>Table of Contents</strong>
<strong>Table of Contents</strong>
== 1. Introduction to Computer Science ==
== 1.0 Introduction to Computer Science ==


=== 1.1 What is Computer Science? ===
=== 1.1 What is Computer Science? ===


* 1.11 Definition and Scope  
* 1.1.1 Definition and Scope
* 1.12 Problem-Solving Focus  
* 1.1.2 Problem-Solving Focus
* 1.13 Interdisciplinary Nature  
* 1.1.3 Interdisciplinary Nature


=== 1.2 History of Computing ===
=== 1.2 History of Computing ===
* 1.21 Early Calculating Devices (Abacus, Pascaline, Leibniz Wheel)
* 1.2.1 Early Calculating Devices (Abacus, Pascaline, Leibniz Wheel)
* 1.22 Analytical Engine (Babbage & Lovelace)
* 1.2.2 Analytical Engine (Babbage & Lovelace)
* 1.23 Early Electronic Computers (ENIAC, UNIVAC)
* 1.2.3 Early Electronic Computers (ENIAC, UNIVAC)
* 1.24 Transistors & Integrated Circuits
* 1.2.4 Transistors & Integrated Circuits
* 1.25 Personal Computers & the Internet
* 1.2.5 Personal Computers & the Internet


=== 1.3 Key Figures in Computer Science ===
=== 1.3 Key Figures in Computer Science ===
* 1.31 Ada Lovelace, Alan Turing, Grace Hopper, Dennis Ritchie, Linus Torvalds, etc.
* 1.3.1 Ada Lovelace, Alan Turing, Grace Hopper, Dennis Ritchie, Linus Torvalds, etc.


=== 1.4 Branches of Computer Science ===
=== 1.4 Branches of Computer Science ===
* 1.41 Theoretical CS, Algorithms, Data Structures, AI, ML, Cybersecurity, Networking, etc.
* 1.4.1 Theoretical CS, Algorithms, Data Structures, AI, ML, Cybersecurity, Networking, etc.


== 2. Foundational Concepts ==  
== 2.0 Foundational Concepts ==  
=== 2.1 Data Representation ===
=== 2.1 Data Representation ===
* 2.11 Binary Numbers (Bits, Bytes)
* 2.1.1 Binary Numbers (Bits, Bytes)
* 2.12 Number Systems (Decimal, Binary, Octal, Hexadecimal)
* 2.1.2 Number Systems (Decimal, Binary, Octal, Hexadecimal)
* 2.13 Character Encoding (ASCII, Unicode, UTF-8)
* 2.1.3 Character Encoding (ASCII, Unicode, UTF-8)
* 2.14 Image, Audio, and Video Representation (Basic)
* 2.1.4 Image, Audio, and Video Representation (Basic)
=== 2.2 Boolean Algebra & Logic Gates ===
=== 2.2 Boolean Algebra & Logic Gates ===
* AND, OR, NOT, XOR, NAND, NOR gates
* 2.2.1 AND, OR, NOT, XOR, NAND, NOR gates
* Truth Tables
* 2.2.2 Truth Tables
* Boolean Expressions & Simplification
* 2.2.3 Boolean Expressions & Simplification
=== 2.3 Algorithms & Pseudocode ===
=== 2.3 Algorithms & Pseudocode ===
* 2.31 Definition of an Algorithm
* 2.3.1 Definition of an Algorithm
* 2.32 Characteristics of Good Algorithms
* 2.3.2 Characteristics of Good Algorithms
* 2.33 Representing Algorithms (Flowcharts, Pseudocode)
* 2.3.3 Representing Algorithms (Flowcharts, Pseudocode)
=== 2.4 Computational Thinking ===
=== 2.4 Computational Thinking ===
* 2.41 Decomposition, Pattern Recognition, Abstraction, Algorithms
* 2.4.1 Decomposition, Pattern Recognition, Abstraction, Algorithms
== 3. Programming Fundamentals ==
== 3.0 Programming Fundamentals ==
=== 3.1 Programming Paradigms ===
=== 3.1 Programming Paradigms ===
* 3.11 Procedural Programming
* 3.1.1 Procedural Programming
* 3.12 Object-Oriented Programming (OOP) - Basic Concepts
* 3.1.2 Object-Oriented Programming (OOP) - Basic Concepts
* 3.13 Functional Programming (Basic Concepts)
* 3.1.3 Functional Programming (Basic Concepts)
=== 3.2 Data Types & Variables ===
=== 3.2 Data Types & Variables ===
* 3.21 Primitive Data Types (Integers, Floats, Booleans, Characters)
* 3.2.1 Primitive Data Types (Integers, Floats, Booleans, Characters)
* 3.22 Reference Data Types (Strings, Objects)
* 3.2.2 Reference Data Types (Strings, Objects)
* 3.23 Variable Declaration and Initialization
* 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)





Revision as of 05:04, 5 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 Focus
  • 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 Early Electronic Computers (ENIAC, UNIVAC)
  • 1.2.4 Transistors & Integrated Circuits
  • 1.2.5 Personal Computers & the Internet

1.3 Key Figures in Computer Science

  • 1.3.1 Ada Lovelace, Alan Turing, Grace Hopper, Dennis Ritchie, Linus Torvalds, etc.

1.4 Branches of Computer Science

  • 1.4.1 Theoretical CS, Algorithms, Data Structures, AI, ML, Cybersecurity, Networking, etc.

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, Pattern Recognition, Abstraction, 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)






Consult the User's Guide for information on using the wiki software.

Getting started