Hacker News new | ask | show | jobs
by withad 4576 days ago
For any field, there's always some basic knowledge that anyone studying or practicing it simply has to have if they're going to be at all effective. A well-written test should be checking that the students have acquired that knowledge (which can be much of the course content) and can apply it appropriately to problems.

Anyone with an internet connection can easily find out, for example, how to add together two ints in Java. But if someone took an introductory Java course and couldn't do that at the end of it, then they don't deserve to pass because they've clearly not learned what they were supposed to. If they were actually trying to program something and had to look up basics like that every time they used them, they would be so slow as to be completely useless. Or consider someone with a more time-critical job like a surgeon - they can do specific research beforehand but some level of knowledge (surgical techniques, how to use their tools, anatomy, etc.) is simply going to have to be in their head at the moment they need it or their patient could die.

Also, phones and internet access don't just provide knowledge, they're a way to communicate with everyone else in the room. If you want to see if any particular person has actually learned the material, you obviously can't allow that.

3 comments

> If they were actually trying to program something and had to look up basics like that every time they used them, they would be so slow as to be completely useless

Isn't that the point of timed tests? You can structure a test such that the person who needs to look up how to add two ints in Java will waste so much time that they wouldn't be able to finish the test. And if they can search for and apply this knowledge quickly enough, then maybe they've proven that they won't be slow if they have to do it in the real world.

My favourite exams were open book but still hard/long enough that if you didn't already know 95% of the material, you simply wouldn't have time to complete it.

On the other hand, if you allow outside communication (such as unrestricted access to the internet), you open the door for "I'll pay someone who already knows this stuff to phone in the answers for me" - which isn't generally an applicable skill in the real world.

As an aside, I hated open book exams - if you were talented and knew the material, you could typically blast through a closed-book examination in half the allotted time and get out of there, while the open-book exams were far longer and more tedious.

>"I'll pay someone who already knows this stuff to phone in the answers for me" - which isn't generally an applicable skill in the real world.

I would argue that this is also a valuable skill. Knowing who to hire, assessing the person's abilities, figuring out if they can actually get the job done in the time allotted. Sure it's not at the same level that a hiring manager at a tech company in the real world would have to make, but then again the normal CS test questions aren't at that level either.

Agreed with your reasoning within your framework. But I'm a little skeptical of the utility of this framework for thinking about learning. Why do we test people without communication, when most of what they're going to be doing throughout most of life is going to involve communicating with others, one way or another?

I think there IS utility in assessing people with the constraint of "you can't talk to anybody else", but I'm not comfortable with that being the dominant, primary means of assessment. It should be consistent with the likelihood that you'll actually be forced to work stuff out on your own- maybe 10, 20% at most?

Your thoughts?

It probably depends on the subject but if they don't have that basic knowledge they're not going to be effective filling in the test either, even with Google it always takes longer.

Ideally tests should check the deeper understanding of the student and not just his memory skills. In that case Internet access is also not a problem.