R. Clayton (rclayton@monmouth.edu)
Wed, 25 Oct 2000 11:53:20 -0400 (EDT)
Thank you for taking the time to tell me your views. If we're going to deal
with these issues successfully, we need to understand each other's points of
view. I encourage you to keep it up.
My opinion is that we already have enough c++ courses: CS500, CS 503 and CS509.
The objective of CS 505 is to introduce operating system concepts and not to
test C++ programming skills.
I agree; that's why the class prerequisites assume you know how to program in
c++: "You should be a proficient programmer and have a working knowledge of
basic algorithms and data structures." (from the class home page) What this
class does is put those skills to work learning operating systems concepts.
By taking the four tests we study for the course and our concepts are clear by
taking the exams. Giving programming assignments is unnecessary and stresses
the students unnecessarily.
Perhaps. I do not believe that memorizing, for example, the definition of
context switch well enough to be able to reproduce it with sufficient
accuracy on a test is a good indication that you know about context
switching. (The shorthand form of this paragraph is "We're training
programmers, not parrots.")
On the other hand, if you manage to implement a context switch, even in an
unrealistic, simulated environment, then I (and prospective employers) can be
pretty sure that you have at least working knowledge of context switching,
and that is the purpose of this course: to give you a working knowledge of an
operating system's basic principles.
It is unfortunate that students have to take programming assignments. Last year
the students did not have programming assignments.
That's true, they didn't, and because of that I feel that last year's course
wasn't as valuable as a learning experience as this year's course is going to
be (In fact, three 505 students in that class told me they were disappointed
there weren't going to be any programming assignments).
As an aside, last year's os class was supposed to be a programming class, but
I under-estimated the amount of work needed to get the assignments set up and
eventually had to punt on the assignments altogether.
Also the students who were lucky enough to complete the assignments did not do
so on their own; they got outside help from others. It is not fair to grade
them in the 90s while other students have to work on their own.
At least half the people who got an A on the first assignment were in my
office (or sending me e-mail) practically every day asking me questions,
looking for advice, seeking clarifications. They were not "lucky" to get an
A, they worked hard for it.
There are two sides to getting outside help from others, one good and one
bad. To help you learn the material, I have repeatedly encouraged you to
form study groups, to read outside material, even to talk to other people if
you want; that's the good side. The bad side is getting outside help to
actually write an assignment and then handing it in as your own work; that's
cheating and I consider it a serious violation of trust and ethics.
Because there is no curve in this class, somebody else's A has no effect on
your ability to get an A, but in the larger sense I agree with you: it isn't
fair when people cheat. Unfortunately it does happen; everybody's heard
stories of the student who's spouse or significant other does their homework
for them. Also unfortunately, it is difficult to detect, at least in the
short term. I do have some ways of trying to catch cheaters, but they're
imperfect and take time to work.
This archive was generated by hypermail 2.0b3 on Mon Dec 18 2000 - 13:30:05 EST