Displaying 86 out of 86 labs

Filter

Subject
Skill Level
course

ARP Basics

Computer Networking

  • 30 m
  • Beginner
  • 116
Learn what is ARP and how it works in Packet Tracer exercise
course

Boolean Expressions

Digital Electronics

  • 30 m
  • Beginner
  • 147
Learn to create/analyze Boolean expressions for combinational logic circuits using logic gates
course

8085 Coding

Computer Architecture

  • 30 m
  • Beginner
  • 26
Learn to write programs for Intel 8085 processor in Assembly and run it on simulator
course

Construct Basic NFA

Theory of Computation

  • 30 m
  • Beginner
  • 106
Learn to construct a Non Deterministic Finite Automation (NFA) with an alphabet ∑ = {0, 1} that accepts all strings ending with 01
course

DNS Basics with nslookup

Computer Networking

  • 30 m
  • Beginner
  • 31
Learn DNS basics by exploring different types of records (i.e. A, AAAA, CNAME, TXT)
course

Linux System Calls

Operating System

  • 30 m
  • Beginner
  • 223
Explore fundamental concept of system calls (syscalls) in Linux OS with Python code
course

Hub vs Switch vs Router

Computer Networking

  • 30 m
  • Beginner
  • 266
Learn difference between Hub, Switch and Router hands-on
course

Analyze TCP Packets

Computer Networking

  • 30 m
  • Beginner
  • 33
Analyze TCP Packets in Wireshark to understand TCP handshake and stream reconstruction
course

Installation: DNS Server

Computer Networking

  • 30 m
  • Beginner
  • 133
Learn to install and configure a DNS Server on a Linux machine and interact with it using CLI
course

SIMD vs non-SIMD

Computer Architecture

  • 30 m
  • Intermediate
  • 82
Learn to leverage SIMD (Single Instruction, Multiple Data) and compare the performance C++ programs written with non-SIMD and SIMD instructions
course

Xv6: Introduction

Operating System

  • 45 m
  • Beginner
  • 219
Explore and compile xv6 OS (re-implementation of Unix Version 6 of Dennis Ritchie and Ken Thompson)
course

Ambiguity in CFG

Theory of Computation

  • 30 m
  • Beginner
  • 17
Learn to identify and resolve ambiguity in grammars, and gain hands-on experience with parsing methods such as LL(1), LR(0), SLR(1), LR(1), and LALR(1)
course

Banker's Algorithm

Operating System

  • 30 m
  • Beginner
  • 190
Explore Banker's Algorithm with Python code example
course

Bus vs Hybrid Topology

Computer Networking

  • 30 m
  • Beginner
  • 132
Learn and compare Bus and Hybrid networking topology.
course

Cache Memory Basics

Computer Architecture

  • 30 m
  • Beginner
  • 77
Learn Cache memory basics, concept of hits/misses and compare various memory access patterns using Cache simulator code
course

8086 Coding

Computer Architecture

  • 30 m
  • Beginner
  • 44
Learn to write programs for Intel 8086 processor in Assembly and run it on simulator
course

CFG and CNF

Theory of Computation

  • 30 m
  • Beginner
  • 45
Explore context-free grammars (CFG) and Chomsky Normal Form (CNF) using hands-on activity
course

Advanced Queries and Joins

Database

  • 30 m
  • Advance
  • 298
Learn advanced SQL queries and joins with MariaDB server and client
course

NoSQL Basics

Database

  • 30 m
  • Beginner
  • 140
Learn NoSQL basic concepts, commands and queries with MongoDB server and client
course

Mongo Express Basics

Database

  • 30 m
  • Beginner
  • 275
Learn to use Mongo Express web-based admin interface to working with MongoDB database
course

PHPMyAdmin Basics

Database

  • 30 m
  • Beginner
  • 159
Learn how PHPMyAdmin makes it easy to manage and work with SQL databases
course

SQL Basics

Database

  • 30 m
  • Beginner
  • 112
Learn SQL basic concepts, commands and queries with MariaDB server and client
course

SQL Advanced: Normalization

Database

  • 30 m
  • Beginner
  • 228
Learn concept of Normalization with MariaDB server/client and pre-created SQL scripts
course

Decoders

Digital Electronics

  • 30 m
  • Beginner
  • 26
Learn to decipher binary codes, 7-segment display decoders used in communication systems and memory addressing
course

Encoders

Digital Electronics

  • 30 m
  • Beginner
  • 209
Design and implement priority encoder to get practical insights into data compression and representation
course

Multiplexers

Digital Electronics

  • 30 m
  • Beginner
  • 54
Explore Multiplexer principles, types of Multiplexers and implement 2-to-1 and 4-to-1 Multiplexers using logic gates and NAND gates
course

DNS Basics (Packet Tracer)

Computer Networking

  • 30 m
  • Beginner
  • 297
Learn how DNS queries work when a new website is opened on pre-built Packet Tracer setup
course

Docker Basics

Containers

  • 30 m
  • Beginner
  • 304
Learn basic commands and concepts of Docker.
course

