Learned the fundamentals of Object Oriented Programming. This includes Abstraction,
Inheritance, Encapsulation, and Polymorphism. Using Java, I learned about the
importance of classes and separating methods into the appropriate class. The class also taught
me about dynamic memory, sorting algorithms, and recursive algorithms. For the full class description,
click here.
The Gym Helper, my final project for this class, encapsulates a large amount of what I learned. The app
was created with the intentions of putting Object Oriented Programming principles to use (e.g. creating
relevant classes, writing efficient code, using UML diagrams, storing information effectively, etc.). This
resulted in me creating an app dedicated to making gym workouts for new lifters and calculating lift maxes.
Navigate to one of the links below to learn more about this project.
Learned C++, memory management, and network programming. Also learn about computer architecture.
Also learned about data representation in various computing languages, and how to use SQL to
access and apply various data structures. For more information about Systems I,
click here.
The Airline Scheduling Application is a project that I did for this class. The app was coded in
C++ and uses Object-Oriented elements such as h files. The app also involves a makefile to help with
compiling all of the code and making sure everything is up-to-date. I also used Command Line Arguments to
make sure the text files were used correctly. The zip file for the project and the instructions for use are
linked below.
Learned how to create data structures using arrays and nodes. I also learned the advantages
and disadvantages of LinkedLists, ArrayLists, Queues, and HashSets. This includes time complexity and space complexity.
I would then consider these traits to create various implementations of data structures. Learned a little bit about graphs
and binary trees as well. For more information on Data Structures and Algorithms,
click here.
My project for this class involved a Binary Tree with an Inner Node implementation. Using Java, I used recursive methods,
queues, and sets to perform various tasks with access to the binary tree. These include pre/post-order traversal of the tree,
finding various sums of tree elements, and finding the max element value within the tree. I use a tester file to test all of my
methods, so that is what you will see when running the project (That's also why the below picture isn't the most accurate).
The zip file for the project and the instructions for use are linked below.
Learned about the process of creating software and its importance. Did this through the use of
the Agile method and iterations for projects. Learned how to elicit requirements from a customer,
designate tasks, and estimate the time it would take to complete said tasks. Essentially the class
taught me about the life cycle of software development, and in addition taught me how to develop
software in a team/company setting. For more information about the class,
click here.
The Hoopsyclopedia is a group project that I did for this class. My group mates and I wanted
to create a web application that kept track of NBA players' stats during the 2023-2024 NBA regular season.
Using javascript and HTML we designed unique features like the Compare Player
and the Random Player lookup. Then, to store player data, we used MongoDB. Finally, to get this website onto
a server, we used React and NodeJS. This project was supposed to simulate a real world Agile project where
we would have weekly meetings with the client, and also present our progress to the "CEO" of the company
at the end of each iteration.
The video below is a demonstration of how to use/access the web application after downloading it. It will
show a full sample use case of how the app works. The zip file and a set of written instructions for use
are linked below as well.