CS 70

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:

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 and insert_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.)