This web page showcases the projects I have worked on during my time at Georgia State University, along with some personal ones. The projects are arranged based on the year they were originally developed.
Most of the major projects in this page use the MIT License and thus can be modified and distributed provided that the license is kept. Unless specified otherwise, projects without a license implicitly have the MIT License applied to them.
Rain alert is a C++ application for Raspberry Pi that monitors rainfall measurements from a connected sensor and sends daily notifications and error messages to a stored email address through SMTP (Simple Mail Transfer Protocol). Rain Alert makes use of CMake in order to allow the program to be compiled on a variety of different platforms. These platforms are limited to any UNIX or Linux machine. The application was designed for usage on Raspberry Pi Zero, but will run perfectly well on any Raspberry Pi device. The application runs quick and only occupies several megabytes of RAM. Rain Alert can run with a basic text-based UI or a text-based UI based on Newt.
https://github.com/ucarlos/CSC4110-Rain-Alert
SF Music Player is a small music player written in Java for Android devices that combines elements of a file rowser application and audio player. To play audio files, the user must navigate the phone's file system and manually add each audio file into a database. Then, after selecting a track from the database, the user will be able to play the audio file. Audio playback can be paused, resumed, and stopped. Audio playback runs in the background, allowing for audio to be heard while the user is opening other apps or has the phone screen off.
https://github.com/ucarlos/CSC4320-SF-Music-Player
Rsync_Path is a small Python program that acts as a wrapper around rsync , allowing users to select what folders they wish to download from a remote UNIX machine. Rsync_Path provides a threshold limit, preventing a folder that is smaller than the limit from being downloaded. Currently, Rsync_Path requires that the source computer be a UNIX/Linux machine, but I have plans on creating a device-independent method.
https://github.com/ucarlos/rsync-path
Romanjize is a small Python program that converts Japanese audio tags into English using google translator and uses translate-shell in order to Romanize Japanese text into a form that can be displayed in Latin characters. It also allows for audio conversion using ffmpeg. This application came from a desire to enable Non-English music to be displayed properly on cars that could only display ASCII or Latin-1 characters.
This repository contains multiple minor C and C++ programs that I have written in my spare time. Each program can be compiled individually through the use of GCC/G++ or any other compiler. The project can also be built using CMake.
The repository contains programs such as
An Implementation of std::vector
Text-based implementation of Snake
Text-based implementation of Connect Four
Text-based implementation of Tic-Tac-Toe
Chapters 12, Chapter 13, and Chapter 14 contain solutions to various GUI problems presented in Bjarne Stroustrup's Programming Principles Using C++. The FLTK (Fast Light Toolkit) library used a custom connector class which had to be modified to compile on Linux. A Bash script was also written in order to allow for single program compilation on Linux machines.
ElderCare is an Android application that assists the elderly in paying bills, managing medicine events, making shopping lists, and keeping track of fitness. This application was a group effort, where Brandon Harris, Juan Cortes, Muhammad Ali, and I wrote the application over the course of a month.
I developed a virtual agent application that can simulate booking flights and parking. The application was written in JavaScript, HTML/CSS, PHP, and MYSQL and allows the user to book flights and parking lots. I implemented user registration and login/logout capabilities, and the user can purchase airplane tickets and parking locations through a shopping cart system. A MYSQL Controller was written to connect to a MYSQL database in order to populate it with users, shopping carts, flights, and parking lots.
A Sliding Puzzle game I made with JavaScript, HTML and CSS. A random image is selected when the website is run, and the puzzle is randomized depending on the difficulty level. A puzzle solver is also included, which solves the puzzle for you. Additionally, a random audio track plays during the game.
Float-to-IEEE is a small application written in C that enables a floating-point number (In single or double precision) to be separated into its Sign, Exponent and Fractional components. This information is then displayed in a column, along with additional information about the floating-point value. This project came from a desire to automate the process.
https://github.com/ucarlos/Float-to-IEEE (C Version)
https://github.com/ucarlos/Cpp-Float-To-IEEE (C++ Version)
This repository contains solutions to several chapters from Bjarne Stroustrup’s Principles of Programming Using C++ (2014). These solutions were written on a Linux machine, but should work on Windows and macOS since it only uses the standard C++ library.
https://drive.google.com/file/d/1DgHbm89yfFTo9pu92-QiSsz8nA6rCH4e/view?usp=sharing
This project was developed as part of a group (Team ABKU) and uses SQLite, JavaFX and custom XML to create a Java application that manages a car workshop. MCWM provides car workshop managers an clean and simple interface to order car parts, manage repair jobs and calculate monthly expenses.
https://drive.google.com/file/d/1ws-WdguFfL6TSnuh5iWMuSvXoLzOxRaU/view?usp=sharing
Contains all assignments written for the course.
https://drive.google.com/file/d/1limOKUmzQnXt4QEX93wopgwIEoRKtB0t/view?usp=sharing
This repository contains solutions to several chapters from Bjarne Stroustrup’s Principles of Programming Using C++ (2014). These solutions were written on a Linux machine, but should work on Windows and macOS since it only uses the standard C++ library.
https://drive.google.com/file/d/1_6OCdHgo5ea7Vppq701-Cr6iK0HDzHRV/view?usp=sharing
This repository contains all practice and homework problems that I have worked and solved while reading Randall Byrant's Computer Systems: A Programmer's Perspective.
Second Edition
Contains Practice Problems for Chapter 2 (Integer and Floating Point Representation) and Chapter 3 (x86 Assembly)
Third Edition
Contains Chapter 3 (x86-64 Assembly)
https://github.com/ucarlos/ucarlos-computer-systems-solutions
This repository contains all the program solutions that I wrote while reading Stephen Prata’s C Primer Plus in 2017. These programs are the earliest C programs that I have written and contain Chapters 9 - 17 of C Primer Plus. This includes topics such as pointers, C-style string, The C Standard Library, and various data structures implemented in C.
https://github.com/ucarlos/uly-c-primer-plus-solutions
A small DND dice roller program that I made for DND sessions. Written in C.
https://drive.google.com/file/d/1hnpnTJWzPDWBU68GnYKgtKgm2pNfuvXQ/view?usp=sharing
Contains all C program assignments written for the course.
https://drive.google.com/file/d/1-AmXAdtdyZVwXRoq-Rt7uKD6D1Xpcf-s/view?usp=sharing
Calculator.java is a small calculator program made with Java8 and JavaFX that preforms normal arithmetic. This program was one of the first programs I made with JavaFX.
https://drive.google.com/file/d/1R7SPw3up3ATTgILcvInKG_-2Xpp1_MXT/view?usp=sharing
Eight Queens is an implementation of the Eight Queens problem written in Java with some help from Charlie.
https://drive.google.com/file/d/1R7SPw3up3ATTgILcvInKG_-2Xpp1_MXT/view?usp=sharing
Deck Cards is a small card project game written in Java and comes with Java Swing and JavaFX versions.
https://drive.google.com/file/d/1TlOWt2fi9_TyPfkwc9Kuo-a0xiXOni3Y/view?usp=sharing
Contains all assignments written for the course (In Java)
https://drive.google.com/file/d/1yIZebLU2Tgyt0xiRpO9lLB_a42xQzl0L/view?usp=sharing