Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site mips.UUCP Path: utzoo!watmath!clyde!burl!ulysses!gamma!epsilon!zeta!sabre!petrus!bellcore!decvax!decwrl!Glacier!mips!mash From: mash@mips.UUCP (John Mashey) Newsgroups: net.cse Subject: Re: Under rewarded projects (grades) (long) Message-ID: <199@mips.UUCP> Date: Tue, 1-Oct-85 04:27:19 EDT Article-I.D.: mips.199 Posted: Tue Oct 1 04:27:19 1985 Date-Received: Thu, 3-Oct-85 04:43:35 EDT References: <133@mck-csc.UUCP> Organization: MIPS Computer Systems, Mountain View, CA Lines: 82 Bernie Gunther writes: > I was Lab TAing a software engineeering course a few years ago with a grade > breakdown which went something like this: > 4 Minor Projects - 40% > Final Project Design 10% > Implementation 10% > Midterm 15% > Final 25% > [much deleted].... A 3 hour exam should not count more than 100 hours of > difficult work.difficult work. > This is a hard call, and seldom has an obvious answer; I used to struggle with it when I taught. [In a former life, long ago, and far away, I used to teach operating systems courses using IBM BAL and OS/360. They had heavy programming assignments, and were consistently voted "most overwork per credit" in student ratings.] Anyway: 1) If a course is more software engineering than computer science, its meat is usually in the programming projects. Hence you must give reasonable hunks of credit for the work put in. It also helps to give out all assignments at the beginning of the term so eager beavers can get going. 2) It is, sad to say, easier to cheat on programming projects, and it is often difficult to grade multi-person projects, even though they can be an important part. Exams provide a good check-and-balance for a) covering material not covered by projects b) catching cheating. 3) I generally used a project<->exam weight of 40-60 to 60-40, and this seemed to work pretty well, especially if a few important questions on the exams were keyed to people's understanding of what they'd done on the projects. Also, it was important to catch cheating. If you're going to make people work like crazy, you'd better make sure you nail most of the cheaters. I found that a good model was the "inverse normal curve", i.e., lots of A's, B's, and F's, very few C's or D's. If people got thru the coruse in any creditable manner, they got A's or B's. If they worked hard and barely scraped through, they got a C. If they didn't do any work, or if I caught them cheating, they got an F. In general, good software engineering courses with heavy labs are HARD to teach, and often thankless tasks. It is HARD to create good programming projects that vary from term to term, are useful, instructive, and OK to grade. Be thankful if you get a good course. Tom Tedrick writes on the same subject: > Things like that happen here also. I think that one of the reasons > it happens is that so many students are so desperate to get into > CS that they will put up with this kind of thing. It could > be looked at as part of the "push 'em to the limit" philosophy > that appears in various places ( i.e. some graduate schools, > basic training in the army, exploitive economic systems ...) ..... This is an interesting theory, and may be true. Sometimes such courses are informally used as "gateway" or "weed-out" courses, i.e., required courses in the middle of required sequences, such that a) everybody knows they're hard. b) success in the course probably indicates that people will do OK later c) an appropriate fraction of people will not make it thru, and will probably switch majors shortly thereafter. Having such things may seem heartless. In an ideal world, there would be free high-quality education for everybody in any subject they want. Given the real world, with university budgets as they are, and especially with computer science viewed as a glamor field, it is hard to be ideal. I tend to believe that if you think you need "weedout" courses, it is best to have them in the middle, i.e., you don't want introductory courses to be brutal, because you want people to get a chance to get started, and you want to avoid a total influence from previous background; on the other hand, it is cruel to make the last course a weedout. As a related example, consider someone who passes such a course by the skin of their teeth, struggling hard. Depending on the circumstances, it may be kinder to tell them privately that they passed, but that they should seriously consider another major, or shift in emphasis, or something, because it is, after all, a competitive business, and there are NOT good programming jobs for everybody who wants one. This is not a fun thing to do; it is easier to just post the grades. -- -john mashey UUCP: {decvax,ucbvax,ihnp4}!decwrl!mips!mash DDD: 415-960-1200 USPS: MIPS Computer Systems, 1330 Charleston Rd, Mtn View, CA 94043 Brought to you by Super Global Mega Corp .com