SlideShare a Scribd company logo
1 of 20
Download to read offline
An Experiment In
Rapid Skill Acquisition:
Teaching Someone How
To Program in 5 days
3/24/2014
Tony Tran
email: tony@5dayprogrammer.com
twitter:@quicksorter
DiSSS Method
● Deconstruction
● Selection
● Sequencing
● Stakes
DiSSS Method
● Deconstruction - breaking up your target skill into
smaller components.
● Selection - 80/20 principle. Work on things that will
get you the most bang for your buck!
● Sequencing - Order/Schedule what you learn in an
efficient way!
● Stakes - putting something on the line!
DiSSS+ Method
● Deconstruction
● Selection
● Sequencing
● Stakes
I would like to add ...
● Feedback - having someone correct you
helps out A LOT!
Patient Zero
● Non-technical background
● Product Manager
● Been trying to learn how to program for 2+
years
○ Attempted: Ruby, Python, Javascript
○ Invested a lot of time/money on learning.
○ Does not have strong grasp of languages.
■ Can not recall proper syntax for fundamentals
Deconstruction
● Terminal
○ ls/cp/mv/rm/python
● Variable assignment
● Types
● Helper functions
● REPL
● If/Else Statements
● For-loops/While loops
● Functions
● PIP
● Exception Handling
● Creating a script
● Unit Testing
● Using libraries
● Writing libraries
● Object Oriented
Programming
● Generators
● Concurrency
● A LOT MORE...
Selection: (My Goals)
● Teach students enough to be “deadly”:
○ Be able to recall fundamental concepts quickly
○ Be able to write text processing scripts
○ Be able to write simple libraries
○ Be able to write a simple web service
● Teach students how to be resourceful
○ Know where to look for answers
○ Being comfortable with being uncomfortable
Sequencing:
● Fundamentals first
○ Using the terminal
○ types, variable assignments, functions, if/else, for
loops, built-in data structures
○ Using helper functions
● More interesting things:
○ Using libraries, writing libraries
○ Writing scripts
Stakes
On the 5th day…
● Be able to write a script that reads in a file
and does some processing.
● Be able to write a library.
● Be able to write a simple Flask web service.
Day 1
● 4 hour session
● Student already knew:
○ How to use the terminal
○ Familiarity with REPL
○ Variable assignment
● What we went over:
○ Types, helper functions, if/else statements, for-
loops, functions, data types
Day2-Day5
● Homework to introduce new material
○ Review questions
○ Coding Assignments
○ DUE 11:59PM every night.
● Day2 - More Review
● Day3 - Scripts/Writing libraries
● Day4 - Using libraries/Writing libraries
● Day5 - Web service
Success Factors
● Consistency in practice
○ Practice everyday! No break days!
● Doing homework!
● Knowing your weaknesses and deficiencies
○ WORK HARD TO IMPROVE IN THESE AREAS!
○ Having a coach can help immensely
■ help you identify weaknesses
■ provide guidance for improvement
What I learned
● I can make $$$ off of this!!!
● Strategies for me to quickly acquire new
programming languages
● Inspiration for me to try to learn new things
quickly! (not just programming)
Other Experiments
● Boxing
● French (Parlez-Vous Francais!?!)
● Cooking
● Quantitative Finance
● ANY SUGGESTIONS!?!
Resources:
● DiSSS
○ The Tim Ferriss Experiment
○ 4 Hour Chef by Tim Ferriss
● Language (non-programming) Learning
○ Fluent in 3 Months by Benny Lewis
● My Site (coming soon)
○ www.5dayprogrammer.com
Lastly ...
If you could learn anything in
5 days, what would it be?
Let me know: @quicksorter
An Experiment In Rapid Skill Acquisition: Teaching Someone How To Program In 5 Days

More Related Content

What's hot

Turning humans into developers with Perl - London Perl Workshop 2017
Turning humans into developers with Perl - London Perl Workshop 2017Turning humans into developers with Perl - London Perl Workshop 2017
Turning humans into developers with Perl - London Perl Workshop 2017Julien Fiegehenn
 
Automated and peer assessment Mootieuk18
Automated and peer assessment Mootieuk18 Automated and peer assessment Mootieuk18
Automated and peer assessment Mootieuk18 Marcus Green
 
Communication With Clients Throughout The Project
Communication With Clients Throughout The ProjectCommunication With Clients Throughout The Project
Communication With Clients Throughout The ProjectNetguru
 
A Day at the Troubleshooting Range: Persistence in Finding Assistance
A Day at the Troubleshooting Range: Persistence in Finding AssistanceA Day at the Troubleshooting Range: Persistence in Finding Assistance
A Day at the Troubleshooting Range: Persistence in Finding AssistanceLambda Solutions
 