Docker Compose Basics

Containers

  • 30 m
  • Beginner
  • 106
Learn basic commands and concepts of Docker Compose.
course

Dockerize Web Application

Containers

  • 30 m
  • Beginner
  • 60
Learn how to package a simple HTML website into a Docker image with Nginx
course

Cyclic Redundancy Check

Computer Networking

  • 30 m
  • Beginner
  • 142
Learn what is cyclic redundancy check (CRC), how it is calculated and calculate it on a simulation
course

Hamming Code

Computer Networking

  • 30 m
  • Beginner
  • 114
Learn what is hamming code, how it is calculated and calculate it on a simulation
course

Explore Pushdown Automata

Theory of Computation

  • 30 m
  • Beginner
  • 177
Explore PDA for recognition of context-free languages e.g. L = { 0^n 1^n | n≥0 }
course

FTP Basics

Computer Networking

  • 30 m
  • Beginner
  • 227
Learn to run a local FTP server and perform basic GET, PUT, LS operation to upload/download files with FTP CLI command
course

Full Subtractor

Digital Electronics

  • 30 m
  • Beginner
  • 40
Explore full subtractor design and implementation by combining two half subtractors
course

Half & Full Adders

Digital Electronics

  • 30 m
  • Beginner
  • 249
Learn to build a half and a full adder using logic gates in an online simulator
course

Half Subtractor

Digital Electronics

  • 30 m
  • Beginner
  • 299
Explore half subtractors design, functionality and limitations in multi-digit arithmetic
course

Hello World (ICP)

Web3

  • 30 m
  • Beginner
  • 101
Learn to write a hello world program on a local setup of Internet Computer Protocol (ICP)
course

Hello World (Solidity)

Web3

  • 30 m
  • Beginner
  • 101
Learn to write and compile "Hello World" program in Solidity for Ethereum Blockchain
course

Hello World (Vyper)

Web3

  • 30 m
  • Beginner
  • 102
Learn to write and compile "Hello World" program in Vyper for Ethereum Blockchain
course

HTTP vs HTTPS

Computer Networking

  • 30 m
  • Beginner
  • 231
Analyze HTTP vs HTTPS packets in Wireshark and observe the difference
course

Discrete Fourier Transform

Digital Signal Processing

  • 30 m
  • Beginner
  • 59
Learn basics of Discrete Fourier Transform (DFT) with Python code examples for signal processing
course

Linux Basic Commands

Operating System

  • 45 m
  • Beginner
  • 250
Learn basic Linux commands and try these hands-on in our Sandbox environment
course

Linux I/O System Calls

Operating System

  • 30 m
  • Beginner
  • 193
Explore UNIX/Linux I/O system calls that allow programs to interact with files/directories with Python example code
course

Linux Network Commands

Computer Networking

  • 30 m
  • Beginner
  • 69
Learn basic network commands for Linux
course

MIMD vs SPMD

Computer Architecture

  • 30 m
  • Beginner
  • 17
Explore difference in MIMD (Multiple Instruction Multiple Data) and SPMD (Single Instruction Multiple Data) with example C++ programs
course

MIPS Pipeline Execution

Computer Architecture

  • 30 m
  • Beginner
  • 180
Explore pipeline execution in MIPS (Microprocessor without Interlocked Pipelined Stages)
course

MongoDB Aggregation

Database

  • 30 m
  • Beginner
  • 86
Explore MongoDB Aggregation Framework to run data aggregation operations
course

Mutexes

Operating System

  • 30 m
  • Beginner
  • 81
Explore fundamental concept of mutexes in OS with Python code
course

Connecting Two PCs

Computer Networking

  • 30 m
  • Beginner
  • 168
Learn basics by connecting two PCs directly and through a network Switch in Cisco Packet Tracer
course

Packet Analysis: DNS, FTP

Computer Networking

  • 30 m
  • Beginner
  • 221
Analyze DNS and FTP Packets using Wireshark to understand how these protocols work
course

Analyze UDP Packets

Computer Networking

  • 30 m
  • Beginner
  • 198
Analyze UDP Packets in Wireshark to understand UDP stream and recover unencrypted media
course

Classful vs Classless Addressing

Computer Networking

  • 30 m
  • Beginner
  • 244
Understand the difference between Classful and Classless Addressing with example setups in Cisco Packet Tracer
course

EIGRP Routing

Computer Networking

  • 45 m
  • Beginner
  • 85
Learn how to configure EIGRP Routing Protocol on two routers
course

Installation: DHCP Server

Computer Networking

  • 30 m
  • Beginner
  • 261
Learn to install and configure a DHCP Server on a Linux machine using CLI
course

Installation: FTP Server

Computer Networking

  • 30 m
  • Beginner
  • 256
Learn to installation/configure a FTP Server on a Linux machine and interact with it using CLI
course

Installation: HTTP Server

Computer Networking

  • 30 m
  • Beginner
  • 50
Learn to install and configure HTTP Server on a Linux machine and interact with it using CLI
course

