Upload
ato-mensah
View
77
Download
0
Embed Size (px)
Citation preview
# Data First Teaching coders not to give up
Ato Mensah Co-‐founder, Bitstrapped
Data First: Teaching coders not to give up Entrecoder.com
The Problem
An es&mated 1M tech-‐related jobs will go unfilled by 2020
The largest por;on of these jobs are so=ware development roles
How do we create more coders ?
Data First: Teaching coders not to give up Entrecoder.com
Web Development
This discussion will focus on coders of web applica&ons
Because the top 5 most valuable companies in the world are Apple, Google, Facebook, Amazon, Microso=
Their so=ware creates interac;ons powered by the web
Data First: Teaching coders not to give up Entrecoder.com
Steps to NOT give up coding
Learn how to design interfaces
Find a purpose
Define yourself
Learn a Database
Learn to write procedures
Finding purpose
Data First: Teaching coders not to give up Entrecoder.com
Data First: Teaching coders not to give up Entrecoder.com
I couldn’t learn coding because it was boring and I had to go through the boring stuff to get the interes;ng stuff. And my teacher was boring. I was good at math and like computers, but didn’t quite know what I was geNng into. I started with cobal.
-‐ Ashley
Data First: Teaching coders not to give up Entrecoder.com
Common excuses for giving up
Data First: Teaching coders not to give up Entrecoder.com
Coding is Boring.
Data First: Teaching coders not to give up Entrecoder.com
Coding requires too much math.
Data First: Teaching coders not to give up Entrecoder.com
It’s too ;me consuming.
Data First: Teaching coders not to give up Entrecoder.com
Coding is for nerds.
Data First: Teaching coders not to give up Entrecoder.com
Too Many Languages.
Data First: Teaching coders not to give up Entrecoder.com
Syntax is confusing.
Data First: Teaching coders not to give up Entrecoder.com
Teachers are boring.
Data First: Teaching coders not to give up Entrecoder.com
No Goals.
Data First: Teaching coders not to give up Entrecoder.com
It’s too free to learn.
Data First: Teaching coders not to give up Entrecoder.com
No Purpose.
We give up when we can't relate what we are doing to a real problem
Data First: Teaching coders not to give up Entrecoder.com
The truth is …
Data First: Teaching coders not to give up Entrecoder.com
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)
Data First: Teaching coders not to give up Entrecoder.com
Are you a coder, a programmer or a soLware engineer
Define Yourself
Don Knuth “I might be 1 person of 50”
3% of people can think computa;onally
h]ps://www.youtube.com/watch?v=ajlh7l1KCW8
Data First: Teaching coders not to give up Entrecoder.com
Data First: Teaching coders not to give up Entrecoder.com
Typically refers to a programmer with limited experience who writes simple programs.
Coder
A so=ware engineer is a licensed professional engineer who is schooled and skilled in the applica;on of engineering discipline to the crea;on of so=ware.
SoLware Engineer
Programmer A person who writes computer programs. Typically can pick up any language with some ;me.
Data First: Teaching coders not to give up Entrecoder.com
Layers of soLware development
Coders, Programmers
SoLware Engineers Computer Science Math Computa;onal
Data First: Teaching coders not to give up Entrecoder.com
Layers of soLware development
FRONT-‐END HTML, CSS, JavaScript,
BACK-‐END PHP, Node.js, Ruby, JAVA, Python
BACK-‐END (Database) MySQL, Postgres, SQL
Data First: Teaching coders not to give up Entrecoder.com
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: Teaching coders not to give up Entrecoder.com
We assume that because we are teaching web development, we need to start with HTML, CSS JavaScript, the languages of
the web browser
Assump&on
Data First: Teaching coders not to give up Entrecoder.com
The longer it takes a student to learn databases, the longer they stay
disconnected from the data, the purpose behind the app.
Maybe we are wrong…
Data First: Teaching coders not to give up Entrecoder.com
Learn a Database
Everything is a data
InpuNng / Storing / Retrieving Data is the most important concept in programming
Data First: Teaching coders not to give up Entrecoder.com
Data First: Teaching coders not to give up Entrecoder.com
Learn a Database
#Data First
Data First: Teaching coders not to give up Entrecoder.com
Data First?
SQL = The Language of the Database
The 9 Most In-‐Demand Programming Languages of 2016
Structured Query Language (SQL)
Data First: Teaching coders not to give up Entrecoder.com
MySQL, PostgreSQL and Microso= SQL Server power are big businesses, small businesses, hospitals, banks, universi;es.
Almost every interac;on you have with technology eventually touches
something SQL.
All mobile have access to a SQL database called SQLite. They also store everything in central databases over the cloud.
Learn these databases
Data First: Teaching coders not to give up Entrecoder.com
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: Teaching coders not to give up Entrecoder.com
{ name: “Sarah Sheppard”, age: 30, descrip;on: “Movie Maker” }
Data Structure (JSON)
Form submission over the internet
Data First: Teaching coders not to give up Entrecoder.com
Database Table
Learn to write procedures
Data First: Teaching coders not to give up Entrecoder.com
Computers are good at following instruc;ons, but not at reading your mind.
-‐ Don Knuth
Data First: Teaching coders not to give up Entrecoder.com
Data First: Teaching coders not to give up Entrecoder.com
Procedure
A series of ac;ons conducted in a certain order or manner
The ac;ons of a procedure are a set of instruc;ons wri]en in a
language
Data First: Teaching coders not to give up Entrecoder.com
Data First: Teaching coders not to give up Entrecoder.com
Choose a programming language
?
Data First: Teaching coders not to give up Entrecoder.com
Choose a programming language
PHP Ruby on Rails Node.js Python
Data First: Teaching coders not to give up Entrecoder.com
Picking up your kid up from school
Picking up li^le Adrienne
Language = Engrish
Think Procedurally
Data First: Teaching coders not to give up Entrecoder.com
Time (data storage)
You current State (data storage)
Computa&ons (inputs) (data + thinking)
Ac&on (Decision) (Functions)
Wed, 3:15pm
Wed, 3:16pm
Wed, 3:18pm
Wed, 3:20pm
Wed, 3:22pm
SiNng on couch watching
Judge Judy
Becoming a li]le anxious
Off the couch, walking to the kitchen for a snack
Grabbing keys
SiNng 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 ;me
• Oh, last ;me 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 be]er consider traffic too.
• Did I fill the gas tank?
Shi= posi;on
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 be]er if you have a way to express it as a procedure (algorithm) instead of a set of facts".
-‐ Don Knuth
Data First: Teaching coders not to give up Entrecoder.com
Data First: Teaching coders not to give up Entrecoder.com
Humans do a lot of ac;ons by following procedures backed by data stored in memory and environment data processed in real-‐;me
What we do wrong when teaching code:
1. We take a long ;me to get to the procedures 2. We spend a lot of focus on fundamentals of programming 3. Defini;ons and Facts 4. Latest and greatest frameworks (“best prac;ces”) 5. We teach with bias based on our experience
We over complicate so=ware and the process
because of our experience
Data First: Teaching coders not to give up Entrecoder.com
#Data First
Data First: Teaching coders not to give up Entrecoder.com
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: Teaching coders not to give up Entrecoder.com
A be]er way to master coding
If you are not formally trained computer scien;sts
Data First: Teaching coders not to give up Entrecoder.com
Data First: Teaching coders not to give up Entrecoder.com
Learn how to design interfaces
This topic will not be covered… DATA FIRST
Data First: Teaching coders not to give up Entrecoder.com
Learn more database and more procedures
Resources to manage a local database:
Data.World Social network for Datasets. Download.
PgAdmin
h]ps://www.pgadmin.org
MySQL Workbench h]ps://www.mysql.com/products/workbench
SQLPro for MSSQL
h]ps://www.macsqlclient.com Data First: Teaching coders not to give up Entrecoder.com
Download this presenta;on at:
entrecoder.com
Follow me on Twi]er:
@realmensah Data First: Teaching coders not to give up Entrecoder.com
Thank You
Data First: Teaching coders not to give up Entrecoder.com