Still thinking about the practice of typing in code listing verbatim as a pedagogical tool.

Quotes

Some confirming quotes from reading:

…I took online courses, though I made sure to type out everything as I went through them. That alone increases confidence, because you’re actually building something versus copy/pasting. Could be a psychological trick. I don’t know, but it works.

burntjamb

I like: “Could be a psychological trick.” Yep!

Are there any scientific studies and results of the studies on if this was just tedious work, or if the user did learn something about programming just by typing it in the computer?

Coder

Exactly what I want to know!

The typing didn’t. The subsequent debugging did.

Mark Morgan Lloyd

Nod.

And modification, customization, etc.

I’m a software developer today because of typing in listings from Amstrad Action in the 1980s, debugging, and changing code to see what happens. It all stemmed from there so, anecdotally, there is evidence - me!

The Betpet

…When typing them in, one had to read it first, which naturally creates understanding - not to mention that typing errors were common and we all know debugging without understanding is a game of luck.

Raffzahn

Adapting to your computer’s dialect was a real experience!

Harper - Reinstate Monica

But the “best” thing for learning was fixing the syntactic errors you made while typing.

Kingsley

Looking at the archived type-ins, I realize that yes, I did learn a lot of my first steps of programming, and formed my first early opinions about things like programming style, from type-in games.

Dewi Morgan

I typed many Basic programs manually into my TRS80 from the 80 Microcomputing magazine. If you had an interest, like I did, you could learn about programming from this. I also learned to touch type reasonably well (with all ten fingers!). Definitely learned to find typos, etc. but also enjoyed tinkering with the programs. This led to writing my own programs. Which ultimately led to a 40 year career as a programmer analyst.

user3573712

Although I agree with other posters that the significant learning experience was in debugging, following transcription errors both on my part, and on the part of the publisher, note that yes, tedious copying is a well-known, though not highly efficient, method of teaching and learning.

david

Hmm: “tedious copying is a well-known, though not highly efficient, method of teaching and learning

Agreed, what’s an effective alternative?

Worked examples that increase in complexity?

Typing in these programs was a great way to learn BASIC and assembly (the dominant languages back then). I know I learned a few tricks this way.

Jim Nelson

Thoughts

Some more thoughts:

  • The listings are a better learning tool if you know “something” before hand, e.g. basic syntax, how to compile/run, etc.
  • Learning comes from a careful reading/re-reading, such as when fixing and modifying the typed in code.
  • This is different from tutorials and exercises that pose problems, questions, or explain code line by line as it is put together.
  • These are large atomic blocks of code to be typed verbatim, often with little description other than “A progam to do x” or “a game that does y”.

Would a hard cover book of 30 sort, search, graph, etc. algorithm code listing be of value for new-ish programmers for copywork?

Does typing in a quicksort give you the intuition for the clever innovation it proves over other sorts, like a bubble?

Does it require exercises, unit tests, tutorial content to really “get it”? Probably.