Coursework, assignments and projects developed during my undergraduate studies at the Federal University of Technology, Paraná (UTFPR). Each folder is a self-contained project that used to live in its own repository and carries its own README with build and run instructions.
Binary assets (images, fonts, PDFs, prebuilt binaries, large datasets) are stored with Git LFS. Run git lfs install before cloning to fetch them.
Password-protected access control routine written in ARM7TDMI assembly and simulated on ARMSim#. The user records a passcode through the simulated keypad, then the program validates later attempts, drives the LCD, LEDs and seven-segment display for feedback, and locks out after a maximum number of failed tries.
Arduino sketch that drives an RGB LED strip from an infrared remote. NEC commands from an IR receiver are mapped to fixed colors, fading and gradient animations, and random or pulsing effects, with smooth PWM transitions that stop as soon as a new button is pressed.
Arduino controller for a small indoor grow box. It reads temperature and humidity from a DHT11 sensor onto a 16x2 LCD, lets a potentiometer set a 0 to 24 hour timer shown in binary on five LEDs, keeps a relay on while the timer runs, and beeps a buzzer when it expires.
Terminal Battleship written in C. Six vessel classes of different lengths are placed on a 16x16 board through a text menu, and the current placement can be saved to and loaded from a file.
Business intelligence assignment around Brazilian federal highway speed-camera fines. It defines a transactional PostgreSQL model with Prisma and seeds it with real radar locations and Faker-generated fines, a star-schema data warehouse with date, radar, location and infraction dimensions, four Pentaho Kettle ETL transformations that load the warehouse, and a script that reverse-geocodes radar coordinates through ArcGIS.
Bash script that runs mysqldump once a day and keeps a rolling seven-day window of backups, one subfolder per weekday, deleting the dump from a week earlier on each run.
Java command-line tool, built as a NetBeans project, that connects to a MySQL database over JDBC and exports one table or every table to CSV files with a header row.
Python implementation of the DSATUR heuristic for graph coloring. It reads a graph from a CSV adjacency list, colors it by saturation degree, and writes the coloring together with degree statistics and the number of colors used.
Data structures exercise in Python: a T-shirt stock and sales manager that reads commands from an input file, keeps registered and sold models in memory, and writes a revenue report.
LaTeX source of my undergraduate final paper, "A system based on public cloud virtual desktop infrastructure for education and research". It proposes a virtual desktop infrastructure that lets students and researchers reach cloud-hosted desktops from any browser, replacing hardware procurement with consumption as a service. Written with the abnTeX2 UTFPR class, with Mermaid diagrams generated by a small Node script.
Genetic algorithm that plans a delivery route from a distribution center to health units in Curitiba, using Haversine distances as the fitness measure, plus a fuzzy logic model that scores route risk from remaining fuel and distance. Includes a benchmark that plots convergence against the number of generations.
iOS prototype of iCook, a cooking companion app, made for the Human-Computer Interaction course. Built with Swift, UIKit and storyboards, it walks through registration, a home screen with featured recipes and recipes you can make with what you have, an ingredients tracker, a recipe detail screen with cost and dish-washing estimates, and a profile, all with static sample content.
"Orçamento Oficinas Mecânicas", a 2019 coursework iOS app made with Caique Noboa that connects car repair shops with parts suppliers. Suppliers keep a parts catalog, shops assemble repair budgets from it and email the parts list to suppliers, all on Firebase Auth and Realtime Database. Includes the course report.
Voice-controlled relay on an ESP32 running MicroPython. An I2S microphone feeds a keyword-spotting model that recognises "lumus" to switch the relay on and "nox" to switch it off, with two physical switches to force either state. Includes the training samples, the custom MicroPython firmware and flashing scripts.
Weekly activities from the Digital Image Processing course as MATLAB live scripts, covering pixel indexing, grayscale conversion, filtering, enhancement, morphology, segmentation and edge detection, plus a seminar notebook that trains a convolutional network with Keras.
Student implementation of the PingPongOS educational kernel for the operating systems course. The work fills in the kernel hooks to add a preemptive scheduler with dynamic priorities and task ageing, a timer-driven quantum, and per-task execution accounting, validated against the course's test programs.
Minimal HTTP server built directly on TCP sockets in Python. Each connection is handled in its own thread, routes are registered with a content type, and a SIGINT handler shuts the socket down cleanly.
Reliable transport protocol lab from the computer networks course in C: Alternating Bit Protocol and Go-Back-N sender and receiver logic implemented on top of the Kurose and Ross network emulator, with checksums, timers and a sliding window.
Four assignments from the Distributed Systems course, each exploring a different communication model: UDP multicast and TCP messaging between Java peers, a Java RMI appointment calendar with remote callbacks and message signing, the same calendar rebuilt as a Flask REST API with Server-Sent Events and a Next.js client, and a gRPC note service in Node.js.
Client and server for reconstructing ultrasound images from raw sensor signals. The processing-server is a Swift/Vapor API that queues reconstruction jobs, solves them with the CGNE or CGNR iterative methods using Accelerate BLAS, and records CPU and memory snapshots. The client is a Next.js dashboard that submits signals, follows the queue, and charts the server's performance reports.
"A Night in the Forest", a 2D arcade platformer in C++ with SFML, developed with Wellington Montagnini. The player crosses a forest through day and night phases, avoiding fire, spikes and wolves before facing a boss, with pause menu, save file and ranking. A prebuilt Windows executable is included.
Static front-end exercise with HTML, CSS, Bootstrap and jQuery: a small company landing site with services, testimonials, blog, article and contact pages, plus an admin layout with login, list, create, edit and view screens.