Here, the topic is reinforced with additional
instruction. The student is expected to put the ability
to use and to demonstrate not only competence in its
use but also competence in choosing where to use it.
The student's competence is assessed.
The setting for student learning
In CSCI 2540,
the following topics are introduced and reinforced:
class, inheritance, class hierarchies, polymorphism, abstract classes, interfaces, and generics.
The following abilities are validated in CSCI 2540:
- Decompose a problem by designing a set of classes that
represent the structural and behavioral aspects of the problem.
- Leverage inheritance and polymorphism to eliminate code duplication.
Student also have opportunities to reinforce ADTs and OOP
concepts in CSCI 3030
and CSCI 4230 but they are not assessed in
those courses.
Rubric
Good.
The student's solution to a practical problem evidences the following.
- The classes are distinct from each other,
and each class captures a unique aspect of the problem.
- The classes are neither too large nor too small in terms of structure and behavior.
- The average length of class methods is no more than 25 lines.
No method is more than 40 lines long.
- Code duplication is non-existent or minimized through leveraging
inheritance and polymorphism features.
There is no violation of is-a test between child and parent classes.
- Test cases are complete and comprehensive.
- Solutions compile and produce correct results on instructor test cases.
- Code is well-documented using the conventions of the programming language.
Satisfactory.
The student's solution to a practical problem evidences the following.
- Some classes are not distinct from each other, and there is some structure and behavior overlap.
- A small number of classes are either too large or too small.
- The length of the methods hover around 25 lines, but there are a small number of exception.
- Inheritance and polymorphism features are leveraged,
but there is scope for more effective utilization.
- For the most part, test cases are complete and comprehensive.
- Solutions compile and produce correct results on most of the instructor test cases.
- Code is well-documented but the conventions of the programming
language are not used consistently.
Unsatisfactory.
The student's solution to a practical problem evidences the following.
- Class design and class hierarchy design does not adhere to ADT and OOP principles.
- Test cases are neither complete nor comprehensive.
- Solutions compiles but does not produce correct
results on very few of the instructor test cases.
- Code is not documented correctly.
Goal
At least 60% of students who pass CSCI 2540
are rated as either satisfactory
or good with at least 20% rated as good.
|