4 ms·
Well, hopefully nobody is asking you to write legal Java down to the last namespace and semicolon on paper. (I know some classes do this; I think it's foolish.)
by mquander 17y ago
Well, hopefully nobody is asking you to write legal Java down to the last namespace and semicolon on paper. (I know some classes do this; I think it's foolish.) But writing semi-legal Scheme or pseudocode on paper is easy and no more strange or demanding than doing mathematics on paper. I don't think it deserves a cringe.
Also, if it's some small degree harder to actually physically write the program, I'm not sure that's a bad thing in terms of learning; it encourages you to do more thinking and understanding and less fly-by-wire programming and testing.
- ramchip 17y agoI've had to write 100% legal Matlab, Java and C++ in tests (I study Computer Engineering). All of our exams are on paper only. Actually, I even had a multiple choice question which asked whether in Matlab it was legal to start a variable name with a number. Not the most important thing to know, IMHO, but introductory programming classes here tend to focus on syntax so that the engineering students can get something done quickly.
- mgreenbe 17y agoAbsolutely. My early programming courses all had code-writing on the written exams, all in Scheme. (I think Scheme is particularly well-suited to paper, though, because of its minimal syntax and its "general recursion for everything" approach.) Programming on a computer---particularly in a REPL language like Scheme---tempts one to "just run it". Writing a program on paper requires reflection and planning: good skills, I think.
- yummyfajitas 17y agoRegarding math on paper, I actually find it's easier to do math on computer than on paper. Quick and easy calculations (e.g., less than half a page) are often faster on paper, but the long and involved ones require a computer to manage. I might have different feelings if I didn't use emacs.
- RK 17y agoAre you one of those people who TeX's their notes while sitting in class? I'm always amazed by that. Wish I could pull it off :) Long calculations are a pain, but I find doing it by hand is good, so that I can go back and find mistakes. I tend to use one long scratch pads, so that I have a sort of ongoing, live revision control. When I use LaTeX I tend to erase stuff, because I want LaTex to look nice, and of course the erased parts might have been useful later.
- yummyfajitas 17y agoI never actually developed note-taking skills. After a semester or two, I gave up on even trying. Basically, my calculations usually look like this: interesting quantity < mess[0] < mess[1] < ... < mess[n] < final result I've found it's very easy to copy mess[j] to a new line, edit, and repeat. It's harder to rewrite mess[j] on paper. Storing complicated expressions in emacs registers is also quite nice.
- tsally 17y agoThe high school Computer Science AP exam asks you to do this with Java. Missing a semicolon is a minor deduction, but it is still a deduction.