Grading Guide - Introduction to Computing Using Matlab - Project 3 | CS 1112, Study Guides, Projects, Research of Computer Science

Material Type: Project; Class: Introduction to Computing Using MATLAB; Subject: Computer Science; University: Cornell University; Term: Fall 2008;

Typology: Study Guides, Projects, Research

Pre 2010

Uploaded on 08/30/2009

koofers-user-4ni
koofers-user-4ni 🇺🇸

10 documents

1 / 2

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
CS 1112 Fall 2008 Grading Guide: Project 3
The coded items below (e.g., c1e, s2a) indicate what a student’s solution should accomplish. Codes that
begin with the letter ‘c’ deals with correctness; codes that begin with ‘s’ deals with style.
Grader: If a student’s solution does not accomplish task c1a, for example, then write the task
code ‘c1a’ along with any diagnostic remarks you can give. Count the number of correctness and
style errors separately.
Items marked with ** count as two errors. In the table below, the top row lists the possible scores (1 to 5).
The next row lists the number of correctness errors corresponding to every score category. The style score
is determined similarly. Enter the total score (maximum of 10) in CMS as the project score. If there are
bonus questions, enter any bonus points separately in the “Bonus Bucket,” separate from the project score.
Student: Read the grading guide for every project, even if you get a perfect score! Notice from the
table below that we often give one or two “freebies,” i.e., mistakes that don’t cost you any points.
Learn from working on the project, and learn from any mistakes.
Scores
c and s stand for correctness and style; see table below
parts with ** next to them means that they are double the value, *** for triple, etc.
Score 0 1 2 3 4 5
#correctness errors >=16 11-15 6-10 4-5 2-3 0-1
#style errors >=6 5 4 3 2 0-1
General
(s0a) Use meaningful variable names
(s0b) Appropriate indentation
(s0c) Appropriate comment header in each script/function file
(s0d) Use semi-colons as needed; not for use after if condition or else keyword
(s0e) Appropriate and concise comments throughout
(s0f) Reasonable line lengths; no horizontal scrolling
(s0g) [2* max] No superfluous code. This includes having an empty else block as part of an if
statement. However, do not penalize inefficiency unless it is excessive.
(s0h) No debugging output.
pf2

Partial preview of the text

Download Grading Guide - Introduction to Computing Using Matlab - Project 3 | CS 1112 and more Study Guides, Projects, Research Computer Science in PDF only on Docsity!

CS 1112 Fall 2008 Grading Guide: Project 3

The coded items below (e.g., c1e, s2a) indicate what a student’s solution should accomplish. Codes that begin with the letter ‘c’ deals with correctness; codes that begin with ‘s’ deals with style. Grader : If a student’s solution does not accomplish task c1a, for example, then write the task code ‘c1a’ along with any diagnostic remarks you can give. Count the number of correctness and style errors separately. Items marked with ** count as two errors. In the table below, the top row lists the possible scores (1 to 5). The next row lists the number of correctness errors corresponding to every score category. The style score is determined similarly. Enter the total score (maximum of 10) in CMS as the project score. If there are bonus questions, enter any bonus points separately in the “Bonus Bucket,” separate from the project score. Student : Read the grading guide for every project, even if you get a perfect score! Notice from the table below that we often give one or two “freebies,” i.e., mistakes that don’t cost you any points. Learn from working on the project, and learn from any mistakes.

Scores

 c and s stand for correctness and style; see table below  parts with ** next to them means that they are double the value, *** for triple, etc. Score 0 1 2 3 4 5 #correctness errors >=16 11-15 6-10 4-5 2-3 0- #style errors >=6 5 4 3 2 0-

General

(s0a) Use meaningful variable names (s0b) Appropriate indentation (s0c) Appropriate comment header in each script/function file (s0d) Use semi-colons as needed; not for use after if condition or else keyword (s0e) Appropriate and concise comments throughout (s0f) Reasonable line lengths; no horizontal scrolling (s0g) [2* max] No superfluous code. This includes having an empty else block as part of an if statement. However, do not penalize inefficiency unless it is excessive. (s0h) No debugging output.

Using the automated test scripts:

To use the test scripts, copy them into the same folder as the student’s code. All test scripts can be run by entering “TESTAll” in the Matlab command window, or individually. The test scripts would catch almost all correctness errors, but are not meant to substitute manual grading. They will also test degenerate cases and bad input (if the student was supposed to handle such cases).

1.Bubble Sort

Suggested test scripts: TESTProperOrder.m, TESTSwapElements.m, TESTSort.m (c1a) ProperOrder passes normal test cases (c1b) SwapElements correctly swaps the specified vector entries (c1c) SwapElements does not affect any other entry in the vector (c1d) SwapElements works for degenerate cases (c1e) Swap Elements passes test cases of bad input (c1f) BubbleSort uses ProperOrder to as a comparator (c1g) BubbleSort continues until there are no more swaps (c1f) SwapCount is correctly calculated

2.PMerge Sort

Suggested test scripts: TESTMergeArrays.m, TESTSort.m (c2b) MergeArrays passes all normal test cases (c2c) [2* max] MergeArrays does not simply concatenate and re-sort the array (c2d) MergeArrays uses ProperOrder as a comparator (c2e) MergeArrays passes test cases for degenerate cases (c2f) MergeArrays passes test cases for bad input cases (c2g) MergeSort splits the vector into two halves (as best as possible…) (c2h) MergeSort calls bubble sort on the two halves and then calls MergeArrays (c2i) MergeSort properly computes SwapCount

1.Sorting Complexity

Suggested test scripts: TESTGenerateArray.m, TESTCompareSorts.m (c3a) GenerateArray passes normal test cases (c3b) GenerateArray passes degenerate and bad input test cases (c3c) GenerateArray uses correct calculation for random number (c3d) CompareSorts uses identical vectors when comparing Bubble and PMerge sort (c3e) CompareSorts graph is of the correct shape (Quadratic && BubbleSort = 2PMerge) (s3a) CompareSorts outputs its progress in a reasonable manner (s3b) [2 max] CompareSorts graph is labeled (Axes, Title, Legend).