Computer Science & Software Engineering
CSSE teaches the basics of coding, engineering, and how computer systems work. It gives students the skills they need to start creating real software and understanding modern technology.
Installing Linux Ubuntu24 Virtual Machine
My Notes ->
๐งฑ Virtual Machines
Virtual machines (VMs) are isolated “fake” computers that run on top of real hardware. Each VM has its own operating system, files, and software, completely separated from the main machine.
This gives developers clean, disposable environments where they can:
๐งช Test risky software
๐ ๏ธ Build and break things safely
๐ Reset systems instantly
If something crashes, the real computer stays untouched.
๐ง Ubuntu (Linux)
Ubuntu is a stable, developer-friendly Linux operating system built for serious work:
๐ฆ Huge package ecosystem
๐ง Predictable, powerful tools
๐ Massive community support
It’s one of the most popular Linux distros because it’s reliable, fast, and perfect for coding, servers, and VMs.
๐ง Why They Work So Well Together
Running Ubuntu inside a virtual machine gives you a clean, professional Linux environment on any computer.
It’s how developers test software, run servers, and build real systems without messing up their main OS.
Python Programing

Describe your image

Describe your image

Describe your image

Describe your image
If you want to see all the code go click the github logo below
๐๐ป Smart Car System (Python + VS Code)
We built a Python-powered Smart Car that runs in the terminal and behaves like a real vehicle’s onboard computer. It boots like an operating system, reacts to conditions, and makes decisions automatically instead of waiting for user input.
๐ Startup / OS Branch
When the car turns on, the program runs a full system startup just like a real vehicle:
-
๐ Security checks
-
โ๏ธ System loading
-
๐ก Status messages
This makes the program feel like a real embedded car OS instead of a basic script.
๐จ๏ธ Weather Branch
The Smart Car constantly checks driving conditions.
If snow is detected:
-
๐ Switches to a safer driving mode
-
๐ฆ Lowers the speed limit
-
โฐ Pushes the alarm earlier so the driver has extra time
The system adapts automatically to keep the driver safe.
โฝ Gasoline Branch
The fuel system monitors the tank in real time:
-
๐ Checks fuel level
-
๐งฎ Calculates miles remaining
-
๐ Decides if a gas stop is required
If fuel is low, it updates the alarm and trip plan so the driver doesn’t run out.
๐ง Smart Decision System
Using Python branching logic and system-style output, the Smart Car doesn’t just display info — it thinks.
It makes real-time decisions the way an actual modern car computer would
Arduino MicroController

Describe your image

Describe your image


Describe your image
๐ต๐ง Music Boy (Arduino + C++)
We built an Arduino-powered MP3 player that functions like a real handheld music device, complete with physical controls, live display feedback, and automatic volume adjustment — all packed into a custom 3D-printed enclosure designed in Onshape.
๐ Playback Control Branch
Music Boy gives the user full control over their music through physical buttons wired directly to the Arduino:
-
โญ๏ธ Skip to the next track
-
โฎ๏ธ Go back to the previous track
-
โฏ๏ธ Toggle play and pause The buttons use cooldown-based debounce logic so every press registers cleanly without accidental double-triggers.
๐บ LCD Display Branch
A 16x2 I2C LCD keeps the user informed in real time:
-
๐ต Shows the current track number
-
๐ Displays live volume level
-
๐ฌ Flashes action messages like ">> Next Track" or "Paused" before returning to track info The display updates automatically based on what the MP3 module reports back.
๐๏ธ Volume Control Branch
A B10K potentiometer handles smooth, analog volume adjustment:
-
๐ Reads a raw value from 0–1023
-
๐ข Scales it to the MP3 module's 0–30 volume range
-
โก Only sends an update when the value actually changes to avoid unnecessary commands
๐ง Smart Feedback System
Using C++ logic and serial communication with the YX5300 MP3 module, Music Boy doesn't just play audio — it listens. It reads responses from the MP3 module, parses track information, and keeps every part of the display in sync automatically, the way a real embedded media system would.
If you want to see all the code go click the github logo
Tello Drones
Tello Drone Hoop Competition (Python)
We programmed a DJI TelloEDU drone in Python to autonomously fly through 3 hoops in a competition setting. The project was organized across 3 Git branches. The main branch held the base template — a UDP socket connection to the drone, a sendmsg() helper function with sleep timing, and a background receive thread to catch drone responses. The test branch was where we learned how the drone actually operates, experimenting with commands like takeoff, land, battery, and basic movement to understand how the drone responds in real space. The comp branch was the finished competition flight: the drone takes off, executes two precision go commands to reach the first two hoops with exact x/y/z coordinates and speed, then flies a pair of curve commands to arc smoothly through the third hoop, spins 180° clockwise, and lands — with battery and temperature checks at the end.
Sphero Bolt Programming
THE MAZE

↑ Start Here
Sphero Bolt Maze Comp
For a Sphero Bolt maze competition, my partner and I programmed a robot to autonomously navigate a physical maze using JavaScript in the Sphero EDU environment. We built a testing branch first to experiment with movement commands and LED matrix animations before writing our final competition code. The program used timed roll commands with specific headings and speeds to move the Bolt through the maze, combined with LED color changes and sound effects at key checkpoints. Our robot was the first to clear every checkpoint and complete the maze.





















