Bachelor of Science at St. John's University

     I received Bachelor’s Degree from St. John’s University with Honors, in Computer Science and a minor in Philosophy. The curriculum was mostly focused on learning fundamental programming concepts and establishing a strong foundation in object-oriented design. A majority of my course were in Java, but some branched out into other languages like C++, MySQL and Prolog. I learned not only how to code but also to plan out and thoroughly test my own work, building a habit of unit testing and regression testing to produce better cleaner code.

     Outside of Computer Science, I had a very well-rounded experience as an undergraduate student. Academically I was a member of the St John’s University Honors Program, a program that only accepts 350 incoming freshman each year, I was a member of the National Philosophy Honors Society and was also invited to join the Physics Honor Society. I had taken many different courses completing a minor in Philosophy taking courses in logic as well as almost graduating with a double major in Physics. I also learned two languages taking both Japanese and Chinese during my time at St. John’s.

     Outside of academics, I was the group leader of a campus group known as “Duel Society” where I acted both as a mediator and advisor to the members of the group, while also organizing tournaments on campus and trips to official events off campus. In addition to being the leader of “Duel Society” I was a member of the Otaku-Brigade a St. John’s club in which I was a Committee Head who was in charge of facilitating a monthly movie night and eventually a member of the organizations E-board as an Event Coordinator in which I was in charge of logistics of larger campus events in which we collaborated with other Universities, events which generated large revenues for future events.

     Throughout my undergraduate career I was often a leader in group projects and labs. In earlier classes I would finish lab assignments quickly often having classmates ask for assistance or the professor handing me extra coding challenges to fill my time during class. When we started more advanced classes with team labs and projects my peers would look to me to organize and help set guidelines for our project and inevitably find bugs in their code. I’m proud to say I was able to meet every deadline never submitting non-functioning code.

Here’s a list of a few projects that I did as an undergraduate:

  • Advanced Data Structures: A “Parking Reservation System” which utilized client-server implementation of Java requiring exception handling and encapsulation of data in which I acted as a group leader.
  • Operating Systems: A “Car Simulator” which implemented multithreading using Java’s concurrent class and reentrant locks to concurrently “drive”, “add gas” and “get gas”.
  • Software Engineering: A large team project in consisting of about 20 students working in collaboration using GitHub, I was put in charge of various tasks over the course of the semester using MySQL, Java and Swing; I performed Unit Test’s for all code uploaded by other members, added code for MySQL integration with Java methods and towards the end when my tasks were complete assisted other group members in producing functional code, the whole time practicing professional regression testing pulling and testing the code before pushing to the main branch.

Master of Science at Queens College

    I was accepted into the competitive Queens College Graduate Program in Spring 2019 and promptly started taking classes in July of 2019. So far, I have taken a variety of courses ranging from math-heavy courses to very theoretically computation courses. To date I have only received A’s and hold a 4.0 GPA as a graduate student, despite the various challenges each course has thrown.

    One of the classes I have taken at Queens College CS 320 Theory of Computation taught by Dr. Boklan, lead to a job opportunity in Spring 2020. Dr. Boklan chose me as one of the peer mentors for his spring class, as a result of showing a strong understanding of the course material and receiving a good grade in the class. CS 320 is a very difficult course for most students because of its very conceptual nature it requires a strong grasp of the ideas and concepts to succeed. My goal as a peer mentor was too help students reach that strong level of understanding and help them succeed in the course. As a peer mentor, I held biweekly office hours in which students would come in and review problems and concepts, furthermore I was required to attend class sessions and help students with challenge problems during class in an effort to help students get more comfortable with approaching the problems. When Queens College shifted to online learning I had to continue in my capacity as a peer mentor remotely, holding office hours virtually via google meets. I found that Peer Mentoring was a very rewarding experience further solidifying my own understanding of concepts I learned in the same course as I had to convey them to the students who came to me for help.

A couple of projects I did as a Master’s student are:

  • Numerical Methods: Not exactly a project, but throughout the semester we were taught various mathematical techniques to calculate values that would otherwise be difficult to calculate, I designed algorithms for each of these methods in Java as well as scripted Excel sheets to calculate the values. Furthermore, on my own in Java, I created a adaptive function which could be called to quickly produce answers given parameters for any algorithm using function overloading and switch-cases.
  • Principles of Programming Languages: Through the course of the semester I built a stack-based virtual machine that simulated a stack-based machine taking text inputs and performing functions with given functions and parameters from the text file printing to an output text file and catching and terminating upon syntax errors in the input file, leaving an appropriate message.
  • Distributed Computing: Designed and wrote a program that simulated shopping at the height of the Covid-19. It simulates a manager, an employee and multiple customers each as their own thread. The enforcement of social distancing (mutual exclusion) between parties is done by using the synchronization to utilize Java’s ability to treat objects and classes as a monitor. I also designed a version of this where all the threads ran from different clients and communicated to a server, the server then assigned a helper thread specific to the type of client (customer, employee, manager), the client would wait for the server to allow access to resources, while the server enforced mutual exclusion.

Certifications

     Outside of what I’ve learned from both my strong Undergraduate education and my challenging Master’s classes, I enjoy taking advantage of the countless resources available on the internet to teach myself. I utilize online resources to help teach myself efficiently towards solving problems and tinkering with new technologies that I am unfamiliar with. At this point I would say I am an expert at going from having no knowledge to a strong grasp of whatever I chose to take on. One method I employ to learn new technologies and languages I’m interested in is by taking courses offered online by sites such as Coursera and EdX.

     Some of the courses I’ve taken include sections of the Python for Everybody Specialization, the Web Design for Everybody Specialization both offered by the University of Michigan and the Responsive Web Design course offered by the University of London.

Here are a few certificates that I have gotten online:

