SlideShare a Scribd company logo
1 of 44
Download to read offline
#DataFirst approach to coding
How software engineering at all levels can be more
productive by learning data first.
Ato Mensah
Co-founder, Bitstrapped
Data First: Understand data storage, databases, and data patterns, then writing code
There will be an estimated 30M software globally by 2024
The largest portion of developers are self taught
How do we create more
coders and boost their productivity?
All of them would benefit from a “data-first” approach to
coding to boost productivity, no matter what their
experience level is.
Data First: Understand data storage, databases, and data patterns, then writing code
A better approach to learning to code
Learn how to design interfaces
Find a purpose
Define yourself
Learn a data and databases
Learn to write procedures
#DataFirst
Data First: Understand data storage, databases, and data patterns, then writing code
Common excuses for giving up
Data First: Understand data storage, databases, and data patterns, then writing code
Coding is Boring.
Data First: Understand data storage, databases, and data patterns, then writing code
Requires deep math
understanding.
Data First: Understand data storage, databases, and data patterns, then writing code
Too Many Languages.
Data First: Understand data storage, databases, and data patterns, then writing code
Syntax is confusing.
Data First: Understand data storage, databases, and data patterns, then writing code
Teachers are boring.
Data First: Understand data storage, databases, and data patterns, then writing code
No Purpose.
We give up when we can't relate what we are
doing to a real problem
Data First: Understand data storage, databases, and data patterns, then writing code
The truth is …
Data First: Understand data storage, databases, and data patterns, then writing code
Do it because you want to solve your own problems.
Automate and improve your life. Build an app to help
people.
- Andrei Soare
(The Next Web)
Don Knuth
“I might be 1 person of 50”
3% of people can think computationally
https://www.youtube.com/watch?v=ajlh7l1KCW8
Data First: Understand data storage, databases, and data patterns, then writing code
Data First: Understand data storage, databases, and data patterns, then writing code
Typically refers to a
programmer with limited
experience who writes
simple programs.
Coder
A software engineer is a
licensed professional
engineer who is schooled
and skilled in the
application of engineering
discipline to the creation
of software.
Software Engineer
Programmer
A person who
writes computer
programs. Typically
can pick up any
language with
some time.
Data First: Understand data storage, databases, and data patterns, then writing code
Layers of software development
Coders,
Programmers
Software Engineers
Computer Science
Math
Computational
Data First: Understand data storage, databases, and data patterns, then writing code
Layers of software development
FRONT-END
HTML, CSS, JavaScript,
BACK-END
PHP, Node.js, Ruby, JAVA,
Python
BACK-END (Database)
MySQL, Postgres, SQL
Data First: Understand data storage, databases, and data patterns, then writing code
Learning Web Development
FRONT-END
HTML, CSS, JavaScript,
BACK-END
PHP, Node.js, Ruby, JAVA,
Python
BACK-END (Database)
MySQL, Postgres, SQL
Degree of Difficulty
Easiest
The Interface
The Language
The Storage
Data First: Understand data storage, databases, and data patterns, then writing code
We assume that because we are teaching
web development, we need to start with
HTML, CSS JavaScript, the languages of
the web browser
Assumption
Data First: Understand data storage, databases, and data patterns, then writing code
The longer it takes a student to learn
databases, the longer they stay
disconnected from the data, the data flow
behind the app.
Maybe we are wrong…
Data First: Understand data storage, databases, and data patterns, then writing code
Learn a Data and databases
Everything is a data
Inputting / Storing / Retrieving Data is the most
important concept in programming
Data First: Understand data storage, databases, and data patterns, then writing code
Data First: Understand data storage, databases, and data patterns, then writing code
Learn a Databases as a means
to becoming a better coder
#Data First
Data First: Understand data storage, databases, and data patterns, then writing code
Data First?
SQL = The Language of the Database
The 9 Most In-Demand Programming Languages of 2016
Structured Query
Language (SQL)
Data First: Understand data storage, databases, and data patterns, then writing code
PostgreSQL, MongoDB and MySQL power a lot of internet companies.
Almost every interaction you have with technology eventually touches
something SQL or an equivalent Structured Query language.
All mobile apps have access to a SQL database called SQLite. They also store
everything in central databases over the cloud.
Learn these databases
Data First: Understand data storage, databases, and data patterns, then writing code
Classic Web Form
Movie Maker
Sarah Sheppard
1. Learn to collect basic form data
2. Learn to process the data
3. Learn to place it in a database
4. Learn to later retrieve this data and display it
Data First: Understand data storage, databases, and data patterns, then writing code
{
name: “Sarah Sheppard”,
age: 30,
description: “Movie Maker”
}
Data Structure (JSON)
Form submission over the internet
Data First: Understand data storage, databases, and data patterns, then writing code
Database Table
Learn to write procedures that
interact with the database
Data First: Understand data storage, databases, and data patterns, then writing code
Computers are good at following instructions, but
not at reading your mind.
- Don Knuth
Data First: Understand data storage, databases, and data patterns, then writing code
Data First: Understand data storage, databases, and data patterns, then writing code
Procedure
A series of actions conducted in a certain order or manner
The actions of a procedure are
a set of instructions written in a
language
Data First: Understand data storage, databases, and data patterns, then writing code
Data First: Understand data storage, databases, and data patterns, then writing code
Choose a programming language
?
Choose a programming language
Data First: Understand data storage, databases, and data patterns, then writing code
Picking up your kid up from school
Picking up little Adrienne
Language = English
Think Procedurally
Data First: Understand data storage, databases, and data patterns, then writing code
Time
(data storage)
You current State
(data storage)
Computations (inputs)
(data + thinking)
Action (Decision)
(Functions)
Wed, 3:15pm
Wed, 3:16pm
Wed, 3:18pm
Wed, 3:20pm
Wed, 3:22pm
Sitting on couch watching
Judge Judy
Becoming a little anxious
Off the couch, walking to the
kitchen for a snack
Grabbing keys
Sitting in Car
• On wed teacher usually lets the
kids out 10 minutes late.
• But I probably want to get
ahead of the other parents
in the parking lot queue or
we will waste more time
• Oh, last time I was late he
had a fit
• But damn, this episode of
Judge Judy is so good, I want
to watch another 5 minute.
• I guess I better consider
traffic too.
• Did I fill the gas tank?
Shift position
Stand up start walking
Reach for keys
Walk to door, lock the door
and head to the school
"I think you can learn any subject better if you
have a way to express it as a procedure (algorithm)
instead of a set of facts".
- Don Knuth
Data First: Understand data storage, databases, and data patterns, then writing code
Data First: Understand data storage, databases, and data patterns, then writing code
Humans do a lot of actions by following procedures backed by data
stored in memory and environment data processed in real-time
What we do wrong when teaching code:
1. We take a long time to get to the procedures
2. We spend a lot of focus on fundamentals of programming
3. Definitions and Facts
4. Latest and greatest frameworks (“best practices”)
5. We teach with bias based on our experience
We over complicate software and the process
because of our experience
Data First: Understand data storage, databases, and data patterns, then writing code
#Data First
Data First: Understand data storage, databases, and data patterns, then writing code
DataFirst means you learn how about the database first, before
learning to code the procedures to interact with it.
Learn Data before you master
coding
Data First: Understand data storage, databases, and data patterns, then writing code
A better way to master coding
Especially if you are not formally trained
computer scientists
Data First: Understand data storage, databases, and data patterns, then writing code
Data First: Understand data storage, databases, and data patterns, then writing code
Learn more database and more
procedures
Resources to manage a local database:
Data.World
Social network for Datasets. Download.
PgAdmin
https://www.pgadmin.org
MySQL Workbench
https://www.mysql.com/products/workbench
SQLPro for MSSQL
https://www.macsqlclient.com
Data First: Understand data storage, databases, and data patterns, then writing code
Thank You
Data First: Understand data storage, databases, and data patterns, then writing code

