COMP 271 002 SU18 Lab 3
Work in teams of two (optionally) but submit individually (see details below)
An understanding of the following concepts and techniques:
- algorithmic complexity
- runtime performance
- how to measure
- how it relates to algorithmic complexity
- abstract data types (ADT)
- array-based versus linked lists
- getting started with iterators
- automated unit testing using JUnit
- testing for exceptions
- test fixtures and assertions
The key idea is to think about this lab like a physics experiment! You will set it up and then take measurements.
- Review the code.
- Fix the syntax errors (if any, though there probably aren't any).
- Run the code for various inputs to gain an understanding of what it does.
- Complete the items marked TODO in the code and get the tests to pass.
- Conduct the performance measurements: you will find the running times in the test report.
- Create a markdown document called Answers.md and answer the various questions embedded in the code.
Deliverables and submission
Please submit the following deliverables:
- Shared GitHub lab3 repository where you worked on this project as a group (there should be commits from all group members); or individual GitHub repo if you worked alone
- Individual Sakai submission under "Lab 3":
- URL of shared GitHub team repository
- Brief description of your collaboration style and summary of your individual contributions to this team project
- 8 submission via GitHub
- 8 tests passing and completion of items marked TODO
- 8 performance testing for increasing problem sizes
- 16 written part
- 12 responses to the questions above
- 4 grammar, style, formatting
40 points TOTAL