From BU Computer Science
Jump to navigation Jump to search

Turing Machine Project Adaptations


  • It is time to adapt your classes. We are working on understanding modularity. So all you can change are the field variables and content of the methods. (You may add private methods if you wish). You may not change any method header, add any public methods, or remove any methods.
  • You are to adapt the Instructions class two ways (and turn in two different Instructions classes, both of which work).


  • For the first change, you are to convert your array of instructions into a linked list.
  • For the second change, your search of the link list for an instruction is to be implemented with recursion.
  • All else can be kept the same

Extra Credit Options :

  • Change one or more of the other classes you implement in the first lab to use a different data structure (i.e. change the field variables).
  • Find another data structure to use to implement the Instructions class

Remember: Extra credit are items you do on your own with no (or extremely little) help from the professor. They should not be attempted until the required code is completely finished (including the writeup).

Submission details

Create a software development report that includes the following:

  • A problem summary (the big picture)
  • A list of requirements. (Things that this particular implementation of a solution must do)
  • A list of steps your program does
  • A testing report: What exact input you used and what output you got.
  • How long it took to write the program
  • Who you got help from (if you got help)
  • At least two things you learned while writing the program
  • Changes (if any) you would make if you had more time and/or skill
  • Create a zip folder with your software development report and your java files and submit that to canvas.

Due date can be found on canvas