SlideShare a Scribd company logo
1 of 45
HOW YOUR BRAIN LEARNS NEW (PROGRAMMING) LANGUAGES
05-10-2023 BY SIMONE DE GIJT
WIRED!
2015 Speech and Language Therapist +
premaster Speech and Language
Pathology
Currently Java and Kotlin developer for
OpenValue
Text
 Memory
 Learning
 AI
READY? SET? GO!
SENSORY MEMORY
SENSORY MEMORY
.folders Sensory
Memory
MEMORY STORAGE
Short
Term
Memory
Sensory
Memory
SHORT TERM MEMORY
RAM Short Term
Memory
Short Term Memory
String j w oe k s
is active true
CHUNKS
boolean
MEMORY STORAGE
Long Term
Memory
Short
Term
Memory
Sensory
Memory
LONG TERM MEMORY
Hard drive Long Term
Memory
NETWORK STRUCTURE
tiger
zoo
lion
orange
black cat
penguin
brown
water
dolphin
jungle
pigeon
CONTEXTUAL ASSOCIATION
Correlations that are
being created
between different
sensory perceptions.
Virtual Threads
EXAMPLE
SunPKCS11
Semantic meaning:
Virtual Threads don’t block the OS thread
for the code’s entire lifetime. They are
managed by the JVM.
Grammatic syntax:
Thread.startVirtualThread(runnable);
Thread.ofVirtual().start(runnable);
CREATIVE CONTEXTUAL ASSOCIATION
Correlations that are
intentionally being
created.
E.g. connect a symbol
to a meaning or
grammatic rule.
EXAMPLE
Virtual Threads
Semantic meaning:
Virtual Threads don’t block the OS thread
for the code’s entire lifetime. They are
managed by the JVM.
Grammatic syntax:
Thread.startVirtualThread(runnable);
Thread.ofVirtual().start(runnable);
LEARN FROM KIDS
PARROTING
Actively apply what you’ve
read or learned.
Don’t copy paste..
TRYING IT OUT
IT’S HARD TO UNLEARN
Be careful of bad examples!
Find someone that can
correct you.
START EASY
START EASY
WORKING MEMORY
Long Term
Memory
Short
Term
Memory
Working
Sensory
Memory
Memory
COGNITIVE LOAD
THE PROGRAMMER’S BRAIN
LET’S BUILD SOME HIGHWAYS
THINK BEFORE YOU SEARCH / USE AI
FREQUENCY
Practice often
rather than longer
Virtual Threads =
Don’t block the OS
thread for the code’s
entire lifetime. They are
managed by the JVM.
FLASHCARDS
 Mnemonics
 Different scenarios
 Visualization
 Pros and cons
 Things to be aware of
DICTIONARY + ASSOCIATION BOARD
STUDY TIME
Weekly learning schedule:
 Study time: take 20 minutes of
learning
• Write down
• Visualize
• Associate
 Use them
 Evaluate
 Explain to others
LEARNING TOGETHER
PAIR PROGRAMMING TOOLS
GitHub Copilot
AUTOMATIC CODE GENERATION
NOVICE EXPERT + Efficiency
+ Focus on the
complex and
domain specific
code
- Reduced critical
thinking
- Reduced
creativity
+ Variety /
context
+ Less cognitive
overload
- Reduced
memorization
- Risk for wrong
assumptions
and suggestions
NATURAL LANGUAGE PROCESSING
NOVICE EXPERT + Efficiency
+ Focus on the
complex and
domain specific
code
- Reduced critical
thinking
- Reduced
creativity
- Security risks
+ Access to
Information
+ Reduced fear of
rejection
+ Customized
learning
- Overreliance
- Inaccuracies
TRANSACTIVE MEMORY
You remember where information can be retrieved, instead of
remembering it yourself.
KEY TAKE AWAYS
• Use (Creative) Contextual Association to improve your retrieval
strength.
That is; use multiple senses when learning something
• Actively apply what you learn
• Find someone that can correct you
• Automate your long term memory retrieval
• Learn together
 The programmer’s brain – Felienne Hermans
 Google Effects on Memory: Cognitive Consequences of Having
Information at Our Fingertips - Betsy Sparrow,1* Jenny Liu,2
Daniel M. Wegner3
 De taalontwikkeling van het kind - Annemarie Schaerlaekens
 Atonomy & Physiology – J. Anthony Seikel, Douglas W. King &
David G. Drumright
 Intellectual and Memory Impairments - Joseph Jankovic MD,
in Bradley and Daroff's Neurology in Clinical Practice, 2022
 DALL-E 2
SOURCES
LinkedIn:
Simone de
Gijt
Slidedeck:
MULTIPLE LANGUAGES
Records
Stream
Data
class
Java Kotlin

More Related Content

Similar to Wired_DevoxxBE_05102023.pptx

Wired_VoxxedCluj_06102022.pdf
Wired_VoxxedCluj_06102022.pdfWired_VoxxedCluj_06102022.pdf
Wired_VoxxedCluj_06102022.pdfSimonedeGijt
 
