Project 2

Due date: June 24 (updated date)


  • Familiarity with test-driven development.
  • Review of linear data structures, in particular link lists.


Complete the List Performance Example – perform the following steps:

  • Import the listperformance-java project into your Bitbucket account from following the usual steps, but naming your new private Git repository cs313413su21p2 and share it with me at Be sure to share your repository with admin access.
  • Check out / clone the cs313413su21p2 repository into Android Studio.
    • Android Studio may tell you that there's a plugin that supports .gitignore directives - you can click the link that installs that plugin and restart Android Studio to enable it.
  • In a Terminal window, enter gradlew Test or ./gradlew Test on a Mac to see all the test errors
  • Fix the syntax errors (if any, though there probably aren't any).
  • Complete the parts marked as TODO. Use the TODO view in Android Studio to find these easily (View > Tool Windows > TODO, or click TODO at the bottom of the Android Studio window).
  • Make changes and repeat until all the unit tests pass. You will also need to make several changes to and record test method runtimes to enter into README.txt.
  • Commit your changes.


  • Keep your code up to date in your repository by committing and pushing changes continually! This means that you are expected to keep your code in your Bitbucket repository (and push changes continually) as opposed to working only locally and pushing only at the end to submit your work. In this way, you will gain experience in working with version control systems.
  • Summarize your findings (answers to the questions embedded in the code) in a file called README.txt in the cs313413su21p2 folder, add it to your project, and push and commit it to your Bitbucket repo.
  • Notify the instructor when the project is ready to be graded.


  • 0.5 at least 3 Commits to your Bitbucket repository showing that you are making and saving changes on a continuous basis, not just at the end of your work on this project
  • 0.5 submission via Bitbucket repo (should still show Dr. Laufer's history before your import into Bitbucket and clone into Android Studio)
  • 1 completing the parts marked as TODO (View > Tool Windows > TODO)
  • 1 adding the README.txt file answering questions embedded in the code

       3 points total


In the section of the project where it says "also try with a LinkedList - does it make any difference", you can simply add a new line for LinkedList in the source file and just comment out each one for testing.
This is asking if behaviorally there is any difference if you use an ArrayList or a LinkedList, not whether there is a performance difference (that is covered in the TODOs in