Top/public/assessment/Outcomes/1/1a/csci3000

6f: Concurrency
Responsibilities for CSCI 3000

Note. Before teaching this course, consult the Response section of the assessment data page for a recent term of this course. Be sure to do what the Response section says should be done.

 

Introduction and assessment of competence

Introduction and assessment of competence

Here, the topic is introduced and reinforced through assignments that require its use. The student's competence is assessed.

The setting for student learning

In all other courses, students do only sequential programming, no matter how big the program may be and what paradigm they use. In CSCI 3000, students are exposed to concurrent programming for the first time. Here we test the ability of students to solve a computational problem using concurrent programming. The students will be using either multiple processes or mutiple threads to implement the solution. Typically, it would also involve implementing some sort of synchronization between them. This will be tested in a programming assignment.

Rubric
Excellent. The implementation provided correctly solves the problem. The correctness does not depend on precise scheduling of the processes or threads involved. They have incorporated code that does the checking of errors and also cleaning up.

Good. The implementation provided correctly solves the problem. The correctness does not depend on precise scheduling of the processes or threads involved. However, they failed to do the error checking of system calls used and/or did not do the cleaning up.

Satisfactory. The implementation provided correctly solves the problem in most typical situations in a concurrent manner.

Unsatisfactory. A student's work is unsatisfactory if it does not meet any of the above criteria.

Goal
In the programming assignment, at least 70% of students who pass CSCI 3000 are rated either satisfactory or better with at least 50% rated as good or better.