Video description
In Video Editions the narrator reads the book while the content, figures, code listings, diagrams, and text appear on the screen. Like an audiobook that you can also watch as a video.
A great book with deep insights into the bridge between programming and the human mind.
Mike Taylor, CGI
Your brain responds in a predictable way when it encounters new or difficult tasks. This unique book teaches you concrete techniques rooted in cognitive science that will improve the way you learn and think about code.
In The Programmer’s Brain you will learn:
- Fast and effective ways to master new programming languages
- Speed reading skills to quickly comprehend new code
- Techniques to unravel the meaning of complex code
- Ways to learn new syntax and keep it memorized
- Writing code that is easy for others to read
- Picking the right names for your variables
- Making your codebase more understandable to newcomers
- Onboarding new developers to your team
Learn how to optimize your brain’s natural cognitive processes to read code more easily, write code faster, and pick up new languages in much less time. This book will help you through the confusion you feel when faced with strange and complex code, and explain a codebase in ways that can make a new team member productive in days!
about the technology
Take advantage of your brain’s natural processes to be a better programmer. Techniques based in cognitive science make it possible to learn new languages faster, improve productivity, reduce the need for code rewrites, and more. This unique book will help you achieve these gains.
about the book
The Programmer’s Brain unlocks the way we think about code. It offers scientifically sound techniques that can radically improve the way you master new technology, comprehend code, and memorize syntax. You’ll learn how to benefit from productive struggle and turn confusion into a learning tool. Along the way, you’ll discover how to create study resources as you become an expert at teaching yourself and bringing new colleagues up to speed.
about the audience
For programmers who have experience working in more than one language.
about the author
Dr. Felienne Hermans is an associate professor at Leiden University in the Netherlands. She has spent the last decade researching programming, how to learn and how to teach it.
Helps you understand how your brain works and how you can use it more effectively to read, write, and collaborate on code.
Ben McNamara, DataGeek
Teaches you science-based habits to reduce your mental workload and hack your way to becoming a rockstar programmer!
Daniela Zapata Riesco, M1 Finance
If you’ve ever wondered what working smarter instead of harder is supposed to look like, you should read this book. I am already seeing improvements in my day-to-day work.
Zhijun Liu, Mediaocean
NARRATED BY CHRISTOPHER KENDRICK
Table of Contents
Part 1 On reading code better
Chapter 1 Decoding your confusion while coding
Chapter 1 Different cognitive processes that affect coding
Chapter 1 Cognitive processes in collaboration
Chapter 2 Speed reading for code
Chapter 2 Overcoming size limits in your memory
Chapter 2 You see more code than you can read
Chapter 2 It’s not what you remember; it’s the way you remember it, Part 1
Chapter 2 It’s not what you remember; it’s the way you remember it, Part 2
Chapter 2 Practice chunking
Chapter 3 How to learn programming syntax quickly
Chapter 3 How to learn syntax quickly with flashcards
Chapter 3 Why do we forget memories?
Chapter 3 How to remember syntax longer
Chapter 3 Strengthen memories by actively thinking
Chapter 4 How to read complex code
Chapter 4 Techniques to reduce cognitive load
Chapter 4 Replacing unfamiliar language constructs
Chapter 4 Memory aids to use when your working memory is overloaded
Chapter 4 Using a state table
Part 2 On thinking about code
Chapter 5 Reaching a deeper understanding of code
Chapter 5 Eleven roles to cover almost all variables
Chapter 5 Roles and paradigms
Chapter 5 Hungarian notation
Chapter 5 Gaining a deeper knowledge of programs
Chapter 5 Different stages of program understanding
Chapter 5 Reading text is similar to reading code
Chapter 5 If you can learn French, you can learn Python
Chapter 5 Text comprehension strategies applied to code
Chapter 5 Inferring the meaning of variable names
Chapter 6 Getting better at solving programming problems
Chapter 6 Mental models
Chapter 6 How to use mental models efficiently when thinking about code, Part 1
Chapter 6 How to use mental models efficiently when thinking about code, Part 2
Chapter 6 Notional machines
Chapter 6 Notional machines and language
Chapter 7 Misconceptions: Bugs in thinking
Chapter 7 Different forms of transfer
Chapter 7 Misconceptions: Bugs in thinking
Chapter 7 Misconceptions about programming languages
Part 3 On writing better code
Chapter 8 How to get better at naming things
Chapter 8 Different perspectives on naming
Chapter 8 Cognitive aspects of naming
Chapter 8 What types of names are easier to understand?
Chapter 8 Snake case or camel case?
Chapter 8 Name molds
Chapter 9 Avoiding bad code and cognitive load: Two frameworks
Chapter 9 How code smells harm cognition
Chapter 9 The influence of bad names on cognitive load
Chapter 9 Measuring cognitive load
Chapter 10 Getting better at solving complex problems
Chapter 10 How to teach your LTM to solve problems
Chapter 10 Automatization: Creating implicit memories
Chapter 10 Why automatization will make you program quicker
Chapter 10 A new type of cognitive load: Germane load
Part 4 On collaborating on code
Chapter 11 The act of writing code
Chapter 11 Transcription
Chapter 11 Programmer interrupted
Chapter 11 How to better prepare for interruptions
Chapter 11 When to interrupt a programmer
Chapter 11 Some thoughts on multitasking
Chapter 12 Designing and improving larger systems
Chapter 12 Cognitive dimensions, Part 1
Chapter 12 Cognitive dimensions, Part 2
Chapter 12 Dimensions and activities
Chapter 13 How to onboard new developers
Chapter 13 Differences between experts and novices
Chapter 13 Beginners’ behavior in more depth
Chapter 13 Activities for a better onboarding process
Chapter 13 Read code together