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

CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
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
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
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
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
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
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
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
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
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
 

Recently uploaded (20)

CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
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...
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
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
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
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
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
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
 

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