Inspiration

The transition from theoretical engineering and computer science to practical application often presents a massive cognitive barrier for students. While studying core subjects like Operating Systems, Data Structures, and Basic Electronics, we realized that understanding an algorithm or a circuit diagram on a static whiteboard is entirely different from seeing it execute in real-time. The inspiration for the NIET Virtual Lab came from a desire to democratize education by bridging this gap. We wanted to create a highly accessible, interactive platform that transforms abstract concepts into visual, hands-on sandboxes where students can safely experiment, debug, and learn by doing.

What it does

NIET Virtual Lab is a comprehensive, interactive web-based educational platform compartmentalized into specialized simulation modules:

  • Operating Systems Engine: Features real-time, interactive simulations of Disk Scheduling algorithms (FCFS, SSTF, SCAN, C-SCAN) and Memory Management techniques (Paging, Segmentation, First/Best/Worst Fit). To provide instant, mathematically verified feedback, it calculates metrics like Total Head Movement (THM) on the fly.
  • Data Structures Visualizer: Provides step-by-step graphical executions of complex structures and sorting algorithms, allowing students to visualize time complexities and memory allocation dynamically.
  • Electrical Lab (Circuit Builder): A robust 2D interactive canvas that allows users to drag and drop components (batteries, resistors, bulbs) with snap-to-grid wire routing. It features a custom DC circuit analysis engine that dynamically builds an adjacency graph of the components, detects series/parallel topologies, and calculates total resistance, current, voltage drops, and power dissipation using Ohm's Law in real-time.

How we built it

We engineered the platform using a decoupled, modular architecture to ensure high fidelity and low latency. The frontend heavily relies on responsive HTML/CSS/JS and EJS templating, while utilizing Konva.js to power the complex 2D interactive canvas for the Electrical Lab. The backend runs on Node.js and Express, handling routing and serving the logic.

Google Gemini Integration Building a system of this complexity within a tight timeframe required advanced tooling. We explicitly utilized Google Gemini as an AI pair programmer and architectural consultant:

  • Algorithmic Optimization: We leveraged Gemini to stress-test the custom DC circuit solver, specifically refining the Breadth-First Search (BFS) traversal logic used to validate circuit closure and detect topologies.
  • Debugging Asynchronous State Management: When UI animations desynced from backend algorithmic steps, Gemini provided crucial insights into managing JavaScript event loops, helping us queue rendering frames without freezing the browser.
  • Pedagogical Content Generation: We used Gemini to draft clear, concise theoretical explanations and tooltips that guide students through the complex mathematical foundations of the simulations.

To accurately reflect algorithmic efficiency in the OS module, we implemented rigorous mathematical models. For example, for $n$ pending disk requests, the THM evaluates: $$THM = \sum_{i=1}^{n} |T_i - T_{i-1}|$$

Challenges we ran into

Building a system-level simulator within a browser presented massive synchronization challenges. The most significant bottleneck was state management during asynchronous visual rendering. Ensuring that the visual representation of a step-by-step traversal of a Data Structure exactly matched the underlying algorithmic logic required rigorous debugging.

Additionally, developing the circuit-solver.js from scratch was mathematically and logically intense. Parsing a visual drag-and-drop canvas into an accurate adjacency graph, accounting for short circuits, open loops, and dynamically calculating resistance across complex parallel branches required multiple iterations and deep dives into graph theory.

Accomplishments that we're proud of

We are incredibly proud of successfully marrying complex backend computational logic with a flawless, interactive frontend. Building the Electrical Lab without relying on heavy, pre-built physics engines is a major triumph. Our custom circuit solver accurately handles live property editing and provides instant visual feedback (like warnings for short circuits) entirely through our own algorithmic implementation.

What we learned

Developing this project was a masterclass in both front-end execution and core engineering fundamentals. Building the simulation logic from scratch forced a much deeper, practical understanding of exactly how graph traversals, OS memory allocation, and DC circuits function under the hood. More importantly, building the Virtual Lab taught us the immense value of user experience in EdTech; an educational tool is only as good as its interface.

What's next for NIET VIRTUAL LAB

Our immediate next steps involve expanding the Electrical Lab to include Alternating Current (AC) circuit simulations and logic gate sandboxes for digital electronics. For the Computer Science modules, we plan to implement advanced CPU scheduling visualizations and deadlock detection algorithms. Ultimately, we aim to integrate user accounts for progress tracking and open-source the platform so educators worldwide can contribute new modules.

Built With

Share this project:

Updates