More Related Content

Similar to DataFirst approach to coding

Top 10 Interview Questions for Coding Job.docx
Top 10 Interview Questions for Coding Job.docxTop 10 Interview Questions for Coding Job.docx
Top 10 Interview Questions for Coding Job.docxSurendra Gusain
 
Finding balance of DDD while your application grows
Finding balance of DDD while your application growsFinding balance of DDD while your application grows
Finding balance of DDD while your application growsCarolina Karklis
 
What Your Database Query is Really Doing
What Your Database Query is Really DoingWhat Your Database Query is Really Doing
What Your Database Query is Really DoingDave Stokes
 
Open Web Technologies and You - Durham College Student Integration Presentation
Open Web Technologies and You - Durham College Student Integration PresentationOpen Web Technologies and You - Durham College Student Integration Presentation
Open Web Technologies and You - Durham College Student Integration Presentationdarryl_lehmann
 
Hacking and mash-ups for beginners at MCN2011
Hacking and mash-ups for beginners at MCN2011Hacking and mash-ups for beginners at MCN2011
Hacking and mash-ups for beginners at MCN2011Mia
 
From Device Drivers to Data Analytics
From Device Drivers to Data AnalyticsFrom Device Drivers to Data Analytics
From Device Drivers to Data AnalyticsDorai Thodla
 
