Detecting plagiarism
There's a UC Irvine webpage (put up by one of their CS instructors) that talks about plagiarism detection. What I found interesting was the second part on "Detecting Plagiarism in Prose". They seem to be using this web service called Turnitin.

The site claims that it is "Recognized worldwide as the standard in online plagiarism prevention, Turnitin helps educators and students take full advantage of the internet's educational potential." I wonder how well it does in terms of number of false positives, false negatives, etc.

The service looks at only internet content that may be the source of plagiarism and doesn't take into account that students may copy from one another.

CUPM Guidelines for Assessment of Student Learning
website
CUPM stands for the "Committee on the Undergraduate Program in Mathematics" which is part of the Mathematical Association of America. This article discusses three major considerations for assessment.

  1. what should students be learning?
  2. how well are they learning it?
  3. what improvements are possible?
These three areas are considered in a loop fashion, where a instructor first decides what the learning goals for the class should be, then formulates ways to accurately test those goals, and finally uses the results of those test to improve for the next cycle. The article also stresses the importance that assessments be used to find ways to "improve teaching and learning for the students, not filter students out of educational opportunities."

Electronic peer review
In the paper "Electronic peer review and peer grading in CS courses," Edward Gehringer proposed and implemented a peer grading system to review student programming assignments over Web. Students submit their assignments to Peer Grading (PG) system. TAs or other students are then assigned to review and grade the assignments. The system allows interactive communication between author and reviewer where the authors are able to update the assignments using reviewer comments. The unique features are possibility to submit arbitrary set of Web pages for review which allows encouraging mechanisms for careful review of submissions. Their system includes six detail phase for the assessment from signing up for an assignment, submission, initial feedback, grading, review and finally to web publishing of the final results. At the end they have suggested some features that allows the PG system be benefitable for students in different levels.

Assessment to improve learning in higher education: The BEAR Assessment System
paper
This paper outlines the experiences of a student in an upper level AI class throughout a semester, discussing at each step what went wrong. The main point of this (amusing) narrative is that if teachers don't make regular assessment part of the learning experience for students, they will not only get frustrated but stuggle to learn the material effectively. The authors then propose a system of assessment to address common problems. The section on the assessment system seems to be filled with diagrams and learning triangles and such, which isn't all that interesting to me. The really great part of this paper is the account of the student and what went wrong in the class. Some things I took away from this are 1) timely and accurate feedback is important 2) giving points for effort can be dangerous, and instead to give students extra points on assignments, have them maybe redo the assignment after they've gotten feedback to correct their mistakes. 3) when you post solutions, try to post solutions students actually could have gotten themselves instead of 'expert' solutions. Maybe get permission to use other students' correct answers.

Principles of Good Practice for Assessing Student Learning
website
This website addresses 9 Principles of Good Practice for Assessing Student Learning. One of the principles is to not only assess the outcome of students' performances, but the process to how they got there. By understanding how they face problems, we are able to improve their learning process. Additionally, assessment should be an ongoing process rather than done sporadically. This allows a measurement of improvement over time, where we can assess our own teaching ability and then improve if as we progress. Overall, the website gives a mission for assessment.

Automatic program assessment
paper
This short paper discusses a tool built to automatically asses programming assignments for an introductory programming class. Their tool takes the approach of assessing code structure and return values instead of output. Their tool is used by students online and can provide plagiarism checks, correctness checks, automatic grading and effectively fast feedback. A survey of students following the class demonstrated that many students liked the system but that the automatic feedback could be improved.

Automatic Test-Based Assessment of Programming: A Review
paper
There has been three generations of the assessment systems from 40 years ago up until now; The first generation of these assessment systems demanded a great deal of expertise and when they were supplied with test data they could keep track of running time, and maintain second generation of these assessment systems were tool-based systems (command-line, GUI or script-based) and the focus of the methodology was the correct functioning of the program submitted. The third generation of the assessment systems made use of developments in web technology and adopted increasingly sophisticated testing approaches.

