Project 2

Due date: Friday, September 18 (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 cs413f15p2 and share it with me at and our TA Brian Gathright at Be sure to share your repository with admin access.
  • Check out / clone the cs413f15p2 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.
  • You may have to follow these steps to get Project 2 to successfully compile and run its tests (that was true in the past, but does not seem to be true for the current Android Studio):
    • Go to the File => Project Structure window, click Modules in the left column, select cs413f15p2 in the second column, then click the minus sign above it and confirm the removal of that module - you should now be able to set the SDK to Java 8u51.
    • While you're jn the Project Structure window, click Paths toward the top right and click the button that says Use module compile output path, then click OK.
    • Now under Build select Rebuild Project and tell Android Studio to remove the cs413f15p2 project's "VCS root".
  • Right-click the Project name (cs413f15p2) and select Run => All Tests to see all of the test errors
    • It may also say Run 'Tests in 'cs2-lab5-listperformance-java' Ctrl+Shift+F10
  • 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).
  • 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 cs413f15p2 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.