I teach an Operating Systems class that incorporates some programming projects to exercise processes, threads, queueing, etc.
Recently I started having the students develop OS simulators that take meta-data input (so we don't have to wrestle processor-level coding). As part of that activity, I have the students grade each other on a tightly specified rubric. Each has a secret ID number so no one knows whom s/he is grading. I also brow beat them about how their code represents their department and their degree so they had better do a good job (not mean, not easy, but good) of grading the programs. While this is not supposed to be a programming class, the students are discovering the concept of reading others' code as well as analyzing parts of it that they can't know just by running it. The results have been impressive, and in a semester where we have four or five iterations of these programs, the students report that the quality of the programming improves. I also see this in the student-provided grades as well as when I review a few of them. My plan was to exercise some OS concepts, but this has actually turned out to be a pretty good activity to get the students doing (and thinking about) more than just hacking code together. Cheers! Michael Leverington, Lecturer Dept of Computer Science & Engineering University of Nevada, Reno www.cse.unr.edu/~michael - 775-784-1414 “There they go and I must hasten to catch up with them for I am their leader” Anonymous -----Original Message----- From: firstname.lastname@example.org [mailto:email@example.com] On Behalf Of Richard A. O'Keefe Sent: Monday, June 15, 2015 9:20 PM To: Derek M Jones Cc: Andrew Solomon; Dan Sumption; Gergely Buday; firstname.lastname@example.org Subject: Re: [ppig-discuss] Aweful quiet? On 16/06/2015, at 2:01 am, Derek M Jones <de...@knosof.co.uk> wrote: > The problem I used to have with fresh undergraduates (fortunately I > rarely have to deal with them these days) is that they have been > taught the wrong set of priorities and it takes time for them to unlearn them. > > I wish that economic issues played a major role in what was taught. > All this mathematical purity nonsense needs to be ditched ASAP (there > are way too many failed mathematicians teaching computing). Can you elaborate on this? If we're interested in the psychology of programming, we have to be interested in what programming *is*. I regularly encounter programs that (a) don't work under the current version of Windows or Java or whatever (b) loses access to a device (upgrading to iOS 7 made my iPad forget it had a loudspeaker; the machine I'm typing on stopped believing in the existence of mice for a while) (c) breaks a major feature (Apple's Mail program has a search feature which mysteriously stopped working at the beginning of the year and nobody here knows how to fix it, so I use a Web interface to search and Mail to read..., and this has not changed from 10.8 to 10.9 to 10.10) (d) have major security mistakes (e) has never worked over the documented range of inputs (f) rejects valid input (like the way the country-wide teacher- payment system would not accept names with apostrophes in them for several months) ... and there seems to be no difference between open source software and commercial software except for price. There seem to be a lot of Svens out there. (Scott Adams' "I think software should HURT the user" Sven.) -- You received this message because you are subscribed to the Google Groups "PPIG Discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to ppig-discuss+unsubscr...@googlegroups.com. To post to this group, send an email to email@example.com. For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "PPIG Discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to ppig-discuss+unsubscr...@googlegroups.com. To post to this group, send an email to firstname.lastname@example.org. For more options, visit https://groups.google.com/d/optout.