Hi, my name is

Andrew Lukashchuk

Student at the University of Pennsylvania

I'm an accelerated master's student at the University of Pennsylvania studying computer science and artificial intelligence with a full scholarship through the Mayor's Scholars Program. I am involved in many parts of campus, including new student orientation, Greek life, and athletics.

Philadelphia Skyline

Growing up, I was always interested in computers and enjoyed playing around with them. I received my first device at the age of 10, and it was a Kindle Fire tablet. This kickstarted my interest in messing around with technology, and I began to change various aspects of it by installing a custom bootloader and custom ROMs.

This interest in technology continued to grow, and I ended up building a gaming computer when I was 14. Doing research on the various parts and their purpose within the machine made me much more interested in the topic of computers. It drove me to desire to create my own software and computer programs, which led me to learn Java independently in high school. This newfound knowledge allowed me to create my first mobile application as a sophomore in high school, which I was able to publish to the Google Play Store and monetize through advertisements. After watching this application quickly grow in downloads and gain positive reviews, my interest in the field of computer science would only continue to grow.

As I entered college, I decided to pursue a degree in computer science because of this great interest in the field. I have had the pleasure of learning about many different topics in the field, including the theoretical and practical aspects of computer science. I have been able to delve deeper into specific topics such as databases, algorithms, data structures, and data science in my coursework. Throughout my courses, I have worked on various projects which have strengthened my skills and knowledge in the field. Yet, there remains so much to learn and explore, which is the beauty of the field. I am excited to continue to learn and grow in the field of computer science and to see where it takes me.

Projects

BillSplitter

October 2024 - Present

Currently in the process of developing an application that allows users to input a receipt from a group order and split the bill between their contacts based on the purchases of the users. The application will aim to prioritize usability and simplicity based on the design principles of human-computer interaction. The application will be developed in a group of 3 students using React and integration with AI models to recognize text from images of receipts.


PennCloud

September 2024 - Present

Currently in the process of developing a cloud storage system that allows users to upload, download, and store files in the cloud. The system will be developed in a group of 4 students from scratch using C++ and HTML/CSS/JavaScript for the front-end. So far, a complementary mail server and chatroom server have been implemented in C++ which will be part of the PennCloud interface. The mail server uses SMTP and POP3 protocols to send and receive emails, and the chatroom server allows for multiple servers and uses multicast to send messages to all users in the chatroom with unordered multicast, FIFO multicast, and total order multicast all developed.


RISC-V Implementation

February 2024 - May 2024

Developed a RISC-V implementation with one other student using the SystemVerilog language. The implementation includes a 5-stage pipeline, branch prediction, and integration with memory. The project was developed using a Docker container and tested using a suite of RISC-V assembly programs to ensure correctness and performance. The implementation was able to effectively balance a multi-cycle datapath and pipelining to achieve high performance.


DestiMate

September 2023 - December 2023

With a group of 4 students, we implemented a web application using a MySQL database and React that allows users to input their travel preferences, including any budget constraints and temperature preferences. Given these preferences, the web application generates appropriate trip itineraries for the user, including flights and lodging, allowing the user to add the optimal ones to their user cart.


PennOS

September 2023 - December 2023

A fully-fledged operating system created in the C programming language. Contains different components including a shell, a file system, and a system scheduler. The system scheduler was implemented using a round robin scheduling algorithm. The various components were integrated into one final, fully operational operating system created in a group of 4 students.


Analyzing Flight Cancellations

November 2023 - December 2023

A Jupyter Notebook that uses various modeling and exploratory data analysis techniques to analyze flight patterns and predict flight cancellations based on factors such as the date and time of the flight, the airline, and the origin and destination airports. The notebook was created in a group of 3 students and uses the libraries pandas, numpy, scikit-learn, matplotlib, TensorFlow, seaborn, and Plotly.


J Compiler

November 2022 - December 2022

A compiler designed for a simple functional language called J. The compiler translates the J language code down to ARM assembly code, which could then easily be assembled and run on the machine. The compiler was independently created in a virtual machine and developed in the C programming language. An accompanying assembler and disassembler tools were also created to allow for easy debugging of the compiler.


Snake Game

December 2022

Playable snake game independently created in the Java programming language. The game was created using the Java Swing library and features a simple GUI that allows users to play the game. Additionally, the game includes a high-score system that tracks the user's highest score across sessions, storing it in the JAR executable.


2048 Game and Solver

April 2022 - May 2022

A playable 2048 game designed independently in Java using the PennDraw library to provide a graphical interface. It features a self-solver built on a heuristic scoring algorithm, which ranks possible moves and selects the best one based on potential outcomes. The self-solver can be run with the game to optimally beat it, and the algorithm can also provide hints to the user for the optimal move during normal gameplay.


Random Loadout Generator - TF2

December 2018 - March 2019

A mobile application for Android devices, published in 2019, quickly amassed over 10,000 downloads shortly after its launch and maintained a consistently high rating of over 4 stars with over 100 reviews. The application was created in Java using Android Studio and was designed to allow users to generate random loadouts quickly for the popular game Team Fortress 2. Monetization was achieved through ads and in-app purchases.

View My Résumé

Feel free to reach out to me at .