To become familiar with

In case you have not already noticed, this is an closed assignment. You must read the Open/Closed policy before working on this project. The policy can be found at:


Project Clarifications

Any clarifications or corrections associated with this project will be available at: clarifications.html



For this project you will implement several classes that support a calendar application. This application allows users to schedule, remove, and perform other typical calendar activities. The classes you are expected to implement are:

The javadoc documentation for this project can be found at: doc/index.html. The documentation provides a detailed explanation of what you are expected to implement.


Code Distribution

The project's code distribution is available by checking out the project named p2. The distribution includes text files named with a pub prefix and the following packages:


Testing Requirements

You must provide your own tests in the file StudentTests.java provided with the code distribution. You need to provide tests for all the classes in the lists package and for the Time and WeekActivities classes. The submit server provides information regarding methods that are not covered by public or student's tests; Please look at this information while developing your tests. Notice that even though a public test may exist for a method, the test may not test the method for all the possible arguments it can accept. Therefore provide tests for methods even if they are already tested in a public test.

We encourage you to thoroughly test your code with your own tests. This will allow you to pass the release tests sooner plus will help you develop your testing skills (after all, there is no submit server in the real world :)).

If you define any text files for your tests, you must name those files beginning with "studentTest" and ending with the .txt extension. If you don't name files this way, the submit server will generate an authorization error (even if the tests run fine in Eclipse). By the way, feel free to use the TestingSupport.correctResults method for your own tests. The TestingSupport class is part of the code distribution.

Keep in mind that your can use the debugger with JUnit tests.

Project Requirements

Style Requirements

Honor Section Requirements

No additional requirements.

Web Accessibility