Live data from Hacker News

The Benjamin Franklin method for learning more from programming books

pathsensitive.com

81–90 of 105 posts

Re: The Benjamin Franklin method for learning more from programming books

#81
I've been reading the Norton Edition of Franklin's autobiography and some of the excerpts in the back of the book are pretty amazing. A lot of them pretty vicious European responses to Franklin's approaches, especially his list of virtues. For instance D.H. Lawrence:

http://xroads.virginia.edu/~hyper/lawrence/dhlch02.htm

Re: The Benjamin Franklin method for learning more from programming books

#82
This is a pretty common learning technique, one that's been validated in cognitive psychology and cognitive neuroscience research, and one that in grad school (in a different field) I would teach to undergrads that were struggling in the classes I TA'ed. I only wished I had learned it as an undergrad.

For more conceptual learnings, I would instead write questions that capture the main ideas of some subsection or whatnot, then at the end of the chapter, close the book, answer the questions, and summarize the questions. Then go back and check the answers. It takes longer, but active recall helps memory encoding.

Re: The Benjamin Franklin method for learning more from programming books

#83
post #15

This sounds like an excellent idea. However, what about choice of material? We pick a musical piece to learn because we enjoy the tune and how it sounds. How should a beginner choose which code to memorise?

Reminds me of this article: https://medium.com/@markpapadakis/interesting-codebases-159f... A curation of good codebases by someone who studies a lot of them.

He lost me when he said this:

"Tensorflow: This is the finest Google codebase I ‘ve studied. Great design, very high quality code, and easy to understand how everything fit together."

Tensorflow is the worst code you can learn from a library design perspective.

Re: The Benjamin Franklin method for learning more from programming books

#84
post #29

Reading this left me with a complex feeling... On one hand, I am glad to say I have been practicing the given advice for many years. On the other, I am intimidated at the notion that others learn anything useful without doing so.

Different learning styles are appropriate for different learners, stages of learning, and lesson types. What's important is that you found a learning style that works for you and that you can build on.

Re: The Benjamin Franklin method for learning more from programming books

#85

He doesn't really mention that the reason chess players and musicians can take more with each glance at a position/page is that they see in chunks, not individual elements - that comes from learning the patterns, e.g. in chess "short-castled white king with pawn on h3", in music "C7 chord with melody on the 7th" etc. It's just like adding more layers to a neural network, each layer building things from the elements o…

When I studied jazz piano at university, I was actually taught a very similar technique to the one described in the aritcle. You're right in that we would learn to memorize transcriptions of great players, but there was also a step where we might deconstruct there techniques and apply our own approach to them.

For example, I might see that John Coltrane used a certain scale or lick at a certain point in a song. I then might make a note in my music 'Use X scale here' as an exercise while improvising.

The effect is similar to what the author is describing - chunking broad ideas and implementing them ourselves as practice.

Re: The Benjamin Franklin method for learning more from programming books

#86

He doesn't really mention that the reason chess players and musicians can take more with each glance at a position/page is that they see in chunks, not individual elements - that comes from learning the patterns, e.g. in chess "short-castled white king with pawn on h3", in music "C7 chord with melody on the 7th" etc. It's just like adding more layers to a neural network, each layer building things from the elements o…

Another advantage musicians practiced in reading sheet music have (assuming they're also practiced in the general play of their instrument) is that music falls into various scales and modes. Learning and practicing the scales and modes in different ways and patterns allows musicians to have a wide set of skills that can be quickly applied to most music.

Note that there are different sets of patterns. Jazz and classical music are different enough that you can be good at one but bad at the other. There are rhythms an chords in each that would never make sense in the other. Of course plenty of musicians are good at both, but it requires more effort.

Re: The Benjamin Franklin method for learning more from programming books

#88

He doesn't really mention that the reason chess players and musicians can take more with each glance at a position/page is that they see in chunks, not individual elements - that comes from learning the patterns, e.g. in chess "short-castled white king with pawn on h3", in music "C7 chord with melody on the 7th" etc. It's just like adding more layers to a neural network, each layer building things from the elements o…

He doesn't mention it in those terms, but that's what the "Mental Representations" section is all about.

Compression : finding patterns :: forest : trees.

Re: The Benjamin Franklin method for learning more from programming books

#90
Of course, the same method can be applied to reading other people's code. Actually, that's analogous to what Franklin did. He tried to capture the essence of a finished work of which he approved.

Using a phrase-book in such a manner wouldn't be beneficial. And programming language books are much like phrase-books: guides to syntax.

Other kinds of programming books, in the category "Do X with Y programming language" are best avoided. They tend to look like phone-books. It is best to decouple X from Y.

Post reply on HN