Coding Projects
Tools:
C++
C++




MetroSim
Project Goal
MetroSim creates a simulation of Boston’s green line. Clients can add passengers to the queue and move the train. As the train moves, it picks up passengers and drops them off at their designated stations. At the end of the program, all of the passengers’ departures are recorded in an output file.
Throughout 2023, I took coding classes at my university and became proficient in C++. Below you’ll find a link to my GitHub, as well as a brief description of some major projects.






Example of MetroSim in action. First image (top left): Two passengers are waiting at stop 2 (Riverway), and want to get off at stop 5. The first position in the brackets describes how many passengers are at that stop, and the second dictates which stops they board (before the arrow) and exit the train (after the arrow). Second image (top right): Train has picked up passengers from stop 2 and moves to stop 3 (Mission Park). Third image (bottom): The train has traveled to the destination of stop 5 (Brigham Circle) and drops off both passengers and there are no longer passengers on the train.
Example of MetroSim in action. First image (top left): Two passengers are waiting at stop 2 (Riverway), and want to get off at stop 5. The first position in the brackets describes how many passengers are at that stop, and the second dictates which stops they board (before the arrow) and exit the train (after the arrow). Second image (top right): Train has picked up passengers from stop 2 and moves to stop 3 (Mission Park). Third image (bottom): The train has traveled to the destination of stop 5 (Brigham Circle) and drops off both passengers and there are no longer passengers on the train.
MetroSim
Project Goal
MetroSim creates a simulation of Boston’s green line. Clients can add passengers to the queue and move the train. As the train moves, it picks up passengers and drops them off at their designated stations. At the end of the program, all of the passengers’ departures are recorded in an output file.
CalcYouLater!
Project Goal
CalcYouLater is a post-fix operating calculator that can take in integers, rStrings, or booleans. The calculator can perform a number of functions on these elements, such as basic arithmetic, comparisons, executions, and other manipulations. It works by storing everything in a stack.
Example of using CalcYouLater. Print will print whatever is on the top of the stack. By using {}, whatever is stored between them will be stored as one element in the stack. Swap will switch the top two objects in the stack. #t and #f will look at the top three elements in the stack; they will need a comparison operator, and will return if the comparison is true or false.


Zap!
Project Goal
Zap! Was designed with a Huffman Coding Algorithm to compress and decompress files. It can take in either a text file, on which you would run with “zap,” or a binary file, which you would run with “unzap.” When zapping, you will be returned with the number of bites that your text was stored as, and when running unzap, the program will create an output file with the text in alpha-numerical characters.



Example of using the encoder and decoder functions. The original file contained “BaNana” (with no endline).
Gerp!
Project Goal
A parody of “grep,” gerp aims to search through a provided folder for a word inputted by the user. It is able to search either case-sensitive or insensitively, and the findings are sent to an output file. Searching case-sensitively is the default; when wanting to search case-insensitively, include an "@i" in the query to the program, followed by the word you want to search for in the file. Below is an example of it searching for the words “word”, “hello,” and “nope” case sensitively, and “word”, “some”, and “work” case-insensitively. We then printed what was stored in the output file: the pathway to the file and the line of the file that the word appears on, along with the line itself. Here, we tested it with a "smallGutenberg" file, provided by the class.


Example of using Gerp program.
Throughout 2023, I took coding classes at my university and became proficient in C++. Below you’ll find a link to my GitHub, as well as a brief description of some major projects.
MetroSim
Project Goal
MetroSim creates a simulation of Boston’s green line. Clients can add passengers to the queue and move the train. As the train moves, it picks up passengers and drops them off at their designated stations. At the end of the program, all of the passengers’ departures are recorded in an output file.









MetroSim
Project Goal
MetroSim creates a simulation of Boston’s green line. Clients can add passengers to the queue and move the train. As the train moves, it picks up passengers and drops them off at their designated stations. At the end of the program, all of the passengers’ departures are recorded in an output file.



Example of MetroSim in action. First image (top left): Two passengers are waiting at stop 2 (Riverway), and want to get off at stop 5. The first position in the brackets describes how many passengers are at that stop, and the second dictates which stops they board (before the arrow) and exit the train (after the arrow). Second image (top right): Train has picked up passengers from stop 2 and moves to stop 3 (Mission Park). Third image (bottom): The train has traveled to the destination of stop 5 (Brigham Circle) and drops off both passengers and there are no longer passengers on the train.
CalcYouLater!



Example of using CalcYouLater. Print will print whatever is on the top of the stack. By using {}, whatever is stored between them will be stored as one element in the stack. Swap will switch the top two objects in the stack. #t and #f will look at the top three elements in the stack; they will need a comparison operator, and will return if the comparison is true or false.
Project Goal
Zap! Was designed with a Huffman Coding Algorithm to compress and decompress files. It can take in either a text file, on which you would run with “zap,” or a binary file, which you would run with “unzap.” When zapping, you will be returned with the number of bites that your text was stored as, and when running unzap, the program will create an output file with the text in alpha-numerical characters.
Project Goal
CalcYouLater is a post-fix operating calculator that can take in integers, rStrings, or booleans. The calculator can perform a number of functions on these elements, such as basic arithmetic, comparisons, executions, and other manipulations. It works by storing everything in a stack.

Example of using CalcYouLater. Print will print whatever is on the top of the stack. By using {}, whatever is stored between them will be stored as one element in the stack. Swap will switch the top two objects in the stack. #t and #f will look at the top three elements in the stack; they will need a comparison operator, and will return if the comparison is true or false.
Zap!
Example of using the encoder and decoder functions. The original file contained “BaNana” (with no endline).
Example of using the encoder and decoder functions. The original file contained “BaNana” (with no endline).
Project Goal
Zap! Was designed with a Huffman Coding Algorithm to compress and decompress files. It can take in either a text file, on which you would run with “zap,” or a binary file, which you would run with “unzap.” When zapping, you will be returned with the number of bites that your text was stored as, and when running unzap, the program will create an output file with the text in alpha-numerical characters.



Example of using the encoder and decoder functions. The original file contained “BaNana” (with no endline).
Gerp!
Project Goal
A parody of “grep,” gerp aims to search through a provided folder for a word inputted by the user. It is able to search either case-sensitive or insensitively, and the findings are sent to an output file. Searching case-sensitively is the default; when wanting to search case-insensitively, include an "@i" in the query to the program, followed by the word you want to search for in the file. Below is an example of it searching for the words “word”, “hello,” and “nope” case sensitively, and “word”, “some”, and “work” case-insensitively. We then printed what was stored in the output file: the pathway to the file and the line of the file that the word appears on, along with the line itself. Here, we tested it with a "smallGutenberg" file, provided by the class.



Example of using Gerp program.