Homework 5
In this week's assignment, you will practice
- Planning the design and implementation of a coding project
- Implementing a singly-linked list
- Implementing a copy constructor
- Testing the correctness of your code
- Analyzing the complexity of your code
Let's Go!
Both team members should accept the assignment:
- Accept Starter Code on GitHub Classroom
- Use the same team you created for HW4.
Specifications for the IntList
class you will be developing:
Steps
- Gearing Up for Testing — Learning our ground rules for testing. Adding documentation to the provided header header file.
- Phase 1 — Developing the default constructor, size, and empty
- Phase 2 — Developing
push_front
,pop_front
and the destructor. - Phase 3 — Developing the
iterator
for our list. - Phase 4 — Developing our list's
==
(and!=
) operators. - Phase 5 — Developing
push_back
andinsert_after
. - Phase 6 — Developing the copy constructor and assignment operator.
- Written Questions — Answering questions about your implementation.
- Check Your Work — Checking your work before submitting.
Useful Information
Resources
Please refer (frequently!) to the specifications for the data structure you will be implementing:
Also, please review the idioms that we expect you to expect you to use in your code:
As always, we encourage you to ask (and answer) questions on
as you work!
Grading
Completing this assignment is worth 100 points, and will be graded as follows:
- 7 points: Planning (Completeness, not Correctness)
- 10 points: Repository Status (Code compiles, Correct files submitted, no cpplint errors)
- 20 points: Coding Style
- 17 points: Writing Tests
- 25 points: Implementation Correctness
- 16 points: Written Questions
- 5 points: Correctly denoting all team members in Gradescope submission
(When logged in, completion status appears here.)