Remove the incentive to cheat, and save yourself the time trying to catch it (and punish it, despite an uncooperative administration).
Remove the incentive to cheat, and save yourself the time trying to catch it (and punish it, despite an uncooperative administration).
Personally, the best classes I had all had rigorous homework assignments. I would learn much more from them than studying for the tests. In fact, doing the homeworks would generally cover more than would be possible to test.
Plus I'm just glad to have built things like a DNS server, and inode filesysyem. Many small games and web servers. Database applications, shells, and compilers just to name a few. These are all things that give me confidence as a programmer.
...I wonder if this is true. "Real work" sometimes requires you to perform in the moment. You can't always just pull an all-nighter to get it done if you're slow.
Also, the best way to do better on a test is to do homework to prepare for the test. And teachers can still assign homework to help students learn, they just can't necessarily use the results for assessment.
My main point is that while testing knowledge in small bits is useful for grading, it's less where I got value as a learner.
As a teacher I just don't know how to replicate that experience in a world where half will skip the work, and all I'm able to do is a two-hour sanity check that they learned some concepts. How do I test for "the experience you developed spending four hours making that register allocator behave properly, to the point where you're intimately familiar with every failure mode"?
ask them to list and describe failure modes on your exam.
An intro to CS class where every answer is a few lines of pseudocode might be able to effectively teach the material by forcing everything on to the test.
A software engineering class that just test your knowledge of memorizing patterns and makes the project where you actually implement real software incorporating the patterns worth nothing would be useless to actually teaching students anything they can use after graduation.
But I have zero qualifications for any of these opinions other than having been forced to attend a number of nearly worthless university classes that were pointless in the face of just reading the course book. Of course I also had some classes that were worth way more than just the book material, but probably half the classes I had to take I felt were dubiously useful to start with, not to mention the absolutely terrible actual class, and forcing people to attend to get a passing grade was just there to prevent 95% of the class being empty every week.
Similarly, exam-only courses are an excellent way to teach huge numbers of students without the costly hassle of grading homework assignments. But that doesn't mean they're an optimal solution.
From my experience as a student and now a professor, nothing can possibly compare to the benefit you get from hands-on learning. You get so much more understanding from the 20 hours you spent making a complex system work, than you will ever get in three 3-6 hours of in-class instruction you'd get during the same timeframe. And I have no good idea how to test for all the skills you learn from "writing a tiny OS kernel from scratch in C" or "building a compiler" or "implementing a complicated cryptographic protocol and then realizing an attack on it." I do observe that my students who do the homework tend to do much better on the exams, but I'm concerned that the incentive to take shortcuts will be much too high if homework isn't required.
The other dichotomy is also strange, especially since the only person with an actual job is the professor - it is in fact his direct responsibility to structure the course, including incentives, to achieve the best learning.
How? I can vaguely see it if the assignments were truly out of step with the material, but I cannot understand how relevant assignments are a distraction. In mathematics, and in all CS courses I have taught, assignments are at the core of what you are learning, and the best feedback (to yourself and your teacher) that you have a working knowledge of the material.
I don't understand your second question. Currently, university assignments are graded to hold students by the hand. I'm saying they shouldn't do that.
The thread was abou that, but your argument wasn't, it suggested an alternative reason for rejecting assignments, so would be true regardless of cheating, thus not related to this thread
But I guess I let through that yes, I don't think we should take students by the hand at all and you're right that's a whole different debate.