Note: for the programming problem, you may reuse or modify your Polynomial program from the previous homework. For this assignment, a Polynomial has an ArrayList of Term objects. (Also, terms should not be stored in a sparse manner, i.e. there is no need to store the terms with coefficients of zero.)
If you have the third edition
- Chapter 5: the last Self-test exercise (7) - p. 303
- Chapter 5: Exercise 2, 7 - p. 303 - 304
- What are the advantages and disadvantages of array-based vs. reference-based implementations of the ADT list? Illustrate your points using examples of operations (e.g. inserting/deleting at certain positions such as at the beginning or end of the list).
- Chapter 5: Programming Problem 7 (Design and implement in Java) - p. 309
- Extra credit: Programming Problem using lists, files and Strings (Design and implement in Java)
If you have the second edition
- Chapter 5: the last Self-test exercise (8) - p. 282
- Chapter 5: Exercise 2, 6 - p. 283-284
- What are the advantages and disadvantages of array-based vs. reference-based implementations of the ADT list? Illustrate your points using examples of operations (e.g. inserting/deleting at certain positions such as at the beginning or end of the list).
- Chapter 5: Programming Problem 7 (Design and implement in Java) - p. 287
- Extra credit: Programming Problem using lists, files and Strings (Design and implement in Java)
If you have the previous (updated) edition
- Chapter 4: the last Self-test exercise (7) - p. 206
- Chapter 4: Exercise 2, 6 - p. 206-207
- What are the advantages and disadvantages of array-based vs. reference-based implementations of the ADT list? Illustrate your points using examples of operations (e.g. inserting/deleting at certain positions such as at the beginning or end of the list).
- Chapter 4: Programming Problem 6 (Design and implement in Java) - p. 210
- Programming Problem using lists, files and Strings (Design and implement in Java)
For any program that you implement in Java, hand in printouts of
your source code as well as the output of your test cases.
Correctness counts for 40% of your grade.
Test cases (which should include both "normal" and "special" cases)
count for 30% of the grade. Readability counts for 30%. Note: Stepwise refinement and method decomposition enhances readability!
Choose appropriate names
for your identifiers. Use comments (Javadoc style), preconditions,
postconditions and
indentation appropriately.
Follow the programming conventions/guidelines we discussed.
The assignment should be done individually.
[Back to the Assignments Index]