Skip to content
Physics and Astronomy
Home Our Teaching Resources C programming PHY3134 assessment.html
Back to top

PHY3134 Assessment Criteria

Last updated January 2008

About this document

Scope of this document

This document describes the criteria for assessing student work presented as part of PHY3134. The same criteria are used for both the course work and the final test.

Purpose of this document

  • To give the course tutors a common standard to evaluate student work.
  • To enable course students to understand the standards expected of them, the steps required to obtain a good mark and the reasons why they have obtained the mark they have.

Aims of these criteria

  • To reflect the qualities required to effectively and efficiently write medium sized computer programs, ie programs considerably larger than the relatively small exercises we are able to set, and to encourage students to adopt these qualities.
  • To reflect elements common to the style guidelines of most collaborative computer projects.
  • To enhance the teaching aims of the module.

Criteria for assessing computer programs

Objectives

We are looking for programs that:
  1. Are simple, clear and easy to understand.
  2. Have their data and functions logically structured and organized in a manner that reflects the structure of the problem and minimizes the amount of (human) short term memory necessary to write and maintain it.
  3. Are written in a way that minimizes the possibilities of mistakes, and ensures that any mistakes made more likely to be flagged by the compiler, and easier to find when debugging.
  4. Have functions with a consistent, clear and well-defined Application Programming Interface.
  5. Correctly perform the required task.
Items [1-4] will be evaluated as if the exercise set was part of a medium sized programming project. Exercises will be set and assessed according to the standard expected of a student with no programming experience prior to PHY2004 (Scientific Programming in C) but who has successfully and competently completed that module.

Incomplete or incorrect programs

Incomplete programs will be given a mark roughly in proportion to the fraction of the program that has been completed. Programs that are complete but do not work due to a bug will lose at most 20% of the mark (note that this refers to programming errors, errors that suggest that the programmer is attempting to solve the wrong problem may lose more marks).

Award of marks

For a typical question marks will be awarded approximately as follows:

10%Clear understanding of problem to be solved
50%1Good function structure and API
Good data structure
Clear and safe coding style
10%Consistent layout, including indentation and position of braces2, 3
10%Use of #define for constants
Correct use of function prototypes
Appropriate comments
20%Program gives correct answer

1 This percentage will be distributed among these items according to their relative importance for the exercise and the extent to which the function and/or data structures were given in the question.
2 The student may adopt any reasonable style which should be consistent within any given program but may differ between programs.

3 XCode on the Macs will reindent your code for you by pressing Command-A (Select All) followed by Format->Re-Indent from the menu. It is recommended that you do this frequently.

Part of the marking process will be aimed at assessing the level the student seems to understand what they are doing.

For each exercise the student will be given a percentage break down of their mark together with a brief comment explaining the percentage awarded. This will then be multiplied by the marks for that exercise and subjected to a linear shift (y = a + b*x) to produce the final mark.

Deadline for handing course work

It is an important part of the teaching process of this course that some of the problems set may be discussed in the next session. Therefore, all course work must be handed in by 1:30 pm of the Monday thirteen days after the work has been set, whether it is finished or not. There will be a penalty for late submission unless justified by serious medical or similar circumstances. Similar deadlines will be given for non-weekly course work.

As a laboratory class, attendence is compulsary and students are expected to be available to discuss their work. Marks will be deducted if students are unavailable without good reason.

Presentation of course work

Course work will be handed in on-line. Copies may be made and retained by the course lecturers for quality assurance purposes. Files should have the suffixes '.c', '.h' '.dat' or '.txt' and be formatted to print out in A4 portrait without losing the ends of lines. Files without these suffixes will be ignored and deemed not to have been handed in.

Acceptable and unacceptable collaboration

Students are encouraged to help each other by, for example, discussing problems and approaches, explaining technical issues, or finding bugs in each others programs (the latter can be very productive). However, each program must be that students own work and collaboration in actually writing the program, or copying of others programs is not allowed. Nor is copying of programs from other sources such as the Internet. If in any doubt about whether collaboration is acceptable, put the level of collaboration in writing as a comment in your code. Code fragments given in course handouts may be used without attribution; that is what they are for.

There is no conceivable circumstance in which it could be considered proper to take a copy of another student's code or to give another student a copy of one's own code. It is acceptable, and often useful, for a colleague to look at your code for the purposes of helping you with that code, but not for helping them with theirs.

Form of final test

The final test, which accounts for 40% of the total mark, will take place in the final session of the Semester (week 11). It will consist of written questions, covering aspects of programming practice, not C syntax, followed by a programming assignment.

Students may bring a copy of Kernighan and Ritchie or Halpern for reference. A copy of Kernighan and Ritchie will be available. No other material may be brought into the examination.

Criteria for assessing answers to written questions

Written questions, which will be set only as part of the final test, will be assessed for their accuracy with respect to the course notes provided as part of the module.
                                                                                                                                                                                                                                                                       

Validate   Link-check © Copyright & disclaimer Privacy & cookies Share
Back to top