Path: utzoo!utgpu!news-server.csri.toronto.edu!bonnie.concordia.ca!uunet!munnari.oz.au!uniwa!bilby.cs.uwa.oz.au!chris From: chris@cs.uwa.oz.au (chris mcdonald) Newsgroups: comp.edu Subject: Setting programming exams in Comp. Sci. courses Keywords: viability? experiences? Message-ID: Date: 2 Jun 91 02:21:25 GMT Sender: news@bilby.cs.uwa.oz.au Organization: Dept. Computer Science, University of Western Australia. Lines: 79 I am interested to learn if any other Computer Science departments set "programming exams" as part of their assessment of students, and if so to learn how you run them and how successful they are. Using just my 2nd year undergraduate 25 lecture "Compiler Writing" course as the example, we currently set one or two projects to be completed over about 6-8 weeks. These practical exercises are worth 40% of the assessment for the unit, the other 60% coming from a 1.5hr exam. The projects typically take an average student 20-50 hours to complete (some variation!) These projects, though successful in highlighting many sections of the course, introduce other problems : * The 240 students doing the course using 38 terminals presents obvious problems with reduced access and crowding. Problems such people occupying a terminal for 12+ hrs or writing terminal "locking" programs are common. * There is little guarantee that a student's submission is entirely their own work - it may be the result of a group effort or include some plagiarized material. * There is insufficient motivation for the students to work consistently on their preceding laboratory sheets or during the project itself (we tell them it will be crowded but they still work in the last week). To solve these problems and to get a more accurate estimate a student's ability to complete a problem in a reasonable time, I have proposed using a programming exam next semester (commencing July 15). The emphasis here is that it is a *practical* exam rather than a theoretical one (which will be taken in November and be worth 60%). The logistics will be that each of the (240) students will be required to attend a 4 hour laboratory session in the 2nd last week of semester. They will nominate a time (as they do for labs) and provision will be made for some by having two of three evening (6pm-10pm) sessions. The practical component of the course will include eight or nine week length laboratory sheets which the students should do to become familiar with the work, understanding and making additions to a (900 C lines) compiler for a Pascal-like language. The practical exam will consist of eight to ten different questions (each exam session only does one) involving further modifications to the compiler, justifying their additions/changes through documentation and, perhaps above all, doing this in the time limit. Some exam questions may in fact be re-worked laboratory sheets and knowledge of this will encourage everyone to do all the sheets. Each student sitting in an exam session will be placed in a restricted "programming environment", in their own isolated directory structure, with access to only a dozen programs like the editor, C-compiler, copy, list, etc. Each student will be given copies of the files they need. It will not be possible for students to copy files to each other via the directory structure or e-mail. Each exam will be supervised though not demonstrated. The challenge will be for me (together with my tutor) to design a number of questions of equivalent difficulty, each which can be reasonably completed (the software that is) in three hours, have a sample or preferred solution and a well defined marking scheme. -------------------------------------------------------------------------------- I welcome your thoughts on this proposal, both reasons as to why you don't think it will work and suggestions as to how it could be improved. -------------------------------------------------------------------------------- Chris McDonald. _--_|\ / \ X_.--._/ v Department of Computer Science, ACSnet: chris@budgie.cs.uwa.oz.au University of Western Australia, ARPA: chris%budgie.cs.uwa.oz.au@uunet.uu.net Mounts Bay Road, FTP: bison.cs.uwa.oz.au, 130.95.1.23 Crawley, Western Australia, 6009. SCUD: (31.97 +/-10% S, 115.81 +/-10% E) PHONE: +61 9 380 2533 FAX: +61 9 380 1089