Ask Slashdot: Should Coding Exams Be Given on Paper? 274
Slashdot reader Qbertino is pursuing a comp sci degree -- and got a surprise during the last exam: being asked to write code on paper.
Not that I'd expect an IDE -- it's an exam after all -- but being able to use a screen and a keyboard with a very simple editor should be standard at universities these days... I find this patently absurd in 2018...
What do you think and what are your recent experiences with exams at universities? Is this still standard? What's the point besides annoying students? Did I miss something?
A similar question was asked on Slashdot 16 years ago -- but apparently nothing has changed since 2002.
Leave your best answers in the comments. Should coding exams be given on paper?
What do you think and what are your recent experiences with exams at universities? Is this still standard? What's the point besides annoying students? Did I miss something?
A similar question was asked on Slashdot 16 years ago -- but apparently nothing has changed since 2002.
Leave your best answers in the comments. Should coding exams be given on paper?
Comp Sci (Score:5, Insightful)
You are going for a computer science degree. You must be able to express your ideas on paper, a white board, napkin, back of your hand, ....anywhere.
The poster apparently needs to transfer to a code monkey program.
I hear DeGree Mill will take anyone with the $$$$ or student loans.
Re:Comp Sci (Score:5, Interesting)
The ultimate CS test:
The student gets a paper notebook and a pencil, and is paired with a partner who knows nothing about programming. The student has to explain an algorithm to the partner. At the end of the exam the partner has to independently write down their understanding of the algorithm, with diagrams.
The best test of whether you understand something is how well you can teach someone else. And unless you're a code monkey, this is probably what you're going to spend half your life doing anyway, whether it's explaining to PHBs or grant review committees. My sister makes custom leather book coverings. She's going to make me one for the cheap notebook I keep in my bag at all times for this exact task.
Re:Comp Sci (Score:4, Insightful)
Two of my favorite interview questions back in the day. These are showing my age, I don't know if sorting algorithms are even taught anymore, and most IDE junkies don't know SQL at all:
1) Explain quicksort
2) What is a LEFT JOIN?
Re: (Score:2)
Quicksort is what happens to arrange the elements of 'base' when you invoke the qsort function from the Standard C library with the proper size and a comparison function -- in order by the comparison function.
qsort(void*base, size_t nmemb, size_t size, int (*compar)(const void*,const void*));
What is left join
Left join is the arrangement of SQL output you get when you invoke SELECT * from table1 LEFT JOIN table2 ON ( table1.attribute1 = table2.attribute2 ) .
Re: (Score:3)
It's kind of like effective theories in physics. What is magnetism? Magnetism is the force acting perpendicular to the direction of motion of a charged particle.
Re: (Score:2)
Left join is the arrangement of SQL output you get when you invoke SELECT * from table1 LEFT JOIN table2 ON ( table1.attribute1 = table2.attribute2 ) ...
While it is "true", it explains nothing.
If you had given an answer like that in my exam, you got zero points
Here is a simple link, perhaps you grasp it: https://www.w3schools.com/sql/... [w3schools.com]
Re: (Score:2)
I suggested to someone the other day that the ideal Python IDE was a text editor and a terminal. Choose an editor with syntax colouring if you must. The look I got. But what about the autocompletion??
I've never actually met an IDE where the autocompletion didn't piss me off.
Re: (Score:3)
Autocompletion I can do without (or with, it doesn't really matter to me). But I must have syntax colouring; it makes it so much easier to scan code looking for a certain pattern, that it's now painful if I look at code without it.
I actually have a specific interest in this topic, since I'm an instructor in Computer Science, and we are currently comtemplating just such a move. Similar to you, I'm always amazed at the number of students that are completely lost without the IDE. They want to load up this h
Re: (Score:2)
Just boggles the mind.
Why?
In which package actually is the "Date" class?
Oh, there are several?
And the IDE makes it _esay_ to pick the correct one ...
And IDE launches in 3 seconds ... why the funk should I use vi to write a 20 lines Java/Groovy program, when I can use an IDE?
Can launch it with a right click instead of writing a shell script or a line in bash to set up the classpath and start it?
Re: (Score:2)
Well, there's a good reason. Perhaps the use of IDEs encourages poor library design. WHY are there so many date classes you can't remember where they are?
Re: (Score:2)
Because Java has a "normal" Date class in: java.util.Date.
The SQL/JDBC/ODBC package has a Date class to treat dates coming from databases or get stored there: java.sql.Date.
Then as the java.util.Date class has several shortcomings (stupid API for one), most modern developers use the "Joda Date" library, which is now basically incorporated into Java 8 as: java.time.*
Point is: I do not expect a developer to know exactly the name of a package to type "import java.util.Date;" and make no typo, when the IDE does
Re: (Score:2)
I think your examples nicely make the point. I don't know if the commonality of IDEs is responsible for the plethora of Date classes in Java, but I can't imagine it helps.
Re:Comp Sci (Score:4, Insightful)
Because one day, your fancy-pants IDE will be unavailable. You'll be trying to do or fix something with nothing more than an ssh link and vi. And if you're completely reliant on your IDE and it's crutches to write your code, and you don't know vi anyway; you're screwed.
Re: (Score:2)
I'd surmise that it's a matter of improved tooling, accessibility, and so on. There are folks who make doughnuts by hand, but head to many stores and there is a system that drops proper batter rings into the oil, moves them along, flips them halfway through, pulls them onto a wire belt to dry, runs them under a sluice of icing, and so on. Even automatic rising assemblies for dough doughnuts. Both can result in exactly the same thing.
The person making them by hand may understand exactly how the temperature a
Re: (Score:2)
You fail at analogy. Comp sci is about creating the recipe for the next donut. Programming is making more donuts faster.
Programming is the fine art of wrestling a computer in hopes of getting it to perform an acceptable approximation of what you want it to do.
Comp sci is in part about how to have a reasonably good chance at success at this, and some chance of understanding why it isn't working, even if you (correctly or not) are certain that you wrote the code correctly.
vim is what I use. If you know the language (Score:3)
If you know the language, a solid text editor is the best way to go. For professional programmers, if you take the time to really learn a great editor the code can flow effortlessly, almost as if your brain is wired directly to the output. Think "delete this block" and your fingers automatically do the keystroke to delete a block.
If you DON'T know the language, having autocomplete make suggestions can help as you guess your way through it.
I do turn on syntax highlighting mostly because it provides an obvi
Re: (Score:2)
"If you DON'T know the language, having autocomplete make suggestions can help as you guess your way through it."
Agreed. Which is a great reason not to use them. It's like looking at your fingers when you type. It helps when you're a crappy typist, and when you're learning you can fool yourself into thinking it makes you better, but you'll never learn properly if you do.
That would be an interesting study. Slow autocompl (Score:2)
It would be interesting to do a study on the extent to which autocomplete is a teacher vs a crutch.
My guess is that the ideal would be a slow-response autocomplete, slow enough that it never appears while typing things you know, and it gives the learner a second to try to remember. If you stop typing mid-word for a few seconds (because you don't know) it prompts you with reminders.
It's language-dependent too. For example, JavaScript was written in a just a few days. Because of that, the order of arguments a
Re: (Score:3)
That would be interesting. Mr. Miyagi would suggest that you'd learn better by being forced to go look it up repeatedly. There is some research that suggests you do learn best when things are difficult, but not impossibly difficult.
I was just discussing with the always insightful Angel'o'sphere the possibility that the proliferation of IDEs with autocompletion is at least partially responsible for some of the poor interfaces in libraries and languages. Java apparently has at least three Date classes, all
Re: (Score:2)
Re: (Score:2)
Seems more like a communication skills test. Certain conditions that affect communication skills but not reasoning or understanding of CS would have a massive effect on this test.
It is also heavily dependent on the ability of the partner.
Re: (Score:3)
Communication skills are pretty important for real computer science. Poor communication could certainly screw you up here, but so could a poor understanding of whatever algorithm you're supposed to describe. I've taught quite a few students, and many can rattle off an implementation of an algorithm without any problem but actually have no idea how it works.
To be clear, I said in my original post "if you're not a code monkey." If you're supposed to be learning to implement fairly straightforward requireme
Re: (Score:2)
Given that communication skills are very important in many real-world situations a person with a CS degree might be in, I'd argue that it's reasonable to require that you learn and develop them--and possibly also cover how to make sure you've got things properly documented in case somebody tries to get out of paying you for contract work by claiming you didn't do what you were hired to do. The better you can show that when you started work you both agreed that you were supposed to be delivering what you di
Re: (Score:3)
If you aren't capable of abstract reasoning you probably shouldn't be on a CS course in the first place.
Re: (Score:2)
Yeah, but who the hell wants to write out all those brackets, parentheses and other characters by hand? It takes ages compared to typing it out.
This is no different than those fossils who'd harp about penmanship in the 1990s. if the goal is the separate the logic from the expression method anyway, there's no reason not to give students a text editor to type out their code for exams.
Re: Comp Sci (Score:4, Insightful)
Lets take it from the top. TFS was asking about writing CODE on PAPER. Supposedly, the point of the exercise is to abstract the logic from the method. Code-on-paper is also a method, just like the same code typed in notepad.exe or expressed in flowcharts on a whiteboard. Hell, flowcharts are better suited for paper than code. Code-on-paper is fucking stupid.
Re: (Score:2)
Writing by hand is also problematic for people with certain issues/disabilities. I have arthritis in my hands, so writing much gets painful and degrades my cognitive abilities.
Re: Comp Sci (Score:2)
You have, what we used to call, a disability, one which can be accommodated in any number of ways. The average student does not have a disability, and is able to do their exam work in any number of subjects on paper and pen/cil.
The comp sci teacher should offer you the same accommodations your Psych 101, English Lit 101, and other teachers offer - nothing more.
Re: (Score:2)
you canâ(TM)t use your shit-ass JBeans Pro 2000 IDE on a whiteboard, stupid.
The whiteboard is a tool. Not everyone "REAL" CS person uses it. Whiteboarded code has no formal syntax, so it's not like coding --- parentheses are only written if they are pertinent logically If/End If may be omitted or replaced with a shorthand. Brackets/semicolons are almost certainly not present.
The whiteboarder May not have an IDE available, but
in exchange will use whatever conventions they are most
Re: (Score:2)
Re: (Score:2)
I agree that pseudocode is also a better method for paper but TFS didn't say pseudocode. He implied use of languages that are better off typed. This is a common experience in school.
There's no point in doing this. These are highschool/college students. Let them hand write or type as they prefer. If it's illegible, reject the submission and tell the student to rewrite or type it. By the time tests roll around, the professor already knows which students should probably type their work. Hell, since compsci's a
Re: (Score:2)
Last CS test I took(~6-7 years ago) didn't allow pseudocode, We had to write it in syntactically correct Java. Points off for missing brackets/semicolons/etc that would make the code fail to compile as written.
Professor's Choice (Score:3)
You are going for a computer science degree. You must be able to express your ideas on paper, a white board, napkin, back of your hand, ....anywhere.
Not only that, but it's a college course run by a professor. The exam format should be the professor's choice, with a very few exceptions mandated by the university. (For example, blind grading most obviously.)
However, the professor should be up-front about the requirement at the beginning of the class, before the student is locked into taking it.
Re: (Score:2)
Presumably, you should also be tested on your ability to express your ideas using a quill pen and parchment, then?
The question wasn't about CONTENT of the exam, but about format. And using paper and pen isn't any more useful to testing your knowledge than using a clay tablet and a stylus (which, presumably, would be baked before it's turned in, to prevent ch
Re: Comp Sci (Score:3)
How does English department administer exams, on word processors or paper and pen/cil?
Does English department expect students to properly punctuate their twisting, or are they allowed to answer questions in pseudo-English?
Making the test-taking process 'easier' isn't the issue, measuring a student's grasp of the material is.
When I took programming classes in high school, our exams were on paper and pencil, but were open book - my instructor felt that since you would have access to manuals if working as a pr
Re: (Score:2)
"Face it, most people use keyboards for writing these days, not pens & pencils. So why hasn't University caught up with that notion..."
Because exams require devices which are not networked. This requires capable staff and accommodating administrators, which rules out most schools.
Re: (Score:3)
As long as the professor isn't grading on syntax (i.e. use pseudo-code), I'm all for coding on paper. I do it all the time, even today. As a senior-level developer, I spend way more time "coding in Word" than I'd like.....writing specs to give to junior developers, drawing pictures in Visio, etc. As long as you understand what it's doing, it doesn't matter what the syntax is --- syntax can be checked easily in any good IDE or with a quick search.
Re: Comp Sci (Score:2)
Curious about this logic of allowing/using pseudo code in exams - does English department allow 'pseudo-english'? Is punctuation not important in coding anymore? (it was when I coded on mainframes in the 90's.)
Re: (Score:3)
What is the exam actually testing? Your knowledge of a CS concept or your knowledge of the syntax of a specific language? If my course is "Data Structures", then I need to understand Arrays, Lists, Dictionaries, Heaps, B-Trees, etc. If my course is "Introduction to C++", then obviously, I need to know how to use a for loop and how to declare a class.
The English department is obviously testing your knowledge of the English language, therefore pseudo-English is not appropriate.
Re: (Score:2)
"As long as the professor isn't grading on syntax (i.e. use pseudo-code), I'm all for coding on paper..."
I somewhat agree with you, but if you had to constantly grade programs for 50 students for 16 weeks, and you don't bother to force them to adhere to a certain style, you might have to take stress leave before the end of the semester. No student takes you seriously until you deduct points---there is no way around this.
The exam was OOP1. Pure code. (Score:2)
The exam was OOP1 and pure code on paper. So your critique doesn't compute.
Re: (Score:3)
Your points about optimizations are ALL wrong.
And that is why learning the theory matters.
e.g.: optimizing bubble sort ... har har har ... for small data sets bubble sort is the fastest!. Merge sort is only quick when the data is already partial sorted ... and quicksort has the exact same time consumption regardless if the data is already sorted or not ...
Btw: mergesort was invented to sort data that comes from a disk ...
Re: (Score:2)
I never said learning theory didn't matter. Of course theory matters.
But implementation details ALSO matter.
Try actual reading instead of an ignorant knee-jerk reaction.
Student knows best (Score:2, Insightful)
Not that I'd expect an IDE -- it's an exam after all -- but being able to use a screen and a keyboard with a very simple editor should be standard at universities these days... I find this patently absurd in 2018...
Yes you know better than the university when it comes to evaluating your skills. And I find you patently annoying.
Re:Student knows best - Maybe (Score:2, Insightful)
Years ago, at Georgia State U a couple of us going for MS degrees had to take the C++ programming course.
My classmate had an MS EE and had over decade of C++ programming experience. I had a similar amount.
Both of us tried to get out of having to take it and showed our resumes with our years of experience.
Nope. We HAD to have a class in it from an accredited school.
I sat back, did my assignments and only participated when called upon. My classmate had a tendency to point out the instructors (Ph.D. CS) whe
Re: (Score:2)
That makes the case for being allowed to test out of a class. Which should be allowed for any class that's not core to the curriculum.
Re: (Score:2)
Why not allow testing out of a class that is core to the curriculum? Perhaps the "test out" test should be harder (deeper and broader and probably longer) than the tests that would be taken by someone taking the class and/or perhaps the "passing score" should be an "A" just to make sure that the person really wouldn't benefit from taking the class because they would likely learn something from it.
Re: Student knows best (Score:2)
Well I'm sort of glad the Prof didn't have us punch cards. Although that would've been more useful than papercoding.
Re: Student knows best (Score:3)
Learned orofessional coding technique using coding forms handed to keypunch operators and getting three compiles a day - morning, afternoon and overnight.
Re: (Score:2)
That does teach one to be careful. But, what's this "three compiles a day"? Did you bribe the RJE operator?
That was torture (Score:4, Insightful)
I graduated in early 2000s myself. The finals were all on paper. I had a lot of programming related classes. 3-4 of those 2+ hour tests back to back.
Writing small apps, quick sorts, manipulating data structures, you name it. As much as hundreds or even thousands of lines of code handwritten over the course of a few days, every year. My finger had a mark from the pen. And if you made a mistake, not all professors were ok with just drawing arrows to "insert" code, so there was a lot of starting over too.
The challenge in those exams was not figuring out the solution. It was writing it down. I still have nightmares from it to this day.
Re: (Score:3, Interesting)
A well designed test should check if you understand syntax and punctuation rules. It should not use rare properties or methods that auto complete would help with.
I'm okay with some courses doing a written test, some using a minimal text editor like notepad, and advanced tests in an IDE. As long as the advantage can be explained.
I do understand writing a simple app on paper. It means you have to design before writing so methods are small and start out refactored. Of course the prof should be teaching it that
Re:That was torture (Score:4, Insightful)
Language syntax is not really computer science, its trivia.
Re: (Score:3)
So you had incompetent professors.
Nobody sane expects that handwritten code is 100% syntactically correct and not containing fixes. Missing semicolons aren't relevant in general for instance as the compiler will catch most such errors.
There's a point to it (Score:5, Insightful)
I don't know about the author's instructor or course, but there's generally a point to this.
* Can the student write a correct algorithm, bug-free without the crutch of running the code. Running code often leads to writing code by trial-and-error without much thinking.
* Does the student know the language well enough to write code without the suggestions of an IDE?
* Avoid all technology problems. My computer crashed. My battery's dead. I accidentally deleted the file. I have the wrong version installed.
Re: (Score:3, Insightful)
Which is unfortunate, IMO, because this could disqualify people who might have a legitimate physical disability that may prevent them from doing so (essential tremors comes to mind as one most obvious example) but still otherwise have an excellent grasp of any necessary concepts and can generate solutions quickly.
Re: (Score:3)
Re: (Score:2)
Avoid all technology problems. My computer crashed. My battery's dead. I accidentally deleted the file. I have the wrong version
Computer based testing is typically administered using special software or a HTML5 web-based app. High school students are taking ALL their tests in ALL subjects using computer-based testing these days..... I think Universities could easily be doing the same, and No.... the student shouldn't need an IDE on the test. Nor should they be expected to be writing fully fu
Re: (Score:3)
I would argue that knowing a language should not be a part of a university degree. Knowing what sits behind the language is important, the concepts. Language change too often to make them a useful part of a course, and in that regard an exam on coding should be done with an IDE.
I remember getting an exam paper back with one question graded: "4.5/5 not a single number on this paper is right". But the process followed was hence the good mark for something utterly wrong.
As someone who has set exams... (Score:4, Insightful)
There are a lot of rules to make sure that exams are fair, auditable and so that it requires at least a modicum of effort to cheat. The University is likely set up so that all exams are paper so setting new rules for one or two classes is going to be an uphill fight at the best of times. Specific issues you will need to resolve:
1. How do you prevent people cheating (USB sticks, Bluetooth, getting access to the Internet, etc.)? Who's time is going to be used to set this up and enforce it?
2. What if someone's computer crashes? What happens if they accidentally knock the reset switch (I have seen this happen in a "practical exam" of this sort)? What if they "accidentally" knock the reset switch?
3. How do you support students who use assisstive technology on computers (screen readers, specific high-visibility colour desktop designs, desktops in other languages, etc.)? How do you deal with students who sent skieing in the holiday before the exams and broke both arms (again, I have seen this -- and we sorted it out)?
4. Where do you draw the line on "reasonable" support? Text editor? IDE? IDE with documentation? IDE with documentation including code samples?
Critically : it depends on what you are trying to assess. I've had interviews where they want code written on the whiteboard -- how is this different?
Re: (Score:2)
3. How do you support students who use assisstive technology on computers (screen readers, specific high-visibility colour desktop designs, desktops in other languages, etc.)? How do you deal with students who sent skieing in the holiday before the exams and broke both arms (again, I have seen this -- and we sorted it out)?
This one is currently done all the time. Frequently students with learning disabilities are given special accommodation. Usually in a room separate from the rest of the class, sometimes given additional time to write. I'm sure those assistive technologies are accommodated as well.
Re: (Score:2)
I've had interviews where they want code written on the whiteboard
The purpose of taking computer science is not to learn to write code; nor is it to pass an interview --- coding is a trade skill that is barely germane to CS, other than computer scientists need implementation languages to express their ideas And may analyze code and may use CS concepts to design and build compilers and systems that parse or optimize code, and there are other training routes to learn coding itself (which are shorter
No (Score:4, Insightful)
I suppose if we still had programming vocational schools, but between the H1-Bs and the offshoring they're really just scams at this point. You can count the number of jobs available for that kind of code monkey on one hand of a retired shop teacher.
As a high school programming teacher, I donâ( (Score:5, Interesting)
As a high school programming teacher, I don't... (Score:2)
(NOTE: I don't know why an f-ing iPhone can't submit text properly, but here's my response properly formatted.)
Here's how I've adjusted my teaching practice for a world with smartphones:
1) All my tests are open book/note. In a world where you can lookup anything anytime, knowledge is no longer a valued commodity. However, using knowledge to solve problems is. So all my questions involve higher level thinking, with students able to use their notes.
2) My tests and exams are all done on computer through Google
Re: (Score:3)
I teach at a community college, and all of my exams in programming class have been on paper, except one. Before this exam, I showed students on the overhead that I could see their desktops on my computer. I required them all to leave the IDE maximized (I use the VPL plugin in Moodle). One student did extensive browsing and copying from the net anyway, and I witnessed it. He dropped shortly thereafter, and I returned to paper-only exams forever.
The trick is to condition your students to writing on paper.
Two issues: cheating and difficulty (Score:5, Insightful)
I've tried this all ways: on paper, computers allowed for help (use your IDE, why not, but answers on paper), and I have some quizzes that are purely on the computer. There are two issues to consider here:
- First, and most obviously: cheating. As soon as you allow student-owned electronics, you open the door to connectivity. If not WLAN, than via mobile phones or ad hoc networks or even bluetooth. This is very difficult to control, and is the primary reason that my school still officially prohibits electronics during exams.
- Second, if you're going to allow a computer, you had just as well allow an IDE and make it more "real world". The thing is, this makes exams more difficult for all but the best students. People who are not (yet) very good a programming might be able to show a believable (but uncompilable) concept on paper, and get reasonable partial credit. As soon as they have a computer, it is natural to expect a program to run. The poorer students will lose lots of time trying to get their program to actually work, and are therefore more likely to fail such an exam.
For the last point: I'm not sure this is bad. Personally, I think the world needs a lot fewer mediocre and lousy programmers. However, while that would improve overall software quality, it would mean less code written overall and make software even more expensive than it is.
Cram based tests are stuck in the past and big han (Score:2)
Cram based tests are stuck in the past and big hand written ones just make it easy to make spelling / spacing / etc errors.
It all depends what you are testing. (Score:3)
It all depends, are you testing thinking and code fluency or are you testing for IDE automaticity?
I would suspect that through the programming course, the students have already written several programs using the IDE and turned those on to demonstrate their skills.
The paper exam shows their thinking, familiarity, code fluency, and code grammar and syntax proficiency.
As one who writes code, I still think about it on paper before I type it into the computer, especially when writing algorithms.
Planing on paper really reduces bugs and logic problems because it doesn't require technology. If you just sit down and start coding, it is easy to go down rabbit holes of "why doesn't this work" vs. thinking about the problem.
To me it is similar to writing an outline before writing a paper. You know where you are going and how you plan to get there, Sometimes if I am really pressed for time I will just write comments for the code blocks and use that as my plan, then go and fill in the code blocks.
Alternately, should English exams be given on paper or should students use an IDE like Microsoft Word?
Re: (Score:2)
Agree wholeheartedly. I, actually, have a white board in my apartment when I design systems. But, I do enjoy using tools like Visual Paradigm (a UML) tool or an ERD designing tool to flesh out the designs and work out bugs and edge cases. But, not one line of code is written before it's time to do so. Then, I enjoy a decent IDE with code completion to make the writing part easier.
In college, the written book tests provided a way to guarantee the work is your own and demonstrate mastery of a skill or lan
Survival reqiurement (Score:2)
Paper disadvantages dyslexia and dysgraphia (Score:2)
How do they get around disability laws with this? There are a fair number of people that go into computer assisted professions because they have reading and/or writing disorders such as dyslexia or dysgraphia. I'm at a serious disadvantage on a paper test because I have both. Spell check, grammar check, and syntax highlighting are fundamental requirements for me.
Utter Arse! (Score:3)
Fine if they want it on paper.
But expect bad pseudocode. Any other expectation is not relevant to the medium!
Paper ... (Score:3)
Except for my martial arts exams and my driving license all exams were on paper. ... because we only had 3 or 4 computers in school, and waiting till one was available seemed unplausible ...
And actually when I was young I wrote many programs on paper first
if you can not explain something on paper (I'm not talking full UML 2.x) you likely have not grasped it enough.
Re: (Score:2)
I can relate! I had to learn to keypunch for several classes... I bet this snowflake would love to do his tests that way. I hope I get to give him his first whiteboard interview.
Writing everything out ahead of time was a great learning tool. I usually did the next day's assignment at home (no computer, not even embedded controllers in appliances) and it took forever, but I could make the most of my half hour or so on one of my college's 3 Apple II's the next day. It was a little better in BASIC (PDP-11, 8 o
Comment removed (Score:5, Informative)
Re: (Score:2)
Would you test a Civil Engineering student by asking him/her to build you a bridge?
Yes, but a properly scaled-down version. I agree with paper-only programming exams, but I have to criticize your imperfect analogy.
Re: (Score:2)
That's great as a practice on structures. Not for testing their understanding of the strength of materials theory.
Does the medium really matter... (Score:2)
Operators (Score:2)
I agree with the above advantages of paper over typing. However we have to consider clear handwriting, to know if the test-taker wrote the correct operator. The operators less than, open curly brace, open parenthesis, and open square bracket look similar to each other. And a period and comma look similar. So do ! and | .
If a test is on paper, one way to get around clear handwriting problems is to have a multiple-choice question:
How do you express the ith element of myArray?
a) myArray[i]
b) myArray(i)
Re: (Score:2)
In Pascal/C it is a)
In BASIC it is b)
So what is your point?
If one writes either of it in pseudo code in an exam, I know he knows what he is doing. Why would I fail him the test?
Re: (Score:2)
So what is your point?
My point is that a multiple-choice question is a way to avoid the problem of not being able to read the student's handwriting, and not knowing if s/he wrote brackets or parentheses in the test.
I do it on paper (Score:2)
I do my OOP exams on paper because I don't care if you can or cannot write correctly in $LANGUAGE. The IDE and stackoverflow will eventually correct your code syntax. What I want to test is whether you can understand what a piece of complex undocumented code does, how do the OOP concepts work in practice* and whether you are capable of designing a software architecture that uses said concepts to solve a non-trivial problem.
If you think a good programmer is somebody that can translate a pseudo-code algorithm
It's a matter of degree. (Score:2)
Real programmers (Score:4, Insightful)
Are taught to write their code away from a computer. It leads to better code. If you can't code away from the machine, you can't code on the machine.
Computing classes will ALWAYS be behind... (Score:2)
Mostly because of how slow ACTUAL information flows back to educational institutions, compared to the Internet-Speed changes in the workplace, educational courses are going to lag actual realities of working with technology by 10-20 years minimum.
Hell, to take computer classes back in the late 80's, they were still REQUIRING you to take a typewriting class!
Never mind that you don't use a computer the same way you use a typewriter or even a dedicated word processing machine...
And, after leaving the Army in t
Coding is still writing after all... (Score:2)
Sounds like the summer of 9th grade. (Score:2)
Back in those days, you didn't have a computer in your pocket. I had no computer access until school started in fall (and then it was really limited). So I wrote a threaded-code FORTH kernel in 6502 assembly on lined paper. Then I debugged it and rewrote it a couple times in between milking cows and attending band camp. By the time I had semi-routine computer access again, I had lots of other stuff I wanted to get to, so I never actually saw it in action.
IOW, big deal, a computer scientist makes do with
As someone who gives the exams: Yes! (Score:2)
As a student this also annoyed the heck out of me. After all, you'll never be without a computer when you're the programmer -- whether it's 1995 or 2018.
As a professional programmer I found great value in being able to write "stream of consciousness" code which compiles, runs, and does what I want it to do.
Over the years, I realized that the only way to get my code to work each time is to be able to write and debug it on paper -- and to master the syntax of the language to the level of not needing the compi
It's, like, 2018 - come on! (Score:2)
Why not head over to their departments in your university and see how those degree candidates write up their exams:
English Litrrature - paper
Physics - paper
Chemistry - paper
Math - paper
Psychology - paper
Astronomy - paper
Biology - paper
Etc.
Why is Comp Sci different?
Good point for paper (Score:2)
How Interesting Do You Want It (Score:2)
My exams were on paper - and my data structures course was also open book, open note.
The professor wanted open book, open note because it let him ask more interesting questions. He wanted to have the exam in the lab so he could ask questions that were even MORE interesting; however, there wasn't a lab big enough where everyone could take the exam at the same time. (I think this is better than having people take it remotely as it helps prevent cheating.)
Also, exact syntax mattered on our exams. Which didn'
Re: (Score:2)
Well, that'll weed out the ones stupid enough to use it.
Re: (Score:2)
Better yet, allow them access to it, have it only display a single random answer to any specific question, and don't provide a compiler to test if it actually works.
Re: (Score:2)
Hey, I love fountain pens! I own about a dozen. Main problem is cheap paper isn't made for them anymore--the ink feathers.
Re:Yes/No (Score:5, Insightful)
'97 CS grad. All the exams were on paper. I don't recall being asked to write syntactically correct programs on paper. That's what the programming projects were for. The point of the paper exams was to check if I understood the *concepts*.
Re: (Score:2)
In addition to write the code, the student should also shape it like a tablet.
Points off if the tablet has rounded corners - that infringes on Apple's patent.
Re: (Score:3)
Computer science isn't the same as being a code monkey. A good CS student doesn't actually have to be a good programmer. A good programmer needn't know the basics in CS (but it would be useful). Many skilled programmers doesn't even know the specifics of common algorithms and datatypes but know when and how to use them - and that's fine.
Re: (Score:2)
Any "skilled programmer" should know the specifics of most common algorithms and datatypes - although if they haven't actually used a particular algorithm in years, I don't see why they can't refresh their brain by spending a couple minutes online (i.e., I would count that as "know" as it was "once knew but have forgotten some of the specifics").
Of course, a keypunch operator working off of coding forms doesn't need to understand common algorithms and datatypes.
Re: (Score:2)