The os assignments.


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