Ace the Tech Interviews - www.hiredintech.com
Ace the Tech Interviews - www.hiredintech.comAce the Tech Interviews - www.hiredintech.com
Ace the Tech Interviews - www.hiredintech.comAnton Dimitrov
 
Introduction to react js
Introduction to react jsIntroduction to react js
Introduction to react jsMunirMahmud3
 
Thinking visually for Software Testing Webinar Slides
Thinking visually for Software Testing Webinar SlidesThinking visually for Software Testing Webinar Slides
Thinking visually for Software Testing Webinar SlidesAlan Richardson
 
Data analysis in JavaScript
Data analysis in JavaScriptData analysis in JavaScript
Data analysis in JavaScriptAshley Davis
 
pdx893ff61f-1fb8-4e15-a379-775dfdbcee77-7-14-26-112
pdx893ff61f-1fb8-4e15-a379-775dfdbcee77-7-14-26-112pdx893ff61f-1fb8-4e15-a379-775dfdbcee77-7-14-26-112
pdx893ff61f-1fb8-4e15-a379-775dfdbcee77-7-14-26-112Thinkful
 
Git Makes Me Angry Inside - DrupalCon Prague
Git Makes Me Angry Inside - DrupalCon PragueGit Makes Me Angry Inside - DrupalCon Prague
Git Makes Me Angry Inside - DrupalCon PragueEmma Jane Hogbin Westby
 
Building software vs programming
Building software vs programmingBuilding software vs programming
Building software vs programmingMauricio Voto
 

What's hot (12)

Turning humans into developers with Perl - London Perl Workshop 2017
Turning humans into developers with Perl - London Perl Workshop 2017Turning humans into developers with Perl - London Perl Workshop 2017
Turning humans into developers with Perl - London Perl Workshop 2017
 
Automated and peer assessment Mootieuk18
Automated and peer assessment Mootieuk18 Automated and peer assessment Mootieuk18
Automated and peer assessment Mootieuk18
 
Communication With Clients Throughout The Project
Communication With Clients Throughout The ProjectCommunication With Clients Throughout The Project
Communication With Clients Throughout The Project
 
A Day at the Troubleshooting Range: Persistence in Finding Assistance
A Day at the Troubleshooting Range: Persistence in Finding AssistanceA Day at the Troubleshooting Range: Persistence in Finding Assistance
A Day at the Troubleshooting Range: Persistence in Finding Assistance
 
Ace the Tech Interviews - www.hiredintech.com
Ace the Tech Interviews - www.hiredintech.comAce the Tech Interviews - www.hiredintech.com
Ace the Tech Interviews - www.hiredintech.com
 
Codesters
CodestersCodesters
Codesters
 
Introduction to react js
Introduction to react jsIntroduction to react js
Introduction to react js
 
Thinking visually for Software Testing Webinar Slides
Thinking visually for Software Testing Webinar SlidesThinking visually for Software Testing Webinar Slides
Thinking visually for Software Testing Webinar Slides
 
Data analysis in JavaScript
Data analysis in JavaScriptData analysis in JavaScript
Data analysis in JavaScript
 
pdx893ff61f-1fb8-4e15-a379-775dfdbcee77-7-14-26-112
pdx893ff61f-1fb8-4e15-a379-775dfdbcee77-7-14-26-112pdx893ff61f-1fb8-4e15-a379-775dfdbcee77-7-14-26-112
pdx893ff61f-1fb8-4e15-a379-775dfdbcee77-7-14-26-112
 
Git Makes Me Angry Inside - DrupalCon Prague
Git Makes Me Angry Inside - DrupalCon PragueGit Makes Me Angry Inside - DrupalCon Prague
Git Makes Me Angry Inside - DrupalCon Prague
 
Building software vs programming
Building software vs programmingBuilding software vs programming
Building software vs programming
 

Similar to An Experiment In Rapid Skill Acquisition: Teaching Someone How To Program In 5 Days

How to deliver the right software (Specification by example)
How to deliver the right software (Specification by example)How to deliver the right software (Specification by example)
How to deliver the right software (Specification by example)Asier Barrenetxea
 
Personal kanban-workshop
Personal kanban-workshopPersonal kanban-workshop
Personal kanban-workshopSkills Matter
 
LIBST110A - Summer 2013 - Section 2136 - Session 1
LIBST110A - Summer 2013 - Section 2136 - Session 1LIBST110A - Summer 2013 - Section 2136 - Session 1
LIBST110A - Summer 2013 - Section 2136 - Session 1mkinneyccclib
 
Intro to Technical Writing: Creating Content that Google and Readers will Love
Intro to Technical Writing: Creating Content that Google and Readers will LoveIntro to Technical Writing: Creating Content that Google and Readers will Love
Intro to Technical Writing: Creating Content that Google and Readers will LoveLauren Hayward Schaefer
 