We have to consider several factors for the assessment tools. First of all, the requirements must be carefully specified for these tools to work correctly. Second, graphics and graphical user interfaces are more attractive since they provide impressive-looking results. Third, the material available to the student during the test, which determines whether it is a test of memory, adaptability, or initiative. Fourth, questions requiring the student to design his or her own interface cannot be tested by these assessment tools.

Misc thoughts
The primary goals of grading are, evaluation, communication, motivation and organization. It gives an opportunity for students to learn from their mistakes. It also gives an idea of what the students are supposed to learn from the course. Grading also helps the instructors in moulding their teaching based on the performance of students. It also allows the teacher to provide feedback on a student's performance. The assignments must satisfy all the above goals. The instructor must avoid assigning number of problems of the same kind. Writing a homework becomes mechanical and students lose the motivation to think. Since the goal of grading is to communicate ideas, the instructor must take time to provide positive feedback on a student's performance. Grading should not be merely a process of assigning "Grades".

A resource from Berkeley
website

  1. Avoid grading systems that put students in competition with their classmates and limit the number of high grades.
  2. Try not to overemphasize grades.
  3. Keep students informed of their progress throughout the term.
  4. Avoid modifying your grading policies during the term.
  5. Consider allowing students to choose among alternative assignments.
  6. Stress to students that grades reflect work on a specific task and are not judgments about people.

The impoverished A-F system
website This article talks about the difficulties in assigning grades to students. The overall concept is that a simple A-F grading system is far too coarse and inaccurate to give an indication of how the student is doing in the class. One issue raised in the article is that teachers are often encouraged to use several different types of assignments to assess the skill of the students, but are then given no instruction about how to combine the results into a single letter grade. This can be especially problematic because grades can be used as qualifying marks to permit or deny students access to gifted programs or even schools of higher education. After the teachers in this study implemented some new types of assessment and teaching techniques, they began to see significant changes in the performance of their students. This implies that reevaluating the issue of assessment is a good starting point to help students learn more effectively.

Assessing SQL skills
paper
One of the essential ideas in the paper is that type of grading strongly influences the students' learning approach. The tradition grading of SQL is mainly paper based. However, in practical, designing SQL consists of repeating verification and refinement steps. Thus, the author proposed a online grading system AsseSQL, which is more similar to the practical procedure of designing SQL. Evaluations show that AsseSQL has a evident effect on motivating student to master SQL professionally.

Teaching Software Testing: Automatic Grading Meets Test-first Coding
paper
In this approach to teaching good code-testing practices, the students use Test-Driven-Development (TDD) to write their code. When the assignment is turned in, the tests written by the students are turned in as well. The TDD helps the students find their own bugs. The key is the assessment of the tests. If this is automated and students can be assessed whenever they wish and if that assessment contains code coverage information, the students are encouraged to write more thorough tests.

On automated grading of programming assignments in an academic institution
paper
Human grading of programming assignment is a tedious and error-prone task. This paper studies the implementation of one automated grading system called Online Judge. The system was successful to detect the correctness and efficiency of a progem, but cannot determine a program's maintainability. Besides that, they also implemented a plagiarism detection process in the system, which can detect suspected plagiarism, but those programs still need a further manual assessment to the charge of plagiarism.

Assessing the assessment of programming ability
website
The basic premise of this article is that for assessing programming ability in students, lab exams (an exam in which students are given several programming problems, a computer, and a couple of hours to write solutions which are automatically graded) are the most reliable. These lab exams are a form of summative assessment, but according to the authors they also serve to motivate students' work on formative assessments (weekly labs).

Grades in several forms of assessment among introductory students were correlated with performance on a third-year programming project; lab exams showed the highest correlation. The authors also present several arguments for why lab exams are better than other methods for measuring programming ability.

However, it is not clear from the paper what other areas besides programming ability might be useful to measure, and whether any of the other methods of assessment may be better for those.

Misc links: