Back to All Subjects

Computer Fundamentals And Programming Simulations

A collection of interactive 3D visualizations and simulations to help you master concepts in computer fundamentals and programming.

Introduction to Computers - Theory & Concepts

A comprehensive overview of computer hardware, software, number systems, operating systems, history, and architecture.

System Clock Speed

CPU Processing Cycle

CPU
Fetch - Decode - Execute
A faster clock speed means more cycles per second, allowing the CPU to process instructions more quickly.

Programming Basics - Theory & Concepts

A comprehensive guide to programming fundamentals, compilation vs. interpretation, data representation, syntax, variables, data types, operators, and input/output operations.

Variable Assignment

Memory Allocation

Code
let myScore = 10;
Memory Address: 0x00A1
10
Variable Name: "myScore"
When you assign a value to a variable, the computer allocates a space in memory to store that value and associates it with the variable's name.

Algorithm Design and Logic Formulation - Theory & Concepts

A deep dive into algorithms, flowcharts, pseudocode, and structured problem-solving techniques.

Flowchart Execution

Step through the simple algorithm to see how logic flows from start to finish.

Start
Read Temperature (T)
Is T > 30?
Print 'Hot'
End

Control Structures in Programming - Theory & Concepts

A comprehensive guide to conditional statements (if-else, switch), short-circuit evaluation, and looping constructs (for, while, do-while).

For Loop Execution

Console Output:

for (let i = 0; i < 5; i++) {
console.log("Iteration " + i);
}
Initialization
i = undefined
Condition
0 < 5 (true)
Update
i++

Control Structures in Programming - Theory & Concepts - Loop Visualizer

A comprehensive guide to conditional statements (if-else, switch), short-circuit evaluation, and looping constructs (for, while, do-while).

Loop Execution Visualizer

for (int i = 1;
i <= 5;
i++
) {
console.log(i);
}
Output log will appear here...

Functions and Modular Programming - Theory & Concepts

A detailed exploration of functions, variable scope, parameter passing (by value vs. by reference), and recursion.

Function Arguments

Main Program
let c =
calcHypotenuse(3, 4)
Pass Args
Return Val
Function
function calcHypotenuse(a, b) {
return Math.sqrt(a*a + b*b);
}
=> 5.00

Data Structures - Theory & Concepts

A comprehensive overview of organizing and storing data efficiently using Arrays, Linked Lists, Stacks, Queues, Trees, Graphs, and Hash Tables.

Array Operations

Arrays store elements in contiguous memory locations. Notice how elements are accessed via a zero-based index.

Memory Representation (Array)

[0]
10
0x3E8
[1]
20
0x3EC
[2]
30
0x3F0
[3]
null
0x3F4
[4]
null
0x3F8
[5]
null
0x3FC
[6]
null
0x400
[7]
null
0x404
let arr = [10, 20, 30];

File Handling - Theory & Concepts

A comprehensive guide to reading, writing, and managing files, covering text vs. binary formats, serialization, streams, and file permissions.

File Operations

data.txt
CLOSED
Initial data...

Numerical Methods - Theory & Concepts

An introduction to numerical methods for solving engineering problems: root finding, linear systems, integration, ODEs, and error analysis.

Bisection Method

Finding root for f(x)=x24f(x) = x^2 - 4

a = 0.000
b = 4.000
Midpoint c = 2.000
f(c) = 0.000
-1
0
1
2
3
The algorithm repeatedly halves the interval [a, b] and selects the subinterval containing the root.

Numerical Methods - Theory & Concepts - Bisection Method

An introduction to numerical methods for solving engineering problems: root finding, linear systems, integration, ODEs, and error analysis.

Bisection Method

Finding the root of f(x) = x³ - x - 2 = 0

Loading chart...
ControlsIter 0
Interval A (a)
1.0000
Interval B (b)
3.0000

Numerical Methods - Theory & Concepts - Numerical Integration

An introduction to numerical methods for solving engineering problems: root finding, linear systems, integration, ODEs, and error analysis.

Numerical Integration Simulator: f(x) = sin(x) + 2

