Tarique Mackay

Computer Science & Computer Engineering Student

Passionate about technology, innovation, and solving complex problems

About Me

I'm a final year student at the University of Cape Town, majoring in Computer Science and Computer Engineering. With a passion for learning new technologies and tackling challenging problems, I'm constantly exploring innovative solutions in software development.

Skills

Java
Python
SQL
MIPS Assembly
C#
C++

Projects

Bittorent Filesharing System

Created a bittorent filesharing system. This system allows for peer-to-peer downloading and sharing of files accross a network. File sharing was farther optimised by implimenting multithreading so you can download from multiple distributers (seeders) in a network. Implimented a TUI for a simple and easy to use user interface.

Python Multithreading Networking

Foreground Image Processor

An image processor that is able to seperate the foreground and background of images. This project was built using C++ as it allows for efficent and fast memory management and uses the RAII design pattern to ensure no memory leaks. This project allows a user to specify the size of the desired image and can draw bounding boxes around objects found in the foreground of an image.

C++ Image Generation

Hotel Booking System

Created a hotel booking system with friends. The system is designed to help hotels manage room bookings and is intended to be used by the receptionist as guests checkin and checkout. This project also generates important reports like the occupany level of the hotel over time. It also generates the projected income the hotel is expected to make based on bookings. A receptionist can easily search through bookings and find rooms that are available for guest to book. It also generates an invoice letter automatically.

C# .NET SQL

Audio File Manipulation With Assembly

Using the MIPS Assembly programming language, I made an audio file manipulator. This project is able to extract header information from a .wav file, analyze and display inportant information and is also able to reverse the audio of any .wav file.

Assembly Audio Manipulation

Parallel Processing Abelian Sandpile

This cellular automata project simulates an Abelian Sandpile. It uses multithreading and parrallel processing to optimize performance. This was done using the fork/join framework built into Java.

Java Multithreading Image Generation

UCT Faculty Transfer System

A system that analyzes UCT transcripts to determine eligibility for faculty transfers into the science faculty. These requirements are found from the 2024 UCT Science Faculty handbook.

Java SQL

Taxi App Path Finding System

An intelligent routing system that determines the fastest path from any point on a map to the nearest taxi rank. This was done by implimenting and adding onto dijkstra's algorithm. In the simulation taxi routes are optimised to pick up as many passengers along the way as they can when traveling between locations.

Java Path Finding

Hashmap Optimization

Implemented multithreading techniques to dramatically reduce optimization problem execution time from hours to seconds.

Java Multithreading

Snakes and Ladders Game

A complete game implementation featuring pause menu, music, shop system, player statistics, and user authentication. This game was made from scratch without the use of external java packages.

Java Game Development

Get In Touch

Interested in collaborating or have any questions? I'd love to hear from you!