The Programmer's Brain: improve the way you learn and think about code
The Programmer's Brain: improve the way you learn and think about codeThe Programmer's Brain: improve the way you learn and think about code
The Programmer's Brain: improve the way you learn and think about codeManning Publications
 
Cognitive load theory
Cognitive load theoryCognitive load theory
Cognitive load theorytmevans123
 
10 tips to save you time and frustration while programming
10 tips to save you time and frustration while programming10 tips to save you time and frustration while programming
10 tips to save you time and frustration while programmingHugo Shi
 
Scottish Ruby Conference 2014
Scottish Ruby Conference  2014Scottish Ruby Conference  2014
Scottish Ruby Conference 2014michaelag1971
 
The Art of Evolutionary Algorithms Programming
The Art of Evolutionary Algorithms ProgrammingThe Art of Evolutionary Algorithms Programming
The Art of Evolutionary Algorithms ProgrammingJuan J. Merelo
 
Weaponizing Neural Networks. In your browser!
Weaponizing Neural Networks. In your browser!Weaponizing Neural Networks. In your browser!
Weaponizing Neural Networks. In your browser!DefCamp
 
Understanding Human Conversations with AI
Understanding Human Conversations with AI Understanding Human Conversations with AI
Understanding Human Conversations with AI Rajath D M
 
Inspiring Kids to Code Using Scratch and Other Tools
Inspiring Kids to Code Using Scratch and Other ToolsInspiring Kids to Code Using Scratch and Other Tools
Inspiring Kids to Code Using Scratch and Other ToolsChad Mairn
 
Inspiring Kids to Code Using Scratch and Other Tools
Inspiring Kids to Code Using Scratch and Other ToolsInspiring Kids to Code Using Scratch and Other Tools
Inspiring Kids to Code Using Scratch and Other ToolsSt. Petersburg College
 
Programming Languages #devcon2013
Programming Languages #devcon2013Programming Languages #devcon2013
Programming Languages #devcon2013Iván Montes
 
Hpai class 12 - potpourri & perception - 032620 actual
Hpai   class 12 - potpourri & perception - 032620 actualHpai   class 12 - potpourri & perception - 032620 actual
Hpai class 12 - potpourri & perception - 032620 actualmelendez321
 
Ifi7059 materjalide avaldamine
Ifi7059 materjalide avaldamineIfi7059 materjalide avaldamine
Ifi7059 materjalide avaldaminePriit Tammets
 
6 Secrets of Career change - Instructional Design to eLearning
6 Secrets of Career change - Instructional Design to eLearning6 Secrets of Career change - Instructional Design to eLearning
6 Secrets of Career change - Instructional Design to eLearningsuzetteconway
 
Computable Content: Lessons Learned
Computable Content: Lessons LearnedComputable Content: Lessons Learned
Computable Content: Lessons LearnedPaco Nathan
 
Computable Content
Computable ContentComputable Content
Computable ContentPaco Nathan
 
Ending notes
Ending notesEnding notes
Ending notesPam Page
 
Intro+To+ChatGPT.pdf
Intro+To+ChatGPT.pdfIntro+To+ChatGPT.pdf
Intro+To+ChatGPT.pdfSara844770
 

Similar to Wired_DevoxxBE_05102023.pptx (20)

Wired_VoxxedCluj_06102022.pdf
Wired_VoxxedCluj_06102022.pdfWired_VoxxedCluj_06102022.pdf
Wired_VoxxedCluj_06102022.pdf
 
The Programmer's Brain: improve the way you learn and think about code
The Programmer's Brain: improve the way you learn and think about codeThe Programmer's Brain: improve the way you learn and think about code
The Programmer's Brain: improve the way you learn and think about code
 
Cognitive load theory
Cognitive load theoryCognitive load theory
Cognitive load theory
 
10 tips to save you time and frustration while programming
10 tips to save you time and frustration while programming10 tips to save you time and frustration while programming
10 tips to save you time and frustration while programming
 
(H) i story in the making
(H) i story in the making(H) i story in the making
(H) i story in the making
 
Scottish Ruby Conference 2014
Scottish Ruby Conference  2014Scottish Ruby Conference  2014
Scottish Ruby Conference 2014
 
The Art of Evolutionary Algorithms Programming
The Art of Evolutionary Algorithms ProgrammingThe Art of Evolutionary Algorithms Programming
The Art of Evolutionary Algorithms Programming
 
Weaponizing Neural Networks. In your browser!
Weaponizing Neural Networks. In your browser!Weaponizing Neural Networks. In your browser!
Weaponizing Neural Networks. In your browser!
 
Understanding Human Conversations with AI
Understanding Human Conversations with AI Understanding Human Conversations with AI
Understanding Human Conversations with AI
 