How to be a 10x Engineer
How to be a 10x EngineerHow to be a 10x Engineer
How to be a 10x EngineerNick Sullivan
 
Final project survival guide
Final project survival guideFinal project survival guide
Final project survival guideKaitlin Atkinson
 
Ask the XPages Experts
Ask the XPages ExpertsAsk the XPages Experts
Ask the XPages ExpertsTeamstudio
 
Getting Started in Project Management for Librarians - Metropolitan New York ...
Getting Started in Project Management for Librarians - Metropolitan New York ...Getting Started in Project Management for Librarians - Metropolitan New York ...
Getting Started in Project Management for Librarians - Metropolitan New York ...Lisa Chow
 
Patroklos Papapetrou: How to Boost Development Team’s Speed at I T.A.K.E. Unc...
Patroklos Papapetrou: How to Boost Development Team’s Speed at I T.A.K.E. Unc...Patroklos Papapetrou: How to Boost Development Team’s Speed at I T.A.K.E. Unc...
Patroklos Papapetrou: How to Boost Development Team’s Speed at I T.A.K.E. Unc...Mozaic Works
 
Boost your development speed - ITAKE Unconference
Boost your development speed - ITAKE UnconferenceBoost your development speed - ITAKE Unconference
Boost your development speed - ITAKE UnconferencePatroklos Papapetrou (Pat)
 
USC 100: Summer Presentation
USC 100: Summer PresentationUSC 100: Summer Presentation
USC 100: Summer PresentationRichard Winters
 
build@mercari-week7-mark-talk
build@mercari-week7-mark-talkbuild@mercari-week7-mark-talk
build@mercari-week7-mark-talkMark Hahn
 
Getting into public speaking at conferences
Getting into public speaking at conferencesGetting into public speaking at conferences
Getting into public speaking at conferencesJohn Stevenson
 
How to run a design sprint - LearnDay@Xoxzo #9
How to run a design sprint - LearnDay@Xoxzo #9How to run a design sprint - LearnDay@Xoxzo #9
How to run a design sprint - LearnDay@Xoxzo #9Xoxzo Inc.
 
Teach yourself Ruby on Rails
Teach yourself Ruby on RailsTeach yourself Ruby on Rails
Teach yourself Ruby on Railspatrikbona
 

Similar to An Experiment In Rapid Skill Acquisition: Teaching Someone How To Program In 5 Days (20)

How to deliver the right software (Specification by example)
How to deliver the right software (Specification by example)How to deliver the right software (Specification by example)
How to deliver the right software (Specification by example)
 
Personal kanban-workshop
Personal kanban-workshopPersonal kanban-workshop
Personal kanban-workshop
 
TPL A.Salt
TPL A.SaltTPL A.Salt
TPL A.Salt
 
Introduction to Project Management
Introduction to Project ManagementIntroduction to Project Management
Introduction to Project Management
 
LIBST110A - Summer 2013 - Section 2136 - Session 1
LIBST110A - Summer 2013 - Section 2136 - Session 1LIBST110A - Summer 2013 - Section 2136 - Session 1
LIBST110A - Summer 2013 - Section 2136 - Session 1
 
Intro to Technical Writing: Creating Content that Google and Readers will Love
Intro to Technical Writing: Creating Content that Google and Readers will LoveIntro to Technical Writing: Creating Content that Google and Readers will Love
Intro to Technical Writing: Creating Content that Google and Readers will Love
 
How to be a 10x Engineer
How to be a 10x EngineerHow to be a 10x Engineer
How to be a 10x Engineer
 
How to run a hackday
How to run a hackdayHow to run a hackday
How to run a hackday
 
Final project survival guide
Final project survival guideFinal project survival guide
Final project survival guide
 
Ask the XPages Experts
Ask the XPages ExpertsAsk the XPages Experts
Ask the XPages Experts
 
Getting Started in Project Management for Librarians - Metropolitan New York ...
Getting Started in Project Management for Librarians - Metropolitan New York ...Getting Started in Project Management for Librarians - Metropolitan New York ...
Getting Started in Project Management for Librarians - Metropolitan New York ...
 
Patroklos Papapetrou: How to Boost Development Team’s Speed at I T.A.K.E. Unc...
Patroklos Papapetrou: How to Boost Development Team’s Speed at I T.A.K.E. Unc...Patroklos Papapetrou: How to Boost Development Team’s Speed at I T.A.K.E. Unc...
Patroklos Papapetrou: How to Boost Development Team’s Speed at I T.A.K.E. Unc...
 
Boost your development speed - ITAKE Unconference
Boost your development speed - ITAKE UnconferenceBoost your development speed - ITAKE Unconference
Boost your development speed - ITAKE Unconference
 
Agile bioinf
Agile bioinfAgile bioinf
Agile bioinf
 
Skills guide
Skills guideSkills guide
Skills guide
 
