Projects

This web page list all projects that I have worked on during my time at Georgia State University, as well as some personal ones. Projects are organized by the year they were initially written in.

License Information

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.

2020

CSC 4110 Project: Pi Rain Alert

Description

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.

GitHub Link:

https://github.com/ucarlos/CSC4110-Rain-Alert



CSC 4320 Project: SF Music Player

Description

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.

GitHub Link:

https://github.com/ucarlos/CSC4320-SF-Music-Player



Rsync_Path

Description

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.

GitHub Link:

https://github.com/ucarlos/rsync-path


Romanjize

Description

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.

GitHub Link:

https://github.com/ucarlos/Romanjize

C Doodles

Description

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

Github Link:


Programming Principles Using C++ (Chapters 12 - 14)

Description

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.

GitHub Links

2019

CSC 4360: ElderCare

Description

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.

GitHub Link

https://github.com/ucarlos/CSC4360-Project

CSC 4370: PHP E-Commerce

Description

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.

GitHub Link

https://github.com/ucarlos/CSC-4370-PHP-e-commerce

CSC 4370: JavaScript Sliding Puzzle

Description

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.

GitHub Link

https://github.com/ucarlos/CSC-4370-JS-Sliding-Puzzle

Float to IEEE

Description

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.

GitHub Link

https://github.com/ucarlos/Float-to-IEEE (C Version)

https://github.com/ucarlos/Cpp-Float-To-IEEE (C++ Version)

Principles of Practice Using C++ (Chapters 7 - 9)


Description

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.

Source Code Link:

https://drive.google.com/file/d/1DgHbm89yfFTo9pu92-QiSsz8nA6rCH4e/view?usp=sharing

2018

CSC 4350 Project: Mechanical Car Workshop Manager (MCWM)

Description

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.

Source Code Link

https://drive.google.com/file/d/1ws-WdguFfL6TSnuh5iWMuSvXoLzOxRaU/view?usp=sharing

CSC 4520: Design and Analysis of Algorithms

Description

Contains all assignments written for the course.

Source Code Link

https://drive.google.com/file/d/1limOKUmzQnXt4QEX93wopgwIEoRKtB0t/view?usp=sharing

Principles of Practice Using C++ (Chapters 1 - 6)

Description

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.

Source Code Link:

https://drive.google.com/file/d/1_6OCdHgo5ea7Vppq701-Cr6iK0HDzHRV/view?usp=sharing


Computer Systems Solutions

Description

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)

GitHub Link

https://github.com/ucarlos/ucarlos-computer-systems-solutions


2017

C Primer Plus Problems

Description

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.

GitHub Link

https://github.com/ucarlos/uly-c-primer-plus-solutions


DND Dice Roller

Description

A small DND dice roller program that I made for DND sessions. Written in C.

Source Code Link

https://drive.google.com/file/d/1hnpnTJWzPDWBU68GnYKgtKgm2pNfuvXQ/view?usp=sharing

CSC 3320: System-Level Programming

Description

Contains all C program assignments written for the course.

Source Code Link

https://drive.google.com/file/d/1-AmXAdtdyZVwXRoq-Rt7uKD6D1Xpcf-s/view?usp=sharing


2016

JavaFX Calculator

Description

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.

Source Code Link:

https://drive.google.com/file/d/1R7SPw3up3ATTgILcvInKG_-2Xpp1_MXT/view?usp=sharing


Eight Queens

Description

Eight Queens is an implementation of the Eight Queens problem written in Java with some help from Charlie.

Source Code Link:

https://drive.google.com/file/d/1R7SPw3up3ATTgILcvInKG_-2Xpp1_MXT/view?usp=sharing


Deck Cards

Description

Deck Cards is a small card project game written in Java and comes with Java Swing and JavaFX versions.

Source Code Link:

https://drive.google.com/file/d/1TlOWt2fi9_TyPfkwc9Kuo-a0xiXOni3Y/view?usp=sharing


CSC 2720: Data Structure Assignments

Description

Contains all assignments written for the course (In Java)

Source Code Link:

https://drive.google.com/file/d/1yIZebLU2Tgyt0xiRpO9lLB_a42xQzl0L/view?usp=sharing

2015