Grade 11-Q1_W3-PECS_AQS.pdf
Grade 11-Q1_W3-PECS_AQS.pdfGrade 11-Q1_W3-PECS_AQS.pdf
Grade 11-Q1_W3-PECS_AQS.pdfVictor Sinangote
 
Key Skills Required for Data Engineering
Key Skills Required for Data EngineeringKey Skills Required for Data Engineering
Key Skills Required for Data EngineeringFibonalabs
 
How to learn programming for begineers!
How to learn programming for begineers!How to learn programming for begineers!
How to learn programming for begineers!Aman Kumar
 
data science chapter-4,5,6
data science chapter-4,5,6data science chapter-4,5,6
data science chapter-4,5,6varshakumar21
 
Hadoop Online training by Keylabs
Hadoop Online training by KeylabsHadoop Online training by Keylabs
Hadoop Online training by KeylabsSiva Sankar
 
TeelTech - Advancing Mobile Device Forensics (online version)
TeelTech - Advancing Mobile Device Forensics (online version)TeelTech - Advancing Mobile Device Forensics (online version)
TeelTech - Advancing Mobile Device Forensics (online version)Mike Felch
 
Apache Con 2008 Top 10 Mistakes
Apache Con 2008 Top 10 MistakesApache Con 2008 Top 10 Mistakes
Apache Con 2008 Top 10 MistakesJohn Coggeshall
 
From SQL to Python - A Beginner's Guide to Making the Switch
From SQL to Python - A Beginner's Guide to Making the SwitchFrom SQL to Python - A Beginner's Guide to Making the Switch
From SQL to Python - A Beginner's Guide to Making the SwitchRachel Berryman
 
10 ways to accelerate software development by dave thomas at yow! nights hk
10 ways to accelerate software development by dave thomas at yow! nights hk10 ways to accelerate software development by dave thomas at yow! nights hk
10 ways to accelerate software development by dave thomas at yow! nights hkTze Chin Tang
 
The Guide to becoming a full stack developer in 2018
The Guide to becoming a full stack developer in 2018The Guide to becoming a full stack developer in 2018
The Guide to becoming a full stack developer in 2018Amit Ashwini
 

Similar to DataFirst approach to coding (20)

Top 10 Interview Questions for Coding Job.docx
Top 10 Interview Questions for Coding Job.docxTop 10 Interview Questions for Coding Job.docx
Top 10 Interview Questions for Coding Job.docx
 
Finding balance of DDD while your application grows
Finding balance of DDD while your application growsFinding balance of DDD while your application grows
Finding balance of DDD while your application grows
 
Lecture 1.pptx
Lecture 1.pptxLecture 1.pptx
Lecture 1.pptx
 
What Your Database Query is Really Doing
What Your Database Query is Really DoingWhat Your Database Query is Really Doing
What Your Database Query is Really Doing
 
Open Web Technologies and You - Durham College Student Integration Presentation
Open Web Technologies and You - Durham College Student Integration PresentationOpen Web Technologies and You - Durham College Student Integration Presentation
Open Web Technologies and You - Durham College Student Integration Presentation
 
Hacking and mash-ups for beginners at MCN2011
Hacking and mash-ups for beginners at MCN2011Hacking and mash-ups for beginners at MCN2011
Hacking and mash-ups for beginners at MCN2011
 
From Device Drivers to Data Analytics
From Device Drivers to Data AnalyticsFrom Device Drivers to Data Analytics
From Device Drivers to Data Analytics
 
12363 database certification
12363 database certification12363 database certification
12363 database certification
 
Grade 11-Q1_W3-PECS_AQS.pdf
Grade 11-Q1_W3-PECS_AQS.pdfGrade 11-Q1_W3-PECS_AQS.pdf
Grade 11-Q1_W3-PECS_AQS.pdf
 
Key Skills Required for Data Engineering
Key Skills Required for Data EngineeringKey Skills Required for Data Engineering
Key Skills Required for Data Engineering
 
How to learn programming for begineers!
How to learn programming for begineers!How to learn programming for begineers!
How to learn programming for begineers!
 
data science chapter-4,5,6
data science chapter-4,5,6data science chapter-4,5,6
data science chapter-4,5,6
 
Hadoop Online training by Keylabs
Hadoop Online training by KeylabsHadoop Online training by Keylabs
Hadoop Online training by Keylabs
 
TeelTech - Advancing Mobile Device Forensics (online version)
TeelTech - Advancing Mobile Device Forensics (online version)TeelTech - Advancing Mobile Device Forensics (online version)
TeelTech - Advancing Mobile Device Forensics (online version)
 
