Project 2

Due date: Tuesday, February 20 (FIRM)


  • Familiarity with test-driven development.
  • Review of linear data structures.


Complete the List Performance Example – perform the following steps:

  • Import the cs2-lab5-listperformance-java project into your Bitbucket account from following the usual steps, but naming your new private Git repository cs413sp18p2 and share it with me at and our TA. Be sure to share your repository with admin access.
  • Check out / clone the cs413sp18p2 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.
  • Open a Terminal window and then type gradlew test (on Windows) or ./gradlew test (on Mac or Linux/Unix) - that will run the tests in the project.
  • Now you may be able to right-click the Project name (cs413sp18p2) and select Run => All Tests to see all of the test errors in the standard Android format.
    • It may also say Run 'Tests in 'cs2-lab5-listperformance-java' Ctrl+Shift+F10
  • Complete the parts marked as TODO. Use the TODO view in Android Studio to find these easily (View > Tool Windows > TODO).
    • Fix the syntax errors (if any, though there probably aren't any).
  • Make changes and repeat until all of the unit tests pass.
  • 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 cs413sp18p2 folder, add it to your project, and push and commit it to your Bitbucket repo.
  • Notify the instructor and TA when the project is ready to be graded.


  • 1 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.