Nick Jackoski

Computer Science Student

Hello! I am Nick Jackoski, a motivated Computer Science major with a minor in Mathematics from Rhodes College. The current goal is to leverage a comprehensive background in software development, machine learning, web development, and virtual reality. I am eager to contribute my analytical skills and technical knowledge to a dynamic team. I am passionate about utilizing cutting-edge technologies and developing innovative solutions that will strengthen my skills in a challenging environment.

In this project I developed a Naive Bayes classifier for email classification into two categories: spam and ham (non-spam). The project is focused on understanding and implementing the principles of probabilistic classification using Naive Bayes algorithms. The classifier is trained on a dataset of pre-classified emails, learning the distinction between spam and ham based on word frequencies.Since this was a school project I am unable to make it public, if you would like to see the code I can grant you access.

Naive Bayes Email Classifier

Within this program, I implemented the classic strategy game of Nim using Q-learning, a reinforcement learning technique. In Nim, two players alternately remove objects from one of three piles, and the goal is to avoid taking the last object. The project showcases the application of Q-learning to derive optimal strategies for both players in various game configurations. Since this was a school project I am unable to make it public, if you would like to see the code I can grant you access.

Q-Learning Nim Game

This project involves the creation of an AI for playing Connect Four, with the implementation of advanced algorithms such as minimax with alpha-beta pruning, and an added heuristic. The goal is to demonstrate proficiency in algorithm design, game theory, and Java programming. Since this was a school project I am unable to make it public, if you would like to see the code I can grant you access.

Connect Four AI using Minimax and Alpha-Beta Pruning in Java

In the Rhodes Ramble project, I successfully developed a clone of the Yik Yak app, a client-server based social media platform focusing on semi-anonymous communication. This comprehensive project involved creating a detailed protocol for client-server interaction using sockets and threads, enabling real-time messaging and user interactions such as posting, commenting, and voting. I implemented both the client and server-side protocols, ensuring robust and efficient communication. A key aspect of my work included introducing multithreading in the server component to handle multiple simultaneous user connections, showcasing my skills in concurrency and network programming. Since this was a school project I am unable to make it public, if you would like to see the code I can grant you access.

Yik-Yak / Rhodes Ramble

I developed a route-finding application using the A* algorithm, focusing on computing the fastest driving routes in Memphis. The program reads a map file, specifically "memphis-medium.txt," and processes it to establish a network of locations and roads. Users input start and end location IDs, and the program calculates the quickest route between these points based on road speed limits. A crucial aspect of the program is its ability to factor in real-time driving scenarios, such as the option for the user to 'speed' on certain road segments, effectively halving the travel time on those segments. Since this was a school project I am unable to make it public, if you would like to see the code I can grant you access.

A* Algorithm GPS Navigation