Bachelor of Science at St. John's University


    I received Bachelor’s Degree from St. John’s University with Honors, in Computer Science and a minor in Philosophy. The curriculum was mostly focused on learning fundamental programming concepts and establishing a strong foundation in object-oriented design. A majority of my course were in Java, but some branched out into other languages like C++, MySQL and Prolog. I learned not only how to code but also to plan out and thoroughly test my own work, building a habit of unit testing and regression testing to produce better cleaner code.

     Outside of Computer Science, I had a very well-rounded experience as an undergraduate student. Academically I was a member of the St John’s University Honors Program, a program that only accepts 350 incoming freshman each year, I was a member of the National Philosophy Honors Society and was also invited to join the Physics Honor Society. I had taken many different courses completing a minor in Philosophy taking courses in logic as well as almost graduating with a double major in Physics. I also learned two languages taking both Japanese and Chinese during my time at St. John’s.

     Outside of academics, I was the group leader of a campus group known as “Duel Society” where I acted both as a mediator and advisor to the members of the group, while also organizing tournaments on campus and trips to official events off campus. In addition to being the leader of “Duel Society” I was a member of the Otaku-Brigade a St. John’s club in which I was a Committee Head who was in charge of facilitating a monthly movie night and eventually a member of the organizations E-board as an Event Coordinator in which I was in charge of logistics of larger campus events in which we collaborated with other Universities, events which generated large revenues for future events.


     Throughout my undergraduate career I was often a leader in group projects and labs. In earlier classes I would finish lab assignments quickly often having classmates ask for assistance or the professor handing me extra coding challenges to fill my time during class. When we started more advanced classes with team labs and projects my peers would look to me to organize and help set guidelines for our project and inevitably find bugs in their code. I’m proud to say I was able to meet every deadline never submitting non-functioning code.

Here’s a list of a few projects that I did as an undergraduate:

  • Advanced Data Structures: A “Parking Reservation System” which utilized client-server implementation of Java requiring exception handling and encapsulation of data in which I acted as a group leader.
  • Operating Systems: A “Car Simulator” which implemented multithreading using Java’s concurrent class and reentrant locks to concurrently “drive”, “add gas” and “get gas”.
  • Software Engineering: A large team project in consisting of about 20 students working in collaboration using GitHub, I was put in charge of various tasks over the course of the semester using MySQL, Java and Swing; I performed Unit Test’s for all code uploaded by other members, added code for MySQL integration with Java methods and towards the end when my tasks were complete assisted other group members in producing functional code, the whole time practicing professional regression testing pulling and testing the code before pushing to the main branch.

Master of Science at Queens College


    I was accepted into the competitive Queens College Graduate Program in Spring 2019 and promptly started taking classes in July of 2019. So far, I have taken a variety of courses ranging from math-heavy courses to very theoretically computation courses. To date I have only received A’s and hold a 4.0 GPA as a graduate student, despite the various challenges each course has thrown.

    One of the classes I have taken at Queens College CS 320 Theory of Computation taught by Dr. Boklan, lead to a job opportunity in Spring 2020. Dr. Boklan chose me as one of the peer mentors for his spring class, as a result of showing a strong understanding of the course material and receiving a good grade in the class. CS 320 is a very difficult course for most students because of its very conceptual nature it requires a strong grasp of the ideas and concepts to succeed. My goal as a peer mentor was too help students reach that strong level of understanding and help them succeed in the course. As a peer mentor, I held biweekly office hours in which students would come in and review problems and concepts, furthermore I was required to attend class sessions and help students with challenge problems during class in an effort to help students get more comfortable with approaching the problems. When Queens College shifted to online learning I had to continue in my capacity as a peer mentor remotely, holding office hours virtually via google meets. I found that Peer Mentoring was a very rewarding experience further solidifying my own understanding of concepts I learned in the same course as I had to convey them to the students who came to me for help.


A couple of projects I did as a Master’s student are:

  • Numerical Methods: Not exactly a project, but throughout the semester we were taught various mathematical techniques to calculate values that would otherwise be difficult to calculate, I designed algorithms for each of these methods in Java as well as scripted Excel sheets to calculate the values. Furthermore, on my own in Java, I created a adaptive function which could be called to quickly produce answers given parameters for any algorithm using function overloading and switch-cases.
  • Principles of Programming Languages: Through the course of the semester I built a stack-based virtual machine that simulated a stack-based machine taking text inputs and performing functions with given functions and parameters from the text file printing to an output text file and catching and terminating upon syntax errors in the input file, leaving an appropriate message.
  • Distributed Computing: Designed and wrote a program that simulated shopping at the height of the Covid-19. It simulates a manager, an employee and multiple customers each as their own thread. The enforcement of social distancing (mutual exclusion) between parties is done by using the synchronization to utilize Java’s ability to treat objects and classes as a monitor. I also designed a version of this where all the threads ran from different clients and communicated to a server, the server then assigned a helper thread specific to the type of client (customer, employee, manager), the client would wait for the server to allow access to resources, while the server enforced mutual exclusion.

Online Courses

     Outside of what I’ve learned from both my strong Undergraduate education and my challenging Master’s classes, I enjoy taking advantage of the countless resources available on the internet to teach myself. I utilize online resources to help teach myself efficiently towards solving problems and tinkering with new technologies that I am unfamiliar with. At this point I would say I am an expert at going from having no knowledge to a strong grasp of whatever I chose to take on. One method I employ to learn new technologies and languages I’m interested in is by taking courses offered online by sites such as Coursera and EdX.

     Some of the courses I’ve taken include sections of the Python for Everybody Specialization, the Web Design for Everybody Specialization both offered by the University of Michigan and the Responsive Web Design course offered by the University of London.

Here are a few certificates that I have gotten online:

Other Links