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: What every programmer needs to know about cognition
The Programmer's Brain: What every programmer needs to know about cognition
✍ Scribed by Felienne Hermans
- Publisher
- Manning
- Year
- 2020
- Tongue
- English
- Leaves
- 91
- Edition
- MEAP V03
- Category
- Library
No coin nor oath required. For personal study only.
✦ Synopsis
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: What every programmer needs to know about cognition 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
Understanding the cognitive functions that govern the way your brain thinks about coding will help you work smarter, not harder. You’ll improve your productivity, reduce your need for constant rewrites, and say goodbye to spending late nights struggling with new languages.
about the book
The Programmer’s Brain explores the way your brain works when it’s thinking about code. In it, you’ll master practical ways to apply these cognitive principles to your daily programming life. You’ll improve your code comprehension by turning confusion into a learning tool, and pick up awesome techniques for reading code and quickly memorizing syntax. This practical guide includes tips for creating your own flashcards and study resources that can be applied to any new language you want to master. By the time you’re done, you’ll not only be better at teaching yourself—you’ll be an expert at bringing new colleagues and junior programmers up to speed.
✦ Table of Contents
The Programmer's Brain MEAP V03
Copyright
Welcome
Contents
Chapter 1: Decoding your confusion while coding
1.1 Different kinds of confusion in code
1.1.1 Forms of confusion
1.2 Different cognitive processes that affect coding
1.2.1 Long-term memory and programming
Another look at the APL Program
1.2.2 Short-term memory and programming
Another look at the Java Program
1.2.3 Working memory and programming
BASIC Program: Working memory
1.3 Cognitive processes in collaboration
1.3.1 Cognitive processes in other programming-related tasks
EXERCISE 1.1
1.4 Summary
Chapter 2: Speed reading for code
2.1 Quickly reading code
2.1.1 What just happened in your brain?
2.1.2 Reexamine your reproduction
2.1.3 A second attempt at remembering Java
2.1.4 Reexamining your second attempt at reproducing code
2.2 Why is reading unfamiliar code hard?
2.3 Remembering more code by using long-term memory
2.3.1 Experts’ memories differ from beginners’
EXERCISE 2.1
EXERCISE 2.2
EXERCISE 2.3
2.3.2 Chunking in code
2.3.3 Expert programmers can remember code better than beginners
2.4 You see more code than you can read
2.4.1 Iconic memory
2.4.2 Iconic memory and code
EXERCISE 2.4
2.5 It ain’t what you remember, it’s the way you remember it
2.5.1 How to write “chunkable” code
Write comments
Leave beacons
EXERCISE 2.5
2.5.2 Practice chunking
EXERCISE 2.6
2.6 Summary
Chapter 3: How to learn programming syntax more quickly
3.1 Tips for remembering syntax
3.1.1 Flashcards
EXERCISE 3.1
When to use the flashcards
Expanding the set of flashcards
Thinning the set of flashcards
3.2 When to study to not forget things
3.2.1 Why do we forget memories?
Hierarchy versus networks
The forgetting curve
3.2.2 Spaced repetition
3.3 How to remember syntax longer
3.3.1 Two forms of remembering information
Storage strength
retrieval strength
3.3.2 Just seeing information is not enough
3.3.3 Remembering information strengthens memories
3.4 Strengthen memories by actively thinking
3.4.1 Schemata
3.4.2 Elaboration
3.4.3 Using elaboration to learn new programming concepts
EXERCISE 3.2
3.5 Summary
Chapter 4: How to read complex code
4.1 Reading complex code
4.1.1 What’s the difference between working memory and short-term memory?
4.2 What happens in the working memory when you read code?
4.2.1 Intrinsic cognitive load when reading code
4.2.2 Extraneous cognitive load
4.3 Refactoring code to reduce cognitive load
4.3.1 Inlining code
4.3.2 Replacing unfamiliar language constructs
4.3.3 You want to consider cognitive load when writing code, too
4.4 Marking dependencies
4.5 Using a state table
4.5.1 Combining state tables and dependency graphs
4.6 Summary
Chapter 5: Reaching a deeper understanding of code
5.1 Roles of variables
5.1.1 Different variables do different things
5.1.2 Eleven roles to cover almost all variables
5.1.3 Roles and paradigms
5.1.4 Benefits of roles
5.1.5 Practical tips for working with roles of variables
5.1.6 Hungarian notation
5.2 Gaining a deeper knowledge of programs
5.2.1 Text knowledge versus plan knowledge
5.2.2 Different stages of program understanding
5.2.3 Applying the stages for deep understanding to code
5.3 Reading text is similar to reading code
5.3.1 What happens in the brain when we read code?
5.3.2 Brodmann areas
5.3.3 Evidence from fMRI about what code does in the brain
5.3.4 If you can learn French, you can learn Python!
5.3.5 How do people read code?
5.4 Text comprehension strategies applied to code
5.4.1 Activating prior knowledge
5.4.2 Monitoring
5.4.3 Determining the importance of different lines of code
5.4.4 Inferring the meaning of variable names
5.4.5 Visualizing
5.4.6 Questioning
5.4.7 Summarizing code
5.5 Summary
📜 SIMILAR VOLUMES
<p><font><strong>"I am in awe of this book, it is a very good read and has tons of interesting lessons for any engineer."</strong> - Tim van Deurzen</font></p> <p><font>Your brain responds in a predictable way when it encounters new or difficult tasks. This unique book teaches you concrete technique
<b>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.</b> Summary In <i>The Programmer’s Brain: What every programmer needs to
<b>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.</b> Summary In <i>The Programmer’s Brain: What every programmer needs to
<p>What Every Programmers Need To Know About iOS Programming Exposed! iOS Programming: Starter Guide: What Every Programmer Needs to Know About iOS Programming is a precise and concise book for any programmmer to get a quick grasp of the intricacies of iOS and how to master it quickly. The book cove