Apache Con 2008 Top 10 Mistakes
Apache Con 2008 Top 10 MistakesApache Con 2008 Top 10 Mistakes
Apache Con 2008 Top 10 Mistakes
 
From SQL to Python - A Beginner's Guide to Making the Switch
From SQL to Python - A Beginner's Guide to Making the SwitchFrom SQL to Python - A Beginner's Guide to Making the Switch
From SQL to Python - A Beginner's Guide to Making the Switch
 
10 ways to accelerate software development by dave thomas at yow! nights hk
10 ways to accelerate software development by dave thomas at yow! nights hk10 ways to accelerate software development by dave thomas at yow! nights hk
10 ways to accelerate software development by dave thomas at yow! nights hk
 
Data science unit2
Data science unit2Data science unit2
Data science unit2
 
The Guide to becoming a full stack developer in 2018
The Guide to becoming a full stack developer in 2018The Guide to becoming a full stack developer in 2018
The Guide to becoming a full stack developer in 2018
 
1435488539 221998
1435488539 2219981435488539 221998
1435488539 221998
 

Recently uploaded

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
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
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
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
 
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
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
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
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
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
 
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
 
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
 

Recently uploaded (20)

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
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?
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
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...
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
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 ...
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
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
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
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
 
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
 
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...
 
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
 