Inspiring Kids to Code Using Scratch and Other Tools
Inspiring Kids to Code Using Scratch and Other ToolsInspiring Kids to Code Using Scratch and Other Tools
Inspiring Kids to Code Using Scratch and Other Tools
 
Inspiring Kids to Code Using Scratch and Other Tools
Inspiring Kids to Code Using Scratch and Other ToolsInspiring Kids to Code Using Scratch and Other Tools
Inspiring Kids to Code Using Scratch and Other Tools
 
Programming Languages #devcon2013
Programming Languages #devcon2013Programming Languages #devcon2013
Programming Languages #devcon2013
 
Hpai class 12 - potpourri & perception - 032620 actual
Hpai   class 12 - potpourri & perception - 032620 actualHpai   class 12 - potpourri & perception - 032620 actual
Hpai class 12 - potpourri & perception - 032620 actual
 
Ifi7059 materjalide avaldamine
Ifi7059 materjalide avaldamineIfi7059 materjalide avaldamine
Ifi7059 materjalide avaldamine
 
6 Secrets of Career change - Instructional Design to eLearning
6 Secrets of Career change - Instructional Design to eLearning6 Secrets of Career change - Instructional Design to eLearning
6 Secrets of Career change - Instructional Design to eLearning
 
Computable Content: Lessons Learned
Computable Content: Lessons LearnedComputable Content: Lessons Learned
Computable Content: Lessons Learned
 
Laird ibm-small
Laird ibm-smallLaird ibm-small
Laird ibm-small
 
Computable Content
Computable ContentComputable Content
Computable Content
 
Ending notes
Ending notesEnding notes
Ending notes
 
Intro+To+ChatGPT.pdf
Intro+To+ChatGPT.pdfIntro+To+ChatGPT.pdf
Intro+To+ChatGPT.pdf
 

More from SimonedeGijt

Co-creating_between_UX_and_Software_Rabobank
Co-creating_between_UX_and_Software_RabobankCo-creating_between_UX_and_Software_Rabobank
Co-creating_between_UX_and_Software_RabobankSimonedeGijt
 
Co-creating with UX and Software Rabobank
Co-creating with UX and Software RabobankCo-creating with UX and Software Rabobank
Co-creating with UX and Software RabobankSimonedeGijt
 
Co-creating_UX_Software_VoxxedDaysIasi.pdf
Co-creating_UX_Software_VoxxedDaysIasi.pdfCo-creating_UX_Software_VoxxedDaysIasi.pdf
Co-creating_UX_Software_VoxxedDaysIasi.pdfSimonedeGijt
 
Co-creating_UX_Software-DevoxxUK.pdf
Co-creating_UX_Software-DevoxxUK.pdfCo-creating_UX_Software-DevoxxUK.pdf
Co-creating_UX_Software-DevoxxUK.pdfSimonedeGijt
 
pluginandplay-UtrechtJUG.pptx
pluginandplay-UtrechtJUG.pptxpluginandplay-UtrechtJUG.pptx
pluginandplay-UtrechtJUG.pptxSimonedeGijt
 
Co-creating_UX_Software_JFALL.pdf
Co-creating_UX_Software_JFALL.pdfCo-creating_UX_Software_JFALL.pdf
Co-creating_UX_Software_JFALL.pdfSimonedeGijt
 
PluginandPlay_DevoxxBE.pptx
PluginandPlay_DevoxxBE.pptxPluginandPlay_DevoxxBE.pptx
PluginandPlay_DevoxxBE.pptxSimonedeGijt
 
Co-creating_UX_Software_DevoxxBE.pdf
Co-creating_UX_Software_DevoxxBE.pdfCo-creating_UX_Software_DevoxxBE.pdf
Co-creating_UX_Software_DevoxxBE.pdfSimonedeGijt
 
Co-creating_UX_Software_VoxxedAthens2022.pdf
Co-creating_UX_Software_VoxxedAthens2022.pdfCo-creating_UX_Software_VoxxedAthens2022.pdf
Co-creating_UX_Software_VoxxedAthens2022.pdfSimonedeGijt
 
Wired_JSpring_08062022.pptx
Wired_JSpring_08062022.pptxWired_JSpring_08062022.pptx
Wired_JSpring_08062022.pptxSimonedeGijt
 
PluginAndPlay-KotlinDevDay.pptx
PluginAndPlay-KotlinDevDay.pptxPluginAndPlay-KotlinDevDay.pptx
PluginAndPlay-KotlinDevDay.pptxSimonedeGijt
 
PluginAndPlay-AmsterdamJUG.pptx
PluginAndPlay-AmsterdamJUG.pptxPluginAndPlay-AmsterdamJUG.pptx
PluginAndPlay-AmsterdamJUG.pptxSimonedeGijt
 

More from SimonedeGijt (12)

Co-creating_between_UX_and_Software_Rabobank
Co-creating_between_UX_and_Software_RabobankCo-creating_between_UX_and_Software_Rabobank
Co-creating_between_UX_and_Software_Rabobank
 
