English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 73 Lessons (9h 35m) | 3.53 GB
The Programmer’s Brain: What every programmer needs to know about cognition, Video Edition
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!
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.
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.
A great book with deep insights into the bridge between programming and the human mind.
Mike Taylor, CGI
Table of Contents
1 Part 1 On reading code better
2 Decoding your confusion while coding
3 Different cognitive processes that affect coding
4 Cognitive processes in collaboration
5 Speed reading for code
6 Overcoming size limits in your memory
7 You see more code than you can read
8 It’s not what you remember; it’s the way you remember it, Part 1
9 It’s not what you remember; it’s the way you remember it, Part 2
10 Practice chunking
11 How to learn programming syntax quickly
12 How to learn syntax quickly with flashcards
13 Why do we forget memories
14 How to remember syntax longer
15 Strengthen memories by actively thinking
16 How to read complex code
17 Techniques to reduce cognitive load
18 Replacing unfamiliar language constructs
19 Memory aids to use when your working memory is overloaded
20 Using a state table
21 Part 2 On thinking about code
22 Reaching a deeper understanding of code
23 Eleven roles to cover almost all variables
24 Roles and paradigms
25 Hungarian notation
26 Gaining a deeper knowledge of programs
27 Different stages of program understanding
28 Reading text is similar to reading code
29 If you can learn French, you can learn Python
30 Text comprehension strategies applied to code
31 Inferring the meaning of variable names
32 Getting better at solving programming problems
33 Mental models
34 How to use mental models efficiently when thinking about code, Part 1
35 How to use mental models efficiently when thinking about code, Part 2
36 Notional machines
37 Notional machines and language
38 Misconceptions – Bugs in thinking
39 Different forms of transfer
40 Misconceptions – Bugs in thinking
41 Misconceptions about programming languages
42 Part 3 On writing better code
43 How to get better at naming things
44 Different perspectives on naming
45 Cognitive aspects of naming
46 What types of names are easier to understand
47 Snake case or camel case
48 Name molds
49 Avoiding bad code and cognitive load – Two frameworks
50 How code smells harm cognition
51 The influence of bad names on cognitive load
52 Measuring cognitive load
53 Getting better at solving complex problems
54 How to teach your LTM to solve problems
55 Automatization – Creating implicit memories
56 Why automatization will make you program quicker
57 A new type of cognitive load – Germane load
58 Part 4 On collaborating on code
59 The act of writing code
60 Transcription
61 Programmer interrupted
62 How to better prepare for interruptions
63 When to interrupt a programmer
64 Some thoughts on multitasking
65 Designing and improving larger systems
66 Cognitive dimensions, Part 1
67 Cognitive dimensions, Part 2
68 Dimensions and activities
69 How to onboard new developers
70 Differences between experts and novices
71 Beginners’ behavior in more depth
72 Activities for a better onboarding process
73 Read code together
Resolve the captcha to access the links!