IP Headers: IPv4 vs IPv6

Computer Networking

  • 30 m
  • Beginner
  • 155
Analyze IPv4 and IPv6 Packet Headers to understand the difference and usage of different fields
course

Protocol Layering (OSI & TCP IP)

Computer Networking

  • 30 m
  • Beginner
  • 32
Understand TCP/IP layering with packet analysis and map OSI layer
course

RIP Routing

Computer Networking

  • 30 m
  • Beginner
  • 273
Learn how to configure RIP Protocol using a pre-built setup in Packet Tracer
course

Packet Analysis: SLAAC

Computer Networking

  • 30 m
  • Beginner
  • 97
Analyze NDP, NA packets in Wireshark to learn more about SLAAC
course

Understanding SLAAC

Computer Networking

  • 30 m
  • Beginner
  • 25
Learn to configure SLAAC in Packet Tracer and understand how it works
course

Static Routing

Computer Networking

  • 30 m
  • Beginner
  • 58
Learn how to configure static routing in a pre-built setup in Packet Tracer
course

Subnetting and Supernetting

Computer Networking

  • 30 m
  • Beginner
  • 104
Learn the difference between Subnetting and Supernetting with examples in Packet Tracer
course

NoSQL Indexing

Database

  • 30 m
  • Beginner
  • 30
Discover MongoDB indexes through queries/scripts and assess their impact on performance
course

Dining Philosophers

Operating System

  • 30 m
  • Beginner
  • 211
Learn what is Dining Philosophers problem and how to implement a solution for it in Python
course

Inter Process Comm

Operating System

  • 30 m
  • Beginner
  • 282
Learn different types IPC i.e. Pipes, Sockets, Shared Memory and Message Queues with C example code and Linux commands
course

Semaphores

Operating System

  • 30 m
  • Beginner
  • 128
Learn concurrency issues with shared resources, Semaphores and Deadlocks with C example code
course

Process API Basics

Operating System

  • 30 m
  • Beginner
  • 131
Learn fundamental concepts related to processes, the Process API, and how shells work
course

Process Scheduling Strategies

Operating System

  • 30 m
  • Beginner
  • 217
Explore different process scheduling algorithms and analyze behavior
course

Turing Machine Program

Theory of Computation

  • 30 m
  • Beginner
  • 92
Understand and run Palindrome validation program on Turing Machine Simulator
course

Ripple Carry Adder

Digital Electronics

  • 30 m
  • Beginner
  • 215
Explore concept and implementation of a Ripple Carry Adder (RCA)
course

Hello World (Solana)

Web3

  • 30 m
  • Beginner
  • 101
Learn to write a Hello World program in Rust and deploy it on local Solana network
course

SQL: DDL, DML, DQL

Database

  • 30 m
  • Beginner
  • 40
Explore Data Definition Language for schema modifications, Data Manipulation Language for data handling, and Data Query Language for effective retrieval
course

SQL Indexes

Database

  • 30 m
  • Beginner
  • 164
Explore SQL Indexes by running queries/scripts on MariaDB and compare performance
course

SQL/PSM Advanced

Database

  • 30 m
  • Beginner
  • 55
Learn concepts of Procedural SQL (SQL/PSM or SQL/Persistent Stored Modules) beyond basic SQL queries
course

SQL/PSM Basics

Database

  • 30 m
  • Beginner
  • 77
Explore fundamental concepts of Procedural SQL (SQL/PSM or SQL/Persistent Stored Modules) with MariaDB in iPython notebook
course

SSH and Telnet

Computer Networking

  • 30 m
  • Beginner
  • 25
Learn to run a local SSH/Telnet server, interact with SSH and Telnet using CLI commands and observe the difference
course

Star vs Mesh Topology

Computer Networking

  • 30 m
  • Beginner
  • 24
Learn and compare Star and Mesh networking topology.
course

TFTP Basics

Computer Networking

  • 30 m
  • Beginner
  • 118
Explore the Trivial File Transfer Protocol (TFTP) basics operations with Docker
course

Threads

Operating System

  • 30 m
  • Beginner
  • 267
Explore fundamental concept of threads in OS with Python code
course

Construct Basic DFA

Theory of Computation

  • 30 m
  • Beginner
  • 22
Learn to construct a Deterministic Finite Automation (DFA) that accepts sets of all strings over {0,1} of length 2
course

Transform RE to DFA

Theory of Computation

  • 30 m
  • Beginner
  • 3
Explore RE (regular expression) to DFA (Deterministic Finite Automata) transformation hands-on
course

Transform RE to NFA

Theory of Computation

  • 30 m
  • Beginner
  • 179
Explore RE (regular expression) to NFA (Nondeterministic Finite Automata) transformation hands-on
course

Xv6: Add new Syscall

Operating System

  • 45 m
  • Advance
  • 258
Learn to add a new System Call (Syscall) to the Xv6 Kernel and call it from user space program
course

Xv6: Code Userspace Program

Operating System

  • 45 m
  • Beginner
  • 123
Write an userspace program for Xv6, compile and run it