Live data from Hacker News

Ask HN: Learning to code, without a computer?

news.ycombinator.com

1–10 of 194 posts

Ask HN: Learning to code, without a computer?

#1
I have a friend who is incarcerated, and is dedicated to learning how to code, no matter how slow or arduous the process may be. He has no access to a computer, just books and writing utensils. While it may be very difficult, what are suggestions you have on how to give him the best chance for success?

Even if he's not learning a specific language, what are some background concepts he can learn in depth that will help him understand coding? I recommended he study algorithms as a starting point but I am not a dev and am not sure how to proceed without a computer.

I realize this is an unusual question, but I greatly appreciate any responses. It's sad that someone so badly wants to improve themselves and can't easily do so because of our archaic prison system. I want to help give him a chance to have a real profession once released. Thank you!

Re: Ask HN: Learning to code, without a computer?

#2
Bell Lab's cardboard computer ( https://en.wikipedia.org/wiki/CARDboard_Illustrative_Aid_to_... ) came to mind, but you are probably right that studying algorithms (and at least something about hardware) is probably the best starting point. As it is some time since I was in school, I am not sure what counts as a good introductory text these days.

This does not give any experience in debugging, which is not taught in books, AFAIK. I am not sure what to do about that...

Re: Ask HN: Learning to code, without a computer?

#3

Bell Lab's cardboard computer ( https://en.wikipedia.org/wiki/CARDboard_Illustrative_Aid_to_... ) came to mind, but you are probably right that studying algorithms (and at least something about hardware) is probably the best starting point. As it is some time since I was in school, I am not sure what counts as a good introductory text these days. This does not give any experience in debugging, which is not taught in…

Thanks! That CARDboard looks really cool, I'd never heard of it. I'll look into things like that; I really appreciate the response.

Re: Ask HN: Learning to code, without a computer?

#4
Learning programming without a computer is going to be really tough, but if he's dedicated enough, he should be able to make some good progress. (Although he shouldn't expect to be employable as soon as he gets out.)

CS theory probably makes a good starting point, as a lot of it doesn't require actual coding, but still lays a solid foundation for future work. I would recommend SICP (Structure and Interpretation of Computer Programs, by Abelson and Sussman) as a good starting point. It uses Scheme, which isn't exactly a language he's likely to end up working in, but it will teach him a whole lot about thinking like a programmer.

Re: Ask HN: Learning to code, without a computer?

#5
post #4

Learning programming without a computer is going to be really tough, but if he's dedicated enough, he should be able to make some good progress. (Although he shouldn't expect to be employable as soon as he gets out.) CS theory probably makes a good starting point, as a lot of it doesn't require actual coding, but still lays a solid foundation for future work. I would recommend SICP (Structure and Interpretation of Co…

This is exactly what I was thinking, thanks for the book title! This community is the best.

Re: Ask HN: Learning to code, without a computer?

#6
post #4

Learning programming without a computer is going to be really tough, but if he's dedicated enough, he should be able to make some good progress. (Although he shouldn't expect to be employable as soon as he gets out.) CS theory probably makes a good starting point, as a lot of it doesn't require actual coding, but still lays a solid foundation for future work. I would recommend SICP (Structure and Interpretation of Co…

Also the little schemer series, which just expect you to work things out by hand.

Re: Ask HN: Learning to code, without a computer?

#7
Learning to code without a computer is what we all did, 40 years ago!

He may write programs on paper, and send them to you to type them in, compile them, and print out a listing with the errors. You then send back the listing, and he will correct his program and repeat.

He'll become a great programmer, since he will have to be extra careful to avoid losing one week on some typo.

Now, it's been a few years since gcc has been able to produce a real listing of the compiled source. You would have to write some script to combine the error output with the source file to produce a classic listing. Similarly for other common modern programming language implementations.

On the other hand, without direct access to a computer, he would not attempt to write any interactive or GUI application, only batch programs, unless the interaction is performed only by an external tester for him.

Another idea: some progress has been made on optical character recognition, so if he can write well enough, it may be possible that you may be able to scan his written programs, and convert them to source file easily, without having to transcribe them. So the process could be smooth enough.

If writing ustensils include typewriter, then even better for the OCR!

Re: Ask HN: Learning to code, without a computer?

#8
I remember reading an articulation that it is odd that we are taught to program differently to how we are taught to play music.

With music, we are taught to read before we write.

With programming, we start out writing.

This seems like a great chance for your friend to try out the music learning approach. Send them books of excellently written programs, and allow them to read before they write.

[As a side note: What is their goal? To program to become a software engineer? To program to build web applications for fun? To program to learn how to build products to produce a profit for themselves? The goals will inform the process.]

Re: Ask HN: Learning to code, without a computer?

#9

Learning to code without a computer is what we all did, 40 years ago! He may write programs on paper, and send them to you to type them in, compile them, and print out a listing with the errors. You then send back the listing, and he will correct his program and repeat. He'll become a great programmer, since he will have to be extra careful to avoid losing one week on some typo. Now, it's been a few years since gcc h…

> He may write programs on paper, and send them to you to type them in, compile them, and print out a listing with the errors. You then send back the listing, and he will correct his program and repeat.

Reminds me of this Reply All podcast episode https://gimletmedia.com/episode/64-on-the-inside/

"For years, Paul Modrowski has been writing a blog from inside a maximum security prison. Only thing is, he was arrested when he was 18 and has never seen the internet."

Post reply on HN