Top/public/assessment/Outcomes/1/1a/csci2540

2d: Object-oriented Programming And Abstract Data Types
Responsibilities for CSCI 2540

 

Reinforcement and assessment of competence

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.