USC 100: Summer Presentation
USC 100: Summer PresentationUSC 100: Summer Presentation
USC 100: Summer Presentation
 
build@mercari-week7-mark-talk
build@mercari-week7-mark-talkbuild@mercari-week7-mark-talk
build@mercari-week7-mark-talk
 
Getting into public speaking at conferences
Getting into public speaking at conferencesGetting into public speaking at conferences
Getting into public speaking at conferences
 
How to run a design sprint - LearnDay@Xoxzo #9
How to run a design sprint - LearnDay@Xoxzo #9How to run a design sprint - LearnDay@Xoxzo #9
How to run a design sprint - LearnDay@Xoxzo #9
 
Teach yourself Ruby on Rails
Teach yourself Ruby on RailsTeach yourself Ruby on Rails
Teach yourself Ruby on Rails
 

Recently uploaded

Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 

Recently uploaded (20)

Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 

An Experiment In Rapid Skill Acquisition: Teaching Someone How To Program In 5 Days

  • 1. An Experiment In Rapid Skill Acquisition: Teaching Someone How To Program in 5 days 3/24/2014 Tony Tran email: tony@5dayprogrammer.com twitter:@quicksorter
  • 2.
  • 3. DiSSS Method ● Deconstruction ● Selection ● Sequencing ● Stakes
  • 4. DiSSS Method ● Deconstruction - breaking up your target skill into smaller components. ● Selection - 80/20 principle. Work on things that will get you the most bang for your buck! ● Sequencing - Order/Schedule what you learn in an efficient way! ● Stakes - putting something on the line!
  • 5. DiSSS+ Method ● Deconstruction ● Selection ● Sequencing ● Stakes I would like to add ... ● Feedback - having someone correct you helps out A LOT!
  • 6.
  • 7.
  • 8. Patient Zero ● Non-technical background ● Product Manager ● Been trying to learn how to program for 2+ years ○ Attempted: Ruby, Python, Javascript ○ Invested a lot of time/money on learning. ○ Does not have strong grasp of languages. ■ Can not recall proper syntax for fundamentals
  • 9. Deconstruction ● Terminal ○ ls/cp/mv/rm/python ● Variable assignment ● Types ● Helper functions ● REPL ● If/Else Statements ● For-loops/While loops ● Functions ● PIP ● Exception Handling ● Creating a script ● Unit Testing ● Using libraries ● Writing libraries ● Object Oriented Programming ● Generators ● Concurrency ● A LOT MORE...
  • 10. Selection: (My Goals) ● Teach students enough to be “deadly”: ○ Be able to recall fundamental concepts quickly ○ Be able to write text processing scripts ○ Be able to write simple libraries ○ Be able to write a simple web service ● Teach students how to be resourceful ○ Know where to look for answers ○ Being comfortable with being uncomfortable
  • 11. Sequencing: ● Fundamentals first ○ Using the terminal ○ types, variable assignments, functions, if/else, for loops, built-in data structures ○ Using helper functions ● More interesting things: ○ Using libraries, writing libraries ○ Writing scripts
  • 12. Stakes On the 5th day… ● Be able to write a script that reads in a file and does some processing. ● Be able to write a library. ● Be able to write a simple Flask web service.
  • 13. Day 1 ● 4 hour session ● Student already knew: ○ How to use the terminal ○ Familiarity with REPL ○ Variable assignment ● What we went over: ○ Types, helper functions, if/else statements, for- loops, functions, data types
  • 14. Day2-Day5 ● Homework to introduce new material ○ Review questions ○ Coding Assignments ○ DUE 11:59PM every night. ● Day2 - More Review ● Day3 - Scripts/Writing libraries ● Day4 - Using libraries/Writing libraries ● Day5 - Web service
  • 15. Success Factors ● Consistency in practice ○ Practice everyday! No break days! ● Doing homework! ● Knowing your weaknesses and deficiencies ○ WORK HARD TO IMPROVE IN THESE AREAS! ○ Having a coach can help immensely ■ help you identify weaknesses ■ provide guidance for improvement
  • 16. What I learned ● I can make $$$ off of this!!! ● Strategies for me to quickly acquire new programming languages ● Inspiration for me to try to learn new things quickly! (not just programming)
  • 17. Other Experiments ● Boxing ● French (Parlez-Vous Francais!?!) ● Cooking ● Quantitative Finance ● ANY SUGGESTIONS!?!
  • 18. Resources: ● DiSSS ○ The Tim Ferriss Experiment ○ 4 Hour Chef by Tim Ferriss ● Language (non-programming) Learning ○ Fluent in 3 Months by Benny Lewis ● My Site (coming soon) ○ www.5dayprogrammer.com
  • 19. Lastly ... If you could learn anything in 5 days, what would it be? Let me know: @quicksorter