yx
Actual Area (Analytic):

21.8391

Approximate Area:

13.8453

Absolute Error:

7.99375

Notice how the error decreases as you increase the number of segments ($n$). Simpson's 1/3 rule generally provides a more accurate approximation than the Trapezoidal rule for the same number of segments by using parabolic arcs instead of straight lines.

Software Applications in Engineering - Theory & Concepts

An overview of essential software tools for civil engineers and architects: spreadsheets (Excel), MATLAB, CAD/BIM, and the Software Development Life Cycle (SDLC).

Software Categories

Word Processor - Application Software

Word Processor

Used for creating, editing, formatting, and printing text documents.

Software Applications in Engineering - Theory & Concepts - Spreadsheet

An overview of essential software tools for civil engineers and architects: spreadsheets (Excel), MATLAB, CAD/BIM, and the Software Development Life Cycle (SDLC).

Spreadsheet Logic Simulator

fx=B2 * B3
A
B
1
Parameter
Value
2
Concrete Strength (MPa)
3
Reduction Factor ($\beta$)
4
Design Strength
42.50

Try modifying the values in B2 or B3. The cell B4 automatically updates based on the formula `=B2 * B3`. This reactive calculation engine is why spreadsheets are essential for engineering design trials.

Object-Oriented Programming (OOP) - Theory & Concepts - Object Oriented Programming

An advanced introduction to Object-Oriented Programming principles including the four pillars, abstract classes, interfaces, UML diagrams, and SOLID principles.

The Class (Blueprint)class Car

class Car {
Attributes (State)
color;
model;
speed;
Methods (Behavior)
start() { ... }
accelerate() { ... }
brake() { ... }
}

A class defines the properties and behaviors that all objects of this type will have.

Objects (Instances)

Instance of Car
color:
"Red"
model:
"Sports"
speed:
"120 mph"

Networking Basics - Theory & Concepts

A comprehensive guide to computer networks, the OSI and TCP/IP models, IP addressing, subnetting, hardware, and standard protocols like DNS and HTTP.

Packet Switching

How data travels across a network from source to destination.

Sender (PC)192.168.1.5
Local Router
ISP Router
Internet Backbone
Receiver (Server)203.0.113.10
DATA
Status: Idle
Protocol: TCP/IP

Databases - Theory & Concepts

A comprehensive guide to Database Management Systems, SQL vs. NoSQL paradigms, relational algebra, ACID properties, Normalization (1NF, 2NF, 3NF), and Indexing.

SQL Queries

SQL> SELECT * FROM Employees;

Result Set: Employees Table

IDNameDeptSalary
1AliceHR$55,000
2BobIT$75,000
3CharlieIT$82,000
4DianaSales$60,000
4 row(s) returned

Web Development Basics - Theory & Concepts

An introduction to building websites and applications, covering the Client-Server architecture, HTML/CSS/JavaScript, the DOM, REST APIs, and Authentication.

Web Layers

<!-- Structure -->
<div class="card">
<h2>Welcome</h2>
<button id="btn">Click Me</button>
<p>Clicks: <span id="count">0</span></p>
</div>
localhost:3000

Welcome

Clicks: 0

Cybersecurity Basics - Theory & Concepts

An introduction to the fundamentals of cybersecurity, the CIA Triad, cryptography, hashing, and common web vulnerabilities (OWASP).

Caesar Cipher

A simple substitution cipher that replaces each letter with another letter a fixed number of positions down the alphabet.

Plaintext
S
E
C
R
E
T
Encrypt (Shift +3)
Ciphertext
V
H
F
U
H
W

Cybersecurity Basics - Theory & Concepts - Cryptography

An introduction to the fundamentals of cybersecurity, the CIA Triad, cryptography, hashing, and common web vulnerabilities (OWASP).

Caesar Cipher Simulator

Symmetric Key
Encrypting (+3)
FBEHUVHFXULWB
How it works:The Caesar Cipher is a basic substitution cipher. It replaces each letter in the plaintext with a letter a fixed number of positions down the alphabet. For example, with a shift of 3, 'A' becomes 'D'.