Final Project

The final project consists of finishing our work on the Pippin Simulator for the semster. I have provided the final version of the Pippin Simulator, as well as a Graphical User Interface to run that simulator. At the beginning of the project, there is only one major missing piece - an Assembler to convert man readable Pippin Assembly files into Pippin Executable files that contain the binary representation of Pippin programs that can be run on the Pippin Simulator.

The final project will be divided into two parts. The first part consists of writing the Java code to implement an Assembler for Pippin. You will have two weeks to work on this project in teams. The second part consists of providing an enhancement to the Graphical User Interface provided with the Pippin simulator. You will again have two weeks to work on the second part of the project with your team.

During the finals week, I will also schedule 5 minute oral exams with each student. One of the goals of the oral exam is to make sure that you understand all of the work your team has done on the project.

The following table summarizes the final project parts

PartTopicInvitationValueDue Date
Part 1AssemblerInvitation50 points May 12
Part 2GUI enhancementInvitation30 points May 26
OralPart 1 reviewN/A20 pointsMay 12-26

Project Teams

The project may be done in teams of 1, 2, or 3 students.

Project Part 1 Extensions

I realize this is a difficult time of the semester, which lots of papers due and exams to study for and travel plans to organize. The Project Part 1 is due on Wednesday, May 12, 2021 at 11:59 PM. I am willing to be somewhat flexible with this deadline, but this flexibility comes with some responsibility on your part.

Project Part 2

The project part 2 invitation is available, as of Sunday, May 9. You may start working on part 2 of the project whenever you would like to, but it makes most sense to start working on the project part 2 after submitting your part 1 results.

You will be working on part 2 of the project with the same teams you used for part 1 of the project. A new proj02 repository will be created for your team when the first member of your team accepts the GitHub proj02 invitation. Other team members will get access to that repository when they accept the invitation. All team members must accept the invitation.

Please feel free to ask questions about part 2 of the project during office hours, durling lab sessions, via email, or on Piazza, or any other established communication mechanism.

The second part of the project is due at the very end of the semester, so no extensions can be allowed for the project part 2.