DataFirst approach to coding

  • 1. #DataFirst approach to coding How software engineering at all levels can be more productive by learning data first. Ato Mensah Co-founder, Bitstrapped
  • 2. Data First: Understand data storage, databases, and data patterns, then writing code There will be an estimated 30M software globally by 2024 The largest portion of developers are self taught How do we create more coders and boost their productivity? All of them would benefit from a “data-first” approach to coding to boost productivity, no matter what their experience level is.
  • 3. Data First: Understand data storage, databases, and data patterns, then writing code A better approach to learning to code Learn how to design interfaces Find a purpose Define yourself Learn a data and databases Learn to write procedures #DataFirst
  • 4. Data First: Understand data storage, databases, and data patterns, then writing code Common excuses for giving up
  • 5. Data First: Understand data storage, databases, and data patterns, then writing code Coding is Boring.
  • 6. Data First: Understand data storage, databases, and data patterns, then writing code Requires deep math understanding.
  • 7. Data First: Understand data storage, databases, and data patterns, then writing code Too Many Languages.
  • 8. Data First: Understand data storage, databases, and data patterns, then writing code Syntax is confusing.
  • 9. Data First: Understand data storage, databases, and data patterns, then writing code Teachers are boring.
  • 10. Data First: Understand data storage, databases, and data patterns, then writing code No Purpose.
  • 11. We give up when we can't relate what we are doing to a real problem Data First: Understand data storage, databases, and data patterns, then writing code The truth is …
  • 12. Data First: Understand data storage, databases, and data patterns, then writing code Do it because you want to solve your own problems. Automate and improve your life. Build an app to help people. - Andrei Soare (The Next Web)
  • 13. Don Knuth “I might be 1 person of 50” 3% of people can think computationally https://www.youtube.com/watch?v=ajlh7l1KCW8 Data First: Understand data storage, databases, and data patterns, then writing code
  • 14. Data First: Understand data storage, databases, and data patterns, then writing code Typically refers to a programmer with limited experience who writes simple programs. Coder A software engineer is a licensed professional engineer who is schooled and skilled in the application of engineering discipline to the creation of software. Software Engineer Programmer A person who writes computer programs. Typically can pick up any language with some time.
  • 15. Data First: Understand data storage, databases, and data patterns, then writing code Layers of software development Coders, Programmers Software Engineers Computer Science Math Computational
  • 16. Data First: Understand data storage, databases, and data patterns, then writing code Layers of software development FRONT-END HTML, CSS, JavaScript, BACK-END PHP, Node.js, Ruby, JAVA, Python BACK-END (Database) MySQL, Postgres, SQL
  • 17. Data First: Understand data storage, databases, and data patterns, then writing code Learning Web Development FRONT-END HTML, CSS, JavaScript, BACK-END PHP, Node.js, Ruby, JAVA, Python BACK-END (Database) MySQL, Postgres, SQL Degree of Difficulty Easiest The Interface The Language The Storage
  • 18. Data First: Understand data storage, databases, and data patterns, then writing code We assume that because we are teaching web development, we need to start with HTML, CSS JavaScript, the languages of the web browser Assumption
  • 19. Data First: Understand data storage, databases, and data patterns, then writing code The longer it takes a student to learn databases, the longer they stay disconnected from the data, the data flow behind the app. Maybe we are wrong…
  • 20. Data First: Understand data storage, databases, and data patterns, then writing code Learn a Data and databases
  • 21. Everything is a data Inputting / Storing / Retrieving Data is the most important concept in programming Data First: Understand data storage, databases, and data patterns, then writing code
  • 22. Data First: Understand data storage, databases, and data patterns, then writing code Learn a Databases as a means to becoming a better coder #Data First
  • 23. Data First: Understand data storage, databases, and data patterns, then writing code Data First? SQL = The Language of the Database The 9 Most In-Demand Programming Languages of 2016 Structured Query Language (SQL)
  • 24. Data First: Understand data storage, databases, and data patterns, then writing code PostgreSQL, MongoDB and MySQL power a lot of internet companies. Almost every interaction you have with technology eventually touches something SQL or an equivalent Structured Query language. All mobile apps have access to a SQL database called SQLite. They also store everything in central databases over the cloud. Learn these databases
  • 25. Data First: Understand data storage, databases, and data patterns, then writing code Classic Web Form Movie Maker Sarah Sheppard 1. Learn to collect basic form data 2. Learn to process the data 3. Learn to place it in a database 4. Learn to later retrieve this data and display it
  • 26. Data First: Understand data storage, databases, and data patterns, then writing code { name: “Sarah Sheppard”, age: 30, description: “Movie Maker” } Data Structure (JSON) Form submission over the internet
  • 27. Data First: Understand data storage, databases, and data patterns, then writing code Database Table
  • 28. Learn to write procedures that interact with the database Data First: Understand data storage, databases, and data patterns, then writing code
  • 29. Computers are good at following instructions, but not at reading your mind. - Don Knuth Data First: Understand data storage, databases, and data patterns, then writing code
  • 30. Data First: Understand data storage, databases, and data patterns, then writing code Procedure A series of actions conducted in a certain order or manner
  • 31. The actions of a procedure are a set of instructions written in a language Data First: Understand data storage, databases, and data patterns, then writing code
  • 32. Data First: Understand data storage, databases, and data patterns, then writing code Choose a programming language ?
  • 34. Data First: Understand data storage, databases, and data patterns, then writing code Picking up your kid up from school Picking up little Adrienne Language = English Think Procedurally
  • 35. Data First: Understand data storage, databases, and data patterns, then writing code Time (data storage) You current State (data storage) Computations (inputs) (data + thinking) Action (Decision) (Functions) Wed, 3:15pm Wed, 3:16pm Wed, 3:18pm Wed, 3:20pm Wed, 3:22pm Sitting on couch watching Judge Judy Becoming a little anxious Off the couch, walking to the kitchen for a snack Grabbing keys Sitting in Car • On wed teacher usually lets the kids out 10 minutes late. • But I probably want to get ahead of the other parents in the parking lot queue or we will waste more time • Oh, last time I was late he had a fit • But damn, this episode of Judge Judy is so good, I want to watch another 5 minute. • I guess I better consider traffic too. • Did I fill the gas tank? Shift position Stand up start walking Reach for keys Walk to door, lock the door and head to the school
  • 36. "I think you can learn any subject better if you have a way to express it as a procedure (algorithm) instead of a set of facts". - Don Knuth Data First: Understand data storage, databases, and data patterns, then writing code
  • 37. Data First: Understand data storage, databases, and data patterns, then writing code Humans do a lot of actions by following procedures backed by data stored in memory and environment data processed in real-time What we do wrong when teaching code: 1. We take a long time to get to the procedures 2. We spend a lot of focus on fundamentals of programming 3. Definitions and Facts 4. Latest and greatest frameworks (“best practices”) 5. We teach with bias based on our experience
  • 38. We over complicate software and the process because of our experience Data First: Understand data storage, databases, and data patterns, then writing code
  • 39. #Data First Data First: Understand data storage, databases, and data patterns, then writing code DataFirst means you learn how about the database first, before learning to code the procedures to interact with it.
  • 40. Learn Data before you master coding Data First: Understand data storage, databases, and data patterns, then writing code
  • 41. A better way to master coding Especially if you are not formally trained computer scientists Data First: Understand data storage, databases, and data patterns, then writing code
  • 42. Data First: Understand data storage, databases, and data patterns, then writing code Learn more database and more procedures
  • 43. Resources to manage a local database: Data.World Social network for Datasets. Download. PgAdmin https://www.pgadmin.org MySQL Workbench https://www.mysql.com/products/workbench SQLPro for MSSQL https://www.macsqlclient.com Data First: Understand data storage, databases, and data patterns, then writing code
  • 44. Thank You Data First: Understand data storage, databases, and data patterns, then writing code