Co-creating with UX and Software Rabobank
Co-creating with UX and Software RabobankCo-creating with UX and Software Rabobank
Co-creating with UX and Software Rabobank
 
Co-creating_UX_Software_VoxxedDaysIasi.pdf
Co-creating_UX_Software_VoxxedDaysIasi.pdfCo-creating_UX_Software_VoxxedDaysIasi.pdf
Co-creating_UX_Software_VoxxedDaysIasi.pdf
 
Co-creating_UX_Software-DevoxxUK.pdf
Co-creating_UX_Software-DevoxxUK.pdfCo-creating_UX_Software-DevoxxUK.pdf
Co-creating_UX_Software-DevoxxUK.pdf
 
pluginandplay-UtrechtJUG.pptx
pluginandplay-UtrechtJUG.pptxpluginandplay-UtrechtJUG.pptx
pluginandplay-UtrechtJUG.pptx
 
Co-creating_UX_Software_JFALL.pdf
Co-creating_UX_Software_JFALL.pdfCo-creating_UX_Software_JFALL.pdf
Co-creating_UX_Software_JFALL.pdf
 
PluginandPlay_DevoxxBE.pptx
PluginandPlay_DevoxxBE.pptxPluginandPlay_DevoxxBE.pptx
PluginandPlay_DevoxxBE.pptx
 
Co-creating_UX_Software_DevoxxBE.pdf
Co-creating_UX_Software_DevoxxBE.pdfCo-creating_UX_Software_DevoxxBE.pdf
Co-creating_UX_Software_DevoxxBE.pdf
 
Co-creating_UX_Software_VoxxedAthens2022.pdf
Co-creating_UX_Software_VoxxedAthens2022.pdfCo-creating_UX_Software_VoxxedAthens2022.pdf
Co-creating_UX_Software_VoxxedAthens2022.pdf
 
Wired_JSpring_08062022.pptx
Wired_JSpring_08062022.pptxWired_JSpring_08062022.pptx
Wired_JSpring_08062022.pptx
 
PluginAndPlay-KotlinDevDay.pptx
PluginAndPlay-KotlinDevDay.pptxPluginAndPlay-KotlinDevDay.pptx
PluginAndPlay-KotlinDevDay.pptx
 
PluginAndPlay-AmsterdamJUG.pptx
PluginAndPlay-AmsterdamJUG.pptxPluginAndPlay-AmsterdamJUG.pptx
PluginAndPlay-AmsterdamJUG.pptx
 

Recently uploaded

Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutionsmonugehlot87
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?Watsoo Telematics
 

Recently uploaded (20)

Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutions
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?
 

Wired_DevoxxBE_05102023.pptx

Editor's Notes

  1. Goodmorning everyone, I hope you are just as excited as me! First of all I want to thank you so much for inviting me to your beautiful city. It is the first time that I’ve visit Romania and I took the train from Bucharest to Cluj, really I can recommend it to everyone as the landescape is so beautiful. But you are not here to hear about my travel stories. You are here today on Voxxed Days to get inspired and learn about new techniques and maybe about new language features. So that is where I come in. Before starting this day I will tell you a little bit about your brain, the way it’s wired and how your brain is learning new languages so that you can get the most out of today
  2. Now I can imagine that you’re thinking; who are you tell us about this? Well, I am Simone de Gijt and I am from the Netherlands. Weird fact; we Dutch people call ourselves a cheese-heads, so there is that. I graduated in 2015 as a Speech and Language Therapist. But directly after I already switched to IT and I currenly work for OpenValue.
  3. Now during these 40 minutes that we’ve left, we are going to talk about how your brain works and with each chapter I will give some tips and tricks on how you can apply that knowledge in an IT environment. Now before we really dive in, I want to give you all a few seconds to grab a pen and paper preferably or your laptop or mobile phone if you don’t have pen and paper. In that later case, I would highly recommend to put yourself on Do Not Disturb but that’s all up to you of course. Let’s start!
  4. Let’s start with something positive allright. I am here to tell you: You are learning every day! You might not realise it, you mind even think you only performed repetitive tasks which you already knew. But even in that case you are strengthening your already present knowledge and therefore participating in the process of learning. In order for us to talk about learning new languages we need to know how language is stored. So let’s start there.
  5. Every single second you are experiencing things, yes even when you are asleep. Your senses are always on, unless of course there is an issue in one of the senses, and they are capturing way more than we notice. For example, you are probably only seeing the slides or me at this moment. However the people sitting next to you are still in your view, they just don’t get your attention. But all that sensory information is stored in what we call the sensory memory.
  6. The very first memory storage that we have is sensory memory. Sensory memory stores everything that we can experience for all 5 senses: so hearing, smelling, tasting, feeling and seeing. So what does it mean. Let’s take smell as an example. Your nose is smelling your environment the whole time, but most of the time you don’t really notice it, until… You smell smoke. Suddenly this smell becomes part of your attention. So senesory memory is a bit like those . folders. You know they exist, but you are hardly aware of it, only when issues occur or you need info, you will look at them.
  7. Now with regards to IT, the iconic memory is the only memory that is interesting for us. Iconic memory is about sight and vision. This is what we use when we read code. Now as I said we are far more aware of things than what we pay attention to, the funny thing is however, that once it becomes relevant we can take this information out of our sensory memory and start using it. We then become aware of it. Now with this in mind I can already give you the first tip of the day: Whenever you are reading, investigating or searching through code. Instead of really micro focussing on reading the methods line by line. First take a few seconds to glance over the page, without really reading it. Just scan it, be aware of it and then start reading from your starting point. This will help you, place the code in broader perspective. Because eventhough you might not recall the details of what you just saw, your brain has stored that information into your iconic memory making it easier to retrieve knowledge whenever needed.
  8. So whenever we need information about our surroundings we take it from our sensory or iconic memory into our short term memory. This is the place where we are aware of the information.
  9. Now we all know Dori right, the cute blue fish from the Disney movie Nemo, who always forgets everything. Whenever she hears something, she can react to that in that specific moment. But she can never recall anything that was said to her or what she experienced before. It seems like Dori only has her short term memory to rely on. Which can be compared to the RAM of a computer, where you can temporarily store a limit amount of data. Now recent research shows that for our short term memory that would be 2 to 6 chunks at the time and each item has a time-to-live of about 30 seconds.
  10. So what is a chunk? A chunk depends on your previous knowledge. A chunk can be one letter, but it can also be a words that you know, a concept that you have learned or a syntax that you memorized. Let’s take this variable as an example. The variable name is complete random, but the word String is most likely something you are all very familiar with. Also the o and e are in your head probably glued together as one chunk because your head treats it as /oe/. Now as you can see, depending on how you chunk it, this will take up a lot of your short term memory. Whereas if I would show you this variable, you probably won’t have problems remembering that at all right?! So two tips that can help to not overload your short term memory would be: Make use of Design Patterns. The more often a certain structure is used, the easier it is to chunk. And avoid abbreviations, because in most cases your brain can’t reconstruct those letters to a words immediately. Leading to separate chunks per letter instead of one chunk. But still with that in mind. 6 chunk is not a lot right.. So we need something else, otherwise we all end up as little Doris.
  11. From short term memory we’ll go to long term memory
  12. I have another Disney analogy for you! The elephants of Jungle book. Relying and showing off with their long term memory. A long term memory can be compared to a computers hard drive where information can be stored for a long period of time. Now let’s see how that works
  13. Now the first time Dori or any other fish sees this lovely creature, they will have no prior memory of it right? There is no encoding, therefore no memory to be retrieved. However, she has seen it now, so she encodes the shark and stores it in her long term memory. Now the second time Dori bumps in to the shark, she might feel like she has seen the creature before, she might have a sense of recognition but nonetheless she can not retrieve the memory from her brain because there has been no consolidation. The memory is there but there is no path leading to it, so to say. Recent research has shown that the things we process will be stored indefinitely in the long term memory. So whenever you cannot recall something, it isn’t so much a matter of that you forgot the memory. You are actually failing to retrieve the memory. Now this seems to be a great time to look a little closer to those pathways.
  14. First I am going to give you a little bit of context. Because the brain works a little bit like binary code in computer science. We all know that computer science boils down to the key concept that all information can be represented as sequences of zeros and ones. So basically ”on” or “off” right?! Now when you would tell your non-developer neighbour this, they would probably be surprised and wonder how a computer can accomplish such complex tasks with only two options. Whereas for us it makes totally sense right, because the amount of variety we can make with so many zero’s and one’s is immense. So please hold this in mind when we take a look at our brain.
  15. Your brain is made up of these funny looking mushrooms that are called ‘neurons’ and they are the information messengers of the brain. They receive, process and transmit messages from and to other cells. and an average adult has about 86 billion neurons.
  16. And not only is that an incredeble amount, it is also very useful because our brain uses these to give us what we call ‘Neuroplasticity’. Neuroplasticity is the ability of our brain to create new neurological pathways and to deal with change. So the neuroplasticity are our forest paths that we just talked about before. Now this has pro’s and con’s. The disadvantage is that the more changes stabilize, so if the forest road is promoted to be a paved road, the harder is it for plants to overgrow it again. In other words, to unlearn or forget them. This can lead to conflicting situations when for example you always wrote your code in Java but are now switching to Kotlin, or even worse to Python for example, as that will lead to even more conflictions. Now on the positive side we can state that you are never to old to learn. Your brain can always make new pathways. It is however a fact that neuroplasticity get’s used up, so it can become a little harder in time. However, we will never reach that point where we used up all our 86 billion neurons.
  17. Now with all that in mind, you want to make use of those neuroplasticity the best that you can right? So what do those pathways look like?
  18. https://medium.com/ssense-tech/domain-driven-design-everything-you-always-wanted-to-know-about-it-but-were-afraid-to-ask-a85e7b74497a You can compare it to domain driven design. The goal of domain driven design is to easily deal with changes. Sounds familair? To make that possible they create bounded contexts. In which one model (e.g. Customer) can exist in two different contexts, where one inherents from the other.
  19. Our memories are stored as a network that link together. Leading to a greater retrieval strength for information that relates to other memories. Take for example this blueprint. When this person needs to learn a new animal, like tiger for example. It will be way easier to learn, compared to when he needs to learn the bird pigeon. Now you might have noticed that the colors on the left side aren’t white. I made them in a different color because in this case you will probably not really recall the words, but the actual visual memory of that color. So not only words are included in this map, also other senses like visualisations and smells are included in this network. This is also why almost every new concept that I am discussing in this presentation, I am introducing with an example or comparison that you’ll most likely already know and a picture. This will most likely help you in retrieving it the next time.
  20. So this concept of linking different sensory perceptions together and to a meaning is called contextual association. The more senses are involved in the learning process, the better it will stick. That is also why I started this presentation with offering you a moment to grab paper and pen. Because when you start writing it, next to reading and hearing it. You will create a third link to the learned information. Let’s look at an example:
  21. https://howtodoinjava.com/java/java-21-new-features/
  22. Phonology is the sounds that separate the meaning of a words. For example if I say /C/ to you, it could be either one of these three options. Whereas if a native English speaker would say this, they would maybe hear the difference. Next to that it is the sounds that we recognize a word by, depending on the context. So we didn’t recognise the letters of this variable name before to form one word, just like this example. Except when I now switch the letters, you probably do. This is also why it isn’t wise to chose names that aren’t easily pronouncable, because it will be way harder to retrieve them from your memory. The easier the phonological setup of a word, the easier it is to make chunks out of it and the easier it is to learn.
  23. Now before we showed that it is easier to learn something whenever we have visualization for it. But in IT a lot of times you don’t have an automatic visualization of the new concept you are learning. However, research has shown that even if you make up your own visualization, which you link to the meaning or syntax, it will still work as if you would link the word tiger to a visualization of that tiger. We call this creative contextual association. So correlations that are intentionally being created by the person themselves.
  24. Now allthough you probably already have a visual association with the word record. It might be wise to introduce a new visualisation for this new meaning. As this visualisation will probably cause you more harm the help, because it will put you on the road to the other meaning of the word. Now this is where the creative contextual association comes in. Because you are going to correlate a visualization of your own choice to this word. For example: This document behind bars, representing for me the fact that data is captured and can not be modified.
  25. Now something I really like to do, is to look at kids and see how they learn. Because their learning process is so natural. I think we all heard kids repeating whatever they heard right? Also the words we rather had them not knowing.
  26. This technique is called parroting and I can tell you, we all do it! We all spent many of our hours searching and reading through stackoverflow right. But I have one remark, we can unfortunately not call it parroting when we are simply copy-pasting a solution. You will maybe have learned something, when you spend actual time reading carefully through the suggested change. However, parroting is an active way of learning, requiring you to actively repeat the thing you’ve learned instead of passive learning, which would be that you only read it.
  27. Okay second thing that children do is, they try the words out in different situations. Meaning they can easily call a dog a cat, or a couch a chair. By trying it out, the kids get a better and deeper understanding of what the concept is of the new thing they learned. Important to note here is that this repetition of course only works successfully if you have someone that can correct you and can tell you that that this towel, is actually a cat
  28. Now a disadvantage of the internet is that it holds information very very long. Which means information can be outdated, even if more than 100 people gave a like to it 5 years ago. It can very well be outdated nowadays. So it is always a good practise to reaad through multiple solutions, because as you might remember. It can be pretty hard to unlearn something.
  29. Last but not least; childeren start with words they hear the most and which are easy. But in order to really understand why we need to get back to Dori for a sec.
  30. Last but not least; childeren start with words they hear the most and which are easy. But in order to really understand why we need to get back to Dori for a sec.
  31. Now you might remember this picture from before and you might remember that neurons had something to do with the processing of that memory from short term to and from long term. Now the processing of that information we call the working memory, which is performed by neurons making use of neuroplasticity. Important to know is that researchers are not agreeing if the working memory is actually a seperate entity or just the same as the short term memory. This disagreement mainly comes from the fact that the working memory can only process 2 to 6 chunks at the time. Now for this talk I leave it as two seperate stations.
  32. Now why is it, that we sometimes feel “overloaded”. You are reading through a class or a method and you just can’t seem to get your head around it.. This has everything to do with cognitive load. We just learned that the working memory can process 6 chunks of information at the time. It is the mental compiling and execution of code. So whenever you feel that you need to write down some notes or make additional comments, then that’s a sign of your working memory is becoming too full. Now there are some ways to help your working memory dealing with this load. Unfortunately we have limited time and I also don’t want to give you a cognitive overload during this session. That is why I will skip through the next slides, but they will be in my slidedeck if you want to take a look at it after this talk.
  33. Felienne Hermans writes in her book the Programmer’s Brain among other things that research shows that about 20% of a developer\s time is spent on interruptioins. One of the reasons being the increasing use of Slack and Google. And although it is very useful and convenient that we have such these tools, it does however get us out of a certain mental-flow. And although different research have different outcome on how long it will take until you get back in your flow. They are at least agreeing on the fact that it will take at least 15 minutes to get back into. So learning stuff by heart, will make you a better and more efficient programmer. Next to that, if you can retrieve information automatically, it won’t use a chunk in your working memory. Of which we have very few. So instead of using that chunk to save and process the information you just googled for, you can use that spot for other information. So that’s a big win!
  34. How do we remember things? Why is certain information easier to learn than others? To understand this, it is useful to see how our brain splits up different areas of language.
  35. First slide
  36. Now whenever you are writing code and you come across something you want to google. Try to actively recall the information and write down what you think you know, even if it’s incomplete or incorrect. Only after, google for it and then, if you want, write it down in your dictionary or create a flashcard out of it. It has been proven that whenever you actively recall information. You are more likely to recall it the next time.
  37. First of I start with one of the most effective ones: Flashcards. They can best be compared to language learning programs like Duolingo. The strong suit about applications like these is that the lessons aren’t specifically long, but they trigger you to revisit it every day. Which makes a lot more sense on the long run. Instead of building a pathway in one day and then have trees regrowing over it, rather build the pathway slowly but keep walking it every day. Making sure to revisit your previous mistakes, causing the pathway to become a solid one. You can very easily make these flashcards yourself. You can do this physically, which of course has an advantage. Remember contextual association. However, I can understand that you would rather use an already build application for that. The concept however remains the same..
  38. Just like in school, you write on one side whatever you want to learn, whereas on the other side you write either the term, or place a visualization. So hello voxxed becomes in this case Buna Ziua Voxxed. Applications which you can use for this, are for example Anki and Quizlet. The nice thing of using these applications is that they will give you a daily reminder to revisit your words and next to that they take into account if you knew the word. Leading to showing the term more often or less often, based on how well you already know it.
  39. Next you can create a dictionary or association board. We all know that being developer automatically means that we’re quite creative right? So challenge yourselve and start creating this. The goal of creating a dictionary. Is that you actively write down things that you need to google for. So that instead of copy pasting it, you are stabilizing the information in your brain.
  40. And last but not least, study time! Personally I really this one, together with the flash cards, because it really gives you focus. Sometimes, especially when learning a new languages there can be so many new things coming your way that it’s a bit overwhelming what to give your attention. With study time you pick one concept, one technique, one feature that you will focus on in that next week. You block half an hour in your agenda, always on the same date, on the same time and preferably first thing you do that day when you start working. In that half an hour you’re spending time on research and creating a dictionary or association board. The week after you are actively trying to use it. So daily you are aware of your assignments for that day, and you are going to think about how you can try the technique out in your current work. At the end of the week, the best thing is to write down all the situations where you used the concept. Try to see if there were any situations that you hadn’t thought of before. Adapt your dictionary or association board to it. And last but not least, if you feel comfortable enough. I highly encourage you to explain it to others. Not only will it give you satisfaction of what you’ve learned. But if you can explain it to others, you are certain you understand it well enough. With this last point you are actually in the process of teaching and therefore helping others. This is the last part of my talk for today.
  41. Now before I begin I want to point out that when you are in the position of helping others learn. That you are probably more experienced and therefore likely to suffer the curse of expertise. The curse expertise means that you can’t really remember your own learning process. You just know, that you know stuff, but you kind of forgot how you got there. Being new to something or in process of learning is vulnerable. Please remember that you once where in their shoes and apart from that, that you are also still learning. So let’s start
  42. As stated before, kids love to parrot and just like any adult they don’t really like to be wrong or to make a mistake. So what we as speech and language therapists always practiced was to correct kids without them knowing. Whenever a kid makes a sentence that is not correct. Instead of really saying they are wrong, you repeat whatever they say but in the right way. Now this can also be done whenever helping a junior in the team. In case of a non-urgent situation or merge request, instead of really saying the person is wrong you can also show him or her an example of a different approach. This will help strengthen the network structure and next to that you give a little bit more room to the cognitive load of the junior, as he can decide for himself if he has room to pick it up. Of course there can also be situations in which you do immediately need to give direct feedback. However, in that case, instead of making a suggested change in gitlab for example. Explain the mistake and let the colleague fix it themselves.
  43. So how does this entire talk translate to the use of AI during coding. You probably have heard something about chatGPT, CoPilot, Codewhisperer or some other kind of pair programming tool. They are the cool new kids on the block, but do they help us in the proces of learning? To understand that we differentiate two types of pair programming tools. The first are code generation tools, like CoPilot which you can see in this example. You start typing your code and CoPilot starts suggesting code to finish the implementation. The other would be language processing tools like ChatGPT that give you back self-generated answers to your questions based on the vast amount of text and information they have been trained on. Let’s start with automatic code generation tools.
  44. So to assess these tools, we need to look through two different lenses. One of someone who is still learning a new language, and the other of someone who has already had a lot of experience with the language. For novices it might feel very nice and convenient to use automatic code generation tools as it helps them reduce the chance of cognitive overload. Because instead of using a chunk in their working memory, the tool deals with the processing. However, this convenience can also be a double-edged sword. When this information isn’t part of your working memory, you automatically take away the chance of learning and memorising the new knowledge. Also novices need to be even more careful for wrong suggestions from the tool, as they have less previous knowledge to judge the correctness of the suggestion and therefore they might learn things in the wrong way. On the positive side, automatic code generation tools can expose novices to a variety of implementation possibilities, helping them learn how to solve problems in different scenarios. Now, shifting our focus to the expert perspective. Experts in a programming language can greatly benefit from these tools in terms of efficiency. They can rapidly generate routine or boilerplate code, allowing them to concentrate more on complex and domain-specific aspects of their work. However, there are potential downsides. Experts might experience reduced critical thinking, relying too heavily on the tool's suggestions without thoroughly evaluating them. Additionally, there could be a reduction in creativity, as the tool may limit the exploration of alternative, innovative solutions. The moment you don’t walk your pathways anymore, there come a moment that pathway will get overgrown again.
  45. When we look at natural language processing tools we see that the pro’s and con’s are mainly the same when it comes down to experts. NLP tools can be powerful allies for novices on their learning journey, offering quick access to information, reducing fear of rejection, and supporting customized learning experiences. However, it's crucial for novices to use these tools as supplementary aids rather than sole sources of knowledge, maintaining a balance that fosters both independent thinking and the acquisition of valuable insights. When looking at all those AI tools we need to admit that we are becoming more and more symbiotic with our computer tools, growing into interconnected systems that remember less by knowing information than by knowing where the information can be found. This is called Transactive Memory
  46. 5. Cyborg The concept of transactive memory has evolved majorly throughout history. Initially we relied on interpersonal sharing, going to a friend or coworker for example. From there it transitioned to books and papers. Then the digital revolution brought transactive memory to the internet, making information accessible worldwide. Now, currently we are at the forefront of a new era where Artificial Intelligence (AI) tools like ChatGPT serve as extensions of our cognitive abilities, enriching our transactive memory. Looking ahead, we envision a future where humans merge with AI interfaces, becoming cyborgs with unprecedented access to knowledge, blurring the lines between individual and collective memory. Maybe also offering the solution to our learning problem we had, as the digital world will then become a part of our brain. Who knows?!
  47. First slide Research indicates that almost 60% of programmer’s time is sent on understanding code rather than writing Design patterns will help chunking. Beacons (smaller parts of code than chunks) helps to understand what the code does: Simple beacons are self-explaining syntactic code elements e.g.. Variable names Compound beacons are larger code structures comprised of simple beacons.
  48. First slide
  49. First slide
  50. First slide
  51. First slide
  52. First slide
  53. Hope you enjoyed and have fun during the rest of the day. If you really want to be crazy.. Download Anki right now and start creating your flashcards (even just for fun) during the talks, and see in the next couple of days if you like it and if it works for you. Enjoy!
  54. Now with this being said you can also use creative contextual association when you are learning two conflicting programming languages. So try to literally visualize that you have two different circles, or bookshelves per language. Whenever you learn a new concept, place the term, concept or meaning inside the right circle or bookshelf. Now, you can have a combined drawer or circle when a term occurs in both languages. But only when it has the same meaning, otherwise be wise to keep it in two separate places in your mind, preventing it from getting mixed up. Next to that, prevent too much context switching. We all know that our second language skills are a bit rusty at the moment when we didn’t use it for a while. We need to dust off our pathways, however when you spend some time on it; you’ll retrieve the level at which you were before. The same happens for programming languages. You need to find your way to the right bookshelves every time you switch. So personally I recommend to stick to one programming language a day if you can make that choice.
  55. You might think it’s not important to know the syntax by heart. Or you can say; well I will just google whenever I need to use a list. However every time you want to look up something online, it needs to be processed. It will take it’s toll on your working memory. When you have automated this information and you can just recall it without really thinking about it, you leave space for other “unfamiliair” information to be processed. Next to that, interruption of your work is killing. Research shows that after disruption of your workflow (for a telephone call or an email), it will take about 23 minutes to get back to the same attention level that you had before the disruption. Anki, Quizlet System hungarian: place an idetifier in front of the variable name in order to state the role of that variable (e.g. temporary, fixed, min, max etc)
  56. Before diving into the real linguistic and programming language part it’s good to get a better understanding of our brain and how it functions. So let’s dive in..