6 ms·
Learning CS without a computer brings you incredibly good foundations when you do program with a computer. Algorithms, data structures, and other theory become
by jasonjei 11y ago
Learning CS without a computer brings you incredibly good foundations when you do program with a computer. Algorithms, data structures, and other theory become much easier to implement. I used to think it was stupid that we had to implement algorithms on paper tests, but a lot of that makes you a better programmer. I still don't think paging memory on paper has any good use for an OS class--just busy work :).
- mrspeaker 11y agoThe most brilliant programmer I know said his parent's had given him a bunch of money to buy a computer when he went to study abroad. But he used the money for food, and did all of his assignments on paper - only ever typing them in just before they were due in the school labs. Doing them on paper, he'd get to a point where he had a good understanding of his solution and was extremely confident that they'd work on the day!
- rimantas 11y agoI've learned to programm like that. Our school did not have any computers, but there was a CS class in curriculum. Luckily our teacher took her job seriously and taught the basics of programming: variables, assignment, loops, algorithms in general. Later, then I did get access to computer it was only the matter of learning the syntax of the particular language. I still had no access to computer at home, so I did my programming on paper and typed in programs later. I think that's good, cause it makes you think about what are you doing instead of just mindlessly permuting code till it works.
- pjmorris 11y agoI think there's something to doing it in your head/on paper. Reminds me of the story told of Don Knuth, clipped here from Quora... Quote from Alan Kay about Knuth: When I was at Stanford with the AI project [in the late 1960s] one of the things we used to do every Thanksgiving is have a computer programming contest with people on research projects in the Bay area. The prize I think was a turkey. [John] McCarthy used to make up the problems. The one year that Knuth entered this, he won both the fastest time getting the program running and he also won the fastest execution of the algorithm. He did it on the worst system with remote batch called the Wilbur system. And he basically beat the shit out of everyone. And they asked him, "How could you possibly do this?" And he answered, "When I learned to program, you were lucky if you got five minutes with the machine a day. If you wanted to get the program going, it just had to be written right. So people just learned to program like it was carving stone. You sort of have to sidle up to it. That's how I learned to program." - [1] [1] - http://www.quora.com/How-would-Donald-Knuth-fare-as-a-competitor-on-TopCoder-today http://www.quora.com/How-would-Donald-Knuth-fare-as-a-compet...
- ant6n 11y agoFrom today's perspective, it feels odd that those things existed in many people's life times; to be only allowed 'five minutes' access to a computer. Nowadays if you want to program, you could find a used machine to write code on for five hours of minimum wage, or a new one for twenty.
- afarrell 11y agoOr rent a VPS for 45 minutes at minimum wage.
- ianlevesque 11y agoBut what about the computer and internet connection to access the VPS?
- afarrell 11y agoYes, my point is that getting access to a Linux server on the Internet which you aren't afraid to accidentally break is easy.
- drfuchs 11y agoKnuth wrote the entirety of the first version of TeX on yellow legal note pads, and then typed it all in, and then started debugging. Ditto for MetaFont. Both are the equivalent of about 10kloc (after the Tangle preprocessor removes the voluminous comments).
- copperx 11y agoI would love a reference about the yellow legal note pad thing. In reality, writing a program in longhand is something everybody could do -- but because nowadays programming is mostly plumbing, you have to empirically test everything.
- 11y ago
- chucksmash 11y agoProgramming on paper with one attempt at a run and doing crossword puzzles in pen strike me as analagous. I've never programmed on paper to any real extent but doing crosswords in pen certainly made me better at crosswords.
- kazinator 11y agoDoing crosswords in pen has taught me that ball points can write very faintly if you use light pressure, so that a later overstrike visually dominates.
- gknoy 11y agoI found that doing easy and medium Sudoku in pen is remarkably enjoyable, far more so than it ever was when I would make temporary marks. It's harder, and I'm not very good at Sudoku in general, but it really reinforces the "you have to prove it ..." mindset. Strangely, even though I am slower, I seem to get stuck less often.