News for hackers. Stuff that matters.
Re:'Teach Naked' Effort Strips Computers From Classrooms by yannis on Tuesday August 04, 2009 @11:41AM (#741408)
This is also one of the best ways to teach computer programming. Let also students write programs by hand on paper first. Too many students acquire bad programming habits by brute forcing solutions rather than solving by thinking and researching.
Re:'Teach Naked' Effort Strips Computers From Classrooms by wvenable on Tuesday August 04, 2009 @01:04PM (#741600)
Programming on paper is amazingly bad (I've done it, mostly for exams). Even worse, you will teach programmers that you develop linearly (from top to bottom) and once a line of code is written it cannot be changed. Those are terrible coding habits.

Really brute forcing a solution isn't bad for a first run. If they done it, tell them to make it faster or smaller. Given that they've solved it once, they should understand the problem better.

Re:'Teach Naked' Effort Strips Computers From Classrooms by elbenshira on Tuesday August 04, 2009 @01:40PM (#741687)
I write pseudocode on paper before I implement anything, and it has helped me tremendously. In fact, I think programming on paper encourages nonlinear programming. You can DRAW! Use lines and arrows to code blocks. Sure, it might get messy, but doing it on paper gives you a better idea of how your algorithm should work. You make less mistakes because making a mistake is more costly (you have to erase/mark out the mistake), so you tend to be more careful.
Re:'Teach Naked' Effort Strips Computers From Classrooms by jacquesm on Tuesday August 04, 2009 @03:22PM (#741897)
When I got into professional programming compilers were a round trip to the machine room away. So one thing we did to save time was to 'desk check' our code. This usually meant a simple simulation using a piece of paper to hold the variables, crossing them out when they were overwritten. At some point I could do it for limited pieces of code by just simulating the code in my head.

Simulating code in your head goes a long way towards writing solid code, you'll be able to hold a model of the data and your code together and see whether it will work or not and fix bugs before your first compile.

Re:'Teach Naked' Effort Strips Computers From Classrooms by elbenshira on Tuesday August 04, 2009 @01:35PM (#741669)
I agree, if you can program on paper, you can program on anything. Paper programming forces you to slow down and think.

I'm a CS student the University of Texas, and quite a few of our professors, especially at the entry level programming courses, disallow students from brining computers to class and all our programming tests are all written. This encourages patient THINKING and not sporadic TINKERING.

And about powerpoint: I dislike it because most people do it wrong. The lecture should be guiding the powerpoint, but most people allow the powerpoint to guide the lecture.

Re:'Teach Naked' Effort Strips Computers From Classrooms by pyre on Tuesday August 04, 2009 @01:44PM (#741701)
Yes. Most people have taken Powerpoint and tried to use it as a replacement for having 3x5 notecards with major points on them so that they don't get lost during a lecture/speech. Unfortunately that is the poorest use of Powerpoint.

But this comes hand-in-hand with the way we choose professors. They aren't usually chosen for their teaching or speaking skills, just for their knowledge and expertise in a particular field.

Re:'Teach Naked' Effort Strips Computers From Classrooms by Goladus on Tuesday August 04, 2009 @01:48PM (#741712)
I program better on a computer because despite my Catholic elementary school penmanship training my hand begins to ache after a few minutes of handwriting, and I write slowly. The longer I have to hold a pen or a pencil the more difficult it becomes to concentrate on anything but how uncomfortable my hands are.

I reach for pencil and paper all the time for solving problems, but if I can't write what has to be written in less than 5-10 minutes it's not worth it.

Re:'Teach Naked' Effort Strips Computers From Classrooms by Oompa on Tuesday August 04, 2009 @11:51AM (#741421)
This maybe true, but I cringe at the thought of writing code on paper.
Re:'Teach Naked' Effort Strips Computers From Classrooms by mquander on Tuesday August 04, 2009 @12:12PM (#741482)
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.

Re:'Teach Naked' Effort Strips Computers From Classrooms by mgreenbe on Tuesday August 04, 2009 @12:53PM (#741575)
Absolutely. 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.

Re:'Teach Naked' Effort Strips Computers From Classrooms by tsally on Tuesday August 04, 2009 @02:25PM (#741779)
The 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.
Re:'Teach Naked' Effort Strips Computers From Classrooms by ramchip on Tuesday August 04, 2009 @12:44PM (#741552)
I'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.

Re:'Teach Naked' Effort Strips Computers From Classrooms by yummyfajitas on Tuesday August 04, 2009 @01:17PM (#741626)
Regarding 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.

Re:'Teach Naked' Effort Strips Computers From Classrooms by RK on Tuesday August 04, 2009 @02:02PM (#741734)
Are 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.

Re:'Teach Naked' Effort Strips Computers From Classrooms by yummyfajitas on Tuesday August 04, 2009 @04:51PM (#742153)
I 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.

Re:'Teach Naked' Effort Strips Computers From Classrooms by sp332 on Tuesday August 04, 2009 @12:06PM (#741467)
I wrote code in various languages on paper for tests in college. Even C++ and Java are not horrible if the teacher just asks for you for a code snippet that demonstrates one thing. Obviously "write a whole program that works" assignments were done on a computer :)
Re:'Teach Naked' Effort Strips Computers From Classrooms by pkulak on Tuesday August 04, 2009 @01:48PM (#741711)
I had to write code in college for tests. Didn't bother me at all.