Projects

To view a project, select one of the items in this list to expand the section and more about it.

To comply with academic integrity policies, code snippets and documentation are only available by request. If you would like to request access for the purpose of reviewing past projects, please contact me here.

This project is the implementation of a Reverse Polish Notation (RPN) calculator. The starting files for this project are available here. The project is the last in CSE 2221, more commonly known as Software 1, and is the development of an entire natural number calculator using the Java Swing framework.

The main application, controller, model, and view interfaces were all written by Bruce W. Weide and I wrote all of the implementations using design-by-contract and commenting my code for clarity. I completed this project early, and my professor requested my help with assisting other students on their projects since I understood the project clearly and had all other assignments for the course done.

The code was written in Java using the Eclipse IDE, the OSU CSE Components API, and the Java SE 13.0.1 JDK.

This image shows the initial view of the calculator after starting the application.

The user entered two numbers into the calculator prior to selecting the kind of calculation to perform.

After selecting the kind of calculation to perform (addition, subtraction, multiplication, division, power, root), the result shows up in the bottom display of the calculator.

Digital Flagship’s main goal is to equip students for success in their academic studies at Ohio State. I serve as one of three student leads for Tech Tutoring, and I have been involved with the Digital Flagship virtual support strategy since its inception. In the past, we held in-person office hours to offer support to students, but in December 2019 we started the development of an online support strategy to assist a wider range of students across all Ohio State campuses. Our original solution used Zoom with set times for students to join at their leisure.

When the COVID-19 pandemic moved all learning online, we reimagined our support strategy to accommodate more students. Our current model uses OnCourse, a student academic success platform, to schedule times to meet with members of our Tech Tutoring team. A member of our team will then meet with a student through Microsoft Teams chat or video call.

My role with the virtual support strategy centers around designing workflows and implementing those workflows in Microsoft Teams. I also manage the different resources internally available to assist other team members while they are actively supporting a student.

For more information about Digital Flagship’s Tech Tutoring service, please visit go.osu.edu/techtutoring.

A screenshot of the Tech Tutoring landing page on the Digital Flagship website.

To comply with academic integrity policies, code snippets and documentation are only available by request. If you would like to request access for the purpose of reviewing past projects, please contact me here.

This project was a month-long implementation of the BugsWorld Bugs Language (BL) compiler that took place throughout July of 2020. The processes used to compile the language into bytecode are similar to the processes involved in building compilers for mainstream programming languages. The server then interprets the bytecode and produces an output from there. This project is the most time-consuming in CSE 2231, more commonly known as Software 2.

Throughout the entire project, I worked with my partner, Hannah Johnson, to build a tokenizer, parser, and code generator to compile the BL code accurately. We started with nothing more than the basic setup of the files, including what methods needed to be included in the final program, and we created an efficient way of compiling BL code into bytecode for the server. The culmination of this project required a thorough understanding of Java component-based design, using abstract classes and different implementations to improve runtime, and utilizing context-free grammars for parsing.

When it comes to teamwork, I learned how to use version control to efficiently save and share project files with my partner, as well as how to work together as a team to complete project tasks according to the provided specifications.

More details about this project are available here.

Please note that the app developed is based on a guided project from the book Develop In Swift Fundamentals by Apple Inc. You can find that book here.

Digital Flagship’s main goal is to equip students for success in their academic studies at Ohio State. As part of the Digital Flagship Swift Coding and App Development Certificate, I completed an app called Apple Pie that asks users to correctly guess letters in a word that is originally unknown to the user, similar to Wheel of Fortune but without any prizes and with fewer words. If the user guesses seven incorrect words, a new word is chosen.

This app demonstrates my ability to develop in Swift using UIKit and I would like to rebuild this app in SwiftUI in the future.

 

Initial view of Apple Pie app showing all of the apples on the tree.

The initial view of the app with no letters guessed.

 

A view of the Apple Pie app after some letters have been guessed. Three letters were guessed incorrectly and four apples remain on the tree.

A later view of the app with some letters guessed. Four letters were incorrectly guessed.

Page Requirements - Remove prior to submission

  1. Does each description explain the project/document/experience’s  context (WHO, WHAT, WHERE, WHEN, WHY, HOW)?
  2. Does each description clearly outline the skills demonstrated?
  3. Do the projects/documents collectively demonstrate a breadth and depth of skills?

This tab should contain a minimum of three (3) sample documents, projects, reports, proposals, or other items that are the best representations of your skills “in action.” What you choose to showcase is up to you—use whatever you have that highlights your abilities.  Each entry should include a thorough  introduction that puts the item in context and explains the skills it demonstrates. What would you want a site visitor to know about the work you’ve done and the skills you have? 

Remember, you are creating a professional persona.   Reflect on what we’ve learned in each project this semester as you craft that persona in your career portfolio.  Create a clean site attentive to the design principles we’ve covered and use concise writing techniques for efficient and effective text.  Each entry and each document should be proofread (three times!). And, of course, always keep your audience in mind!