Hacker News new | ask | show | jobs
by andai 15 days ago
>I do what I can in my own classroom to address the problems. I break 20-page articles into two halves and assign the first half with explicit analytical tasks. I require exploratory writing before formal drafts. I model (visibly, on the board) how to track an argument across pages or distinguish a source’s claim from my own analysis.

I recorded some tutorial videos for some kids a while back, to help them prepare for an exam.

The feedback I got was very positive, but I suspected they weren't learning as much as they thought. So I made a practice exam for them, and they failed it.

This was a wake-up call for them. They revisited the material, and got a good score on repeating the practice exam, and a good score on the actual exam.

So, there needs to be a forcing function. The brain will generally be as lazy as it can get away with, in any situation. So if you want to develop some skill or faculty, you need to create a situation which demands its use.

(Ditto for if you want to retain a skill or faculty!)

3 comments

I noticed that in myself. I’d read a chapter and be convinced that I’d absorbed the information. It wasn’t until I learned networking from a second-hand college text-book that I realised that wasn’t really the case. Each chapter concluded with questions to verify that the reader had understood the concepts. When I tested myself, I found that I could only answer around half of the questions and had to go back and re-read sections in order to answer the others. I had completely over-estimated how much I had learned while reading.

On Stack Exchange sites, I used to see questions and think “Oh! I know the answer. It’ll only take a few minutes to answer”. Invariably, I discovered that I didn’t have all the knowledge to provide a complete answer. While typing, I’d realise that there were gaps in my knowledge (e.g., is what I’m writing true for BSDs as well as Linux OSs?) or there’d be edge cases that I hadn’t previously considered (differences between program versions, how software behaves in different locales, etc.). A good, comprehensive answer ended up taking around half an hour but I found the effort was worth it: writing Stack Overflow answers was a great way to learn.

Speaking of “forcing functions”, I’m currently learning guitar and my goal for this year is to learn a song in full and record myself to objectively see how well I’m actually playing.

I was thinking today that there is no longer a forcing function for knowing how a computer works. I think that went away in the 90s.

People who got into programming in the 80s generally learned assembly because it was the only way to get the job done (BASIC being too slow for games and graphics).

They don't generally use assembly much anymore, but often still rely on that knowledge (checking the disassembly).

This ability is no longer forced by the environment, nor is it taught. So the last few generations of programmers did not learn how a computer works.

> there needs to be a forcing function. The brain will generally be as lazy as it can get away with, in any situation. So if you want to develop some skill or faculty, you need to create a situation which demands its use

Yes! The brain is optimized to be lazy. A forcing function to actually use/apply knowledge is required.