|
Project #2 (Monthly Calendar) |
CMSC 132 |
|
Due Date: Fri Sep 29, 6:00 pm |
Object-Oriented Programming II |
|
Type of Project: Closed |
Fall 2006 |
Objective
This project will give you practice using linear data structures, maps, and the Java Collections Framework.
In case you have not already noticed, this is a closed assignment. You must read the Open/Closed policy before working on this project. The policy can be found at policy.
Overview
For this project you will implement three classes (Time, MySortedLinkedList, and WeekActivities) that support a monthly calendar implementation. This calendar implementation allows users to schedule activities, and perform typical calendar activities (see the MonthlyCalendar javadoc entry for additional information).
Additional information about the calendar application can be found in the project's javadoc documentation.
Grading:
Tests (70 %)
Public JUnit tests (22 %)
Release JUnit tests (48 %)
Student Tests (20 %)
Style (10 %)
For this project:
Even if you are not planning to work on the project for a while make sure that:
You can compile a simple class using the provided code distribution. If you have problems compiling a simple class see your TA immediately.
Submit your project using the "Submit Project" option in Eclipse and verify your submission has been received in the submit server. It is important that you submit your project using the "Submit Project" option rather than uploading a jar file to the submit server. If you are having problems with this submission process, contact your TA or instructor immediately.
You must debug your code using the Eclipse debugger and should not use "System.out.println" as a debug tool. The TA in office hours will require you to use the debugger to show any problems you are experiencing.
Code Distribution:
The project's code distribution is available by checking out the project named p2. The code distribution provides you with the following:
Requirements
Testing Requirements (please read carefully)
You must provide your own tests in the file StudentTests.java provided with the code distribution. You only need to provide tests 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, add 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.
Submission
Submit your project using the submit project option associated with Eclipse.
Academic Integrity
Please make sure you read the academic integrity section of the syllabus so you understand what is permissible in our programming projects. We want to remind you that we check your project against other students' projects and any case of academic dishonesty will be referred to the University's Office of Judicial Programs.