SlideShare a Scribd company logo
Chris Castiglione
@castig | pfnp.me
PROGRAMMING FOR
NON-PROGRAMMERS(AMEX REMIX EDITION)
THE QUESTION
How do I communicate an idea
from my head… to a computer?
PROGRAMMING FOR NON-PROGRAMMERS
1. FRONT END VS. BACK END
2. WHICH LANGUAGE?
3. CODE!
4. APIS
PROGRAMMING FOR NON-PROGRAMMERS
1. FRONT END VS. BACK END
2. WHICH LANGUAGE?
3. CODE!
4. APIS
PROGRAMMING FOR NON-PROGRAMMERS
1. FRONT END VS. BACK END
2. WHICH LANGUAGE?
3. CODE!
4. APIS
PROGRAMMING FOR NON-PROGRAMMERS
1. FRONT END VS. BACK END
2. WHICH LANGUAGE?
3. CODE!
4. APIS
What is Programming?
PROGRAMMING
‣ a set of instructions
‣ used to solve a problem
PEANUT BUTTER & JELLY SANDWICH
PEANUT BUTTER & JELLY SANDWICH
‣ find two slices of bread
PEANUT BUTTER & JELLY SANDWICH
‣ find two slices of bread
‣ spread peanut butter on one slice of bread
PEANUT BUTTER & JELLY SANDWICH
‣ find two slices of bread
‣ spread peanut butter on one slice of bread
‣ spread jelly on the other slice of bread
PEANUT BUTTER & JELLY SANDWICH
‣ find two slices of bread
‣ spread peanut butter on one slice of bread
‣ spread jelly on the other slice of bread
‣ put the two slices of bread together
PROBLEM SOLVED!
PROGRAMMING
‣ a set of instructions
‣ used to solve a problem
WHY ARE WE HERE?
‣ to learn to think like a developer
WHY ARE WE HERE?
‣ to learn to think like a developer
‣ to understand the tools (aka. Programming Languages)
PROGRAMMING FOR NON-PROGRAMMERS
is to build something
that nobody wants.
The worst thing
I. WEB DEV PROCESS
Understand the Problem
Web Master
Web Developer Web Designer
Front-end Back-end Visual DesignerUser Experience
User-Interface Information ArchitectureDatabase Expert
Growth HackerSecurity Testing
HTML5 Animation
SEO Expert Usability
PROGRAMMING FOR NON-PROGRAMMERS
A TYPICAL WEB DEVELOPMENT CYCLE
User-Experience
(UX)
Information
Architecture (IA)
Visual Design Development
Visual Design
PROGRAMMING FOR NON-PROGRAMMERS
A TYPICAL WEB DEVELOPMENT CYCLE
User-Experience
(UX)
Information
Architecture (IA)
Visual Design Development
PROGRAMMING FOR NON-PROGRAMMERS
A TYPICAL WEB DEVELOPMENT CYCLE
User-Experience
(UX)
Information
Architecture (IA)
Visual Design
Development
PROGRAMMING FOR NON-PROGRAMMERS
[ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ]
VISUAL DESIGN
Wireframes become design comps
25
PROGRAMMING FOR NON-PROGRAMMERS
[ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ]
VISUAL DESIGN
Each wireframe template becomes a comp template
26
Homepage BlogListen
source: www.risk-show.com
PROGRAMMING FOR NON-PROGRAMMERS
[ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ]
STYLE GUIDE
27
Style Tile
Final
source: www.risk-show.com
PROGRAMMING FOR NON-PROGRAMMERS
A TYPICAL WEB DEVELOPMENT CYCLE
User-Experience
(UX)
Information
Architecture (IA)
Visual Design Development
Development
PROGRAMMING FOR NON-PROGRAMMERS
A TYPICAL WEB DEVELOPMENT CYCLE
User-Experience
(UX)
Information
Architecture (IA)
Visual Design Development
PROGRAMMING FOR NON-PROGRAMMERS
A TYPICAL WEB DEVELOPMENT CYCLE
User-Experience
(UX)
Information
Architecture (IA)
Visual Design
Development
PROGRAMMING FOR NON-PROGRAMMERS
[ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ]
DEVELOPMENT
Comps become graphics & real text
32
PROGRAMMING FOR NON-PROGRAMMERS
[ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ]
DEVELOPMENT
Comps become graphics & real text
mailer.png
general-assembly-logo.png
social-media.png
Real Text:
General Assembly offers classes, and events at the intersection of
technology, design, and entrepreneurship. Together with our members,
thought leaders, and seasoned practitioners, we offer a robust
curriculum focused on
33
PROGRAMMING FOR NON-PROGRAMMERS
[ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ]
DEVELOPMENT
34
The development process can be broken into two separate responsibilities:
PROGRAMMING FOR NON-PROGRAMMERS
[ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ]
FRONT-END WEB DEVELOPMENT
1.Client Side
2.How things look to the user
3.Involves: Images, content, structure
4.HTML, CSS, JavaScript
DEVELOPMENT
35
The development process can be broken into two separate responsibilities:
PROGRAMMING FOR NON-PROGRAMMERS
[ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ]
FRONT-END WEB DEVELOPMENT
1.Client Side
2.How things look to the user
3.Involves: Images, content, structure
4.HTML, CSS, JavaScript
DEVELOPMENT
The development process can be broken into two separate responsibilities:
BACK-END WEB DEVELOPMENT
1.Server Side
2.How things works
3.Involves: “business logic” and data
4.Ruby, PHP, C++, Java, etc
36
ZAPPOS.COM
PROGRAMMING FOR NON-PROGRAMMERS
FRONT-END
homepage cart registration
BACK-END
process.php
II. WHICH LANGUAGE?
Understand the Tools
Vocabulary
PROGRAMMING FOR NON-PROGRAMMERS
OTHER
‣ DECODE THE
GENOME
‣ XBOX
‣ VIDEO GAMES
‣ OTHER
HARDWARE
‣ ANYTHING
ELSE I MAY
HAVE MISSED
NATIVE APPS
Directly on your Operating System
‣ IPHONE
‣ ANDROID
‣ OSX
‣ WINDOWS
In a browser
‣ CHROME
‣ SAFARI
‣ FIREFOX
‣ OPERA
‣ INTERNET
EXPLORER
THE WEB
WEB SITES
WEB APPS
MOBILE WEB
VOCABULARY
PROGRAMMING FOR NON-PROGRAMMERS
PHP
Ruby
C
C++Python
Perl .NET
Java
Objective C
Visual Basic
ASP
COBOL
Ruby
Lisp
Logo
Smalltalk
ABC
ADA
ActionScript
Clu
R
PROGRAMMING FOR NON-PROGRAMMERS
PHP
Ruby
C
C++Python
Perl .NET
Java
Objective C
Visual Basic
ASP
Ruby
Lisp
Logo
Smalltalk
ABC
ADA
ActionScript
Clu
COBOL
R
PROGRAMMING FOR NON-PROGRAMMERS
PHP
Ruby
Python
Java
.NET
C++
Objective C
PROGRAMMING FOR NON-PROGRAMMERS
Machine CodeLOW LEVEL
HIGH LEVEL
HIGH TO LOW LANGUAGES
C
PHP Ruby Python
Java .NET
C++ Objective C
PROGRAMMING FOR NON-PROGRAMMERS
HIGH TO LOW LANGUAGES
 1000 CLC      
 1001 LDA $80   
 1003 ADC $4009
 1006 STA $80 
 1008 LDA $81   
 100A ADC $400A
 100D STA $81 
Machine Code jQUERY
$("#submit-button").click(function(){
  $(".ball").animate({"left": "-=50px"}, "slow");
});
PYTHONPHP
PROGRAMMING FOR NON-PROGRAMMERS
WEB PROGRAMMING LANGUAGES
RUBY
Wikipedia
Facebook
Twitter
Hulu+
Groupon
Youtube
GoogleVimeo
PROGRAMMING FOR NON-PROGRAMMERS
Then why choose... ?
PROGRAMMING FOR NON-PROGRAMMERS
PROGRAMMING FOR NON-PROGRAMMERS
“REAL-TIME” IS MOST IMPORTANT
‣ Node.js
PROGRAMMING FOR NON-PROGRAMMERS
PROGRAMMING FOR NON-PROGRAMMERS
Which Language for...?
Mobile
PROGRAMMING FOR NON-PROGRAMMERS
iPHONE, iPAD, MAC OS
‣ Objective-C
PROGRAMMING FOR NON-PROGRAMMERS
ANDROID
‣ java
PROGRAMMING FOR NON-PROGRAMMERS
MOBILE DEVELOPMENT FRAMEWORKS: NATIVE
Appcelerator/Titanium
“cross-compiler”
Phone Gap
“native wrapper”
PROGRAMMING FOR NON-PROGRAMMERS
CROSS COMPILE W/ APPCELERATOR
Javascript-ish
Objective-C
Java
PROGRAMMING FOR NON-PROGRAMMERS
THE WEBWEB SITES
WEB APPS
MOBILE WEB
MOBILE WEB
PROGRAMMING FOR NON-PROGRAMMERS
RESPONSIVE DESIGN
Desktop Browser
Safari on iPhone
PROGRAMMING FOR NON-PROGRAMMERS
PHP
Ruby
Python
Java
Objective C
WEB
Native Apps
PROGRAMMING FOR NON-PROGRAMMERS
PHP vs. Ruby
PROGRAMMING FOR NON-PROGRAMMERS
2006
RUBY
2001
PHP
1995
PHP
RUBY
today
PHP
RUBY
PYTHONPHP
PROGRAMMING FOR NON-PROGRAMMERS
WEB PROGRAMMING LANGUAGES
RUBY
Wikipedia
Facebook
Twitter
Hulu+
Groupon
Youtube
GoogleVimeo
PROGRAMMING FOR NON-PROGRAMMERS
And then you were all like...
PROGRAMMING FOR NON-PROGRAMMERS
Q: WELL WHAT ABOUT...
PROTOTYPE
JQUERY
AJAX*
RUBY ON RAILS
BACKBONE.JS
EXTJS
*Ajax is a JavaScript related technique
SASS
DJANGO
Frameworks
TO THE CODE!
PROGRAMMING FOR NON-PROGRAMMERS
Q: WELL WHAT ABOUT...
PROTOTYPE
JQUERY
RUBY ON RAILS
BACKBONE.JS
EXTJS
DJANGO
BLUEPRINT
SASS
PROGRAMMING FOR NON-PROGRAMMERS
FUNCTION
defines a block of code
*I’m giving you permission
to use this in the general sense
Functions
Methods
Classes
*
*
Content Management Systems
(CMS)
PROGRAMMING FOR NON-PROGRAMMERS
CONTENT MANAGEMENT SYSTEMS (CMS)
PROGRAMMING FOR NON-PROGRAMMERS
CONTENT MANAGEMENT SYSTEMS (CMS)
Wordpress Expression Engine Custom
?
PROGRAMMING FOR NON-PROGRAMMERS
FUNCTION
defines a block of code
*I’m giving you permission
to use this in the general sense
Functions
Methods
Classes
*
*
PROGRAMMING FOR NON-PROGRAMMERS
1. Advance right leg forward 0.5697 feet
2. Shift weight to right foot
3. Advance left leg forward 0.5697 feet
4. Shift weight to left foot
walk()
PROGRAMMING FOR NON-PROGRAMMERS
And then you were all like...
PROGRAMMING FOR NON-PROGRAMMERS
Q: WELL WHAT ABOUT...
PROTOTYPE
JQUERY
AJAX*
RUBY ON RAILS
BACKBONE.JS
EXTJS
*Ajax is a JavaScript related technique
SASS
DJANGO
PROGRAMMING FOR NON-PROGRAMMERS
WHAT IS A TECH STACK?
III. CODE!
Use the Tools
PROGRAMMING FOR NON-PROGRAMMERS
HTML -structure
CSS - style
JS - behavior
PROGRAMMING FOR NON-PROGRAMMERS
HTML (noun)
CSS (adjective)
JS (verb)
PROGRAMMING FOR NON-PROGRAMMERS
HEY CHRIS, CAN YOU...
make the logo bigger?
PROGRAMMING FOR NON-PROGRAMMERS
HEY CHRIS, CAN YOU...
make the logo bigger?
CSS
HTML
PROGRAMMING FOR NON-PROGRAMMERS
HEY CHRIS, CAN YOU...
make that grey heading fadein?
PROGRAMMING FOR NON-PROGRAMMERS
HEY CHRIS, CAN YOU...
make that grey heading fadein?
JAVASCRIPT
HTML
CSS
PROGRAMMING FOR NON-PROGRAMMERS
4 CONCEPTS
...that are the same in every
programming language
PROGRAMMING FOR NON-PROGRAMMERS
1. PRINT
PROGRAMMING FOR NON-PROGRAMMERS
2. VARIABLES
PROGRAMMING FOR NON-PROGRAMMERS
POP QUIZ!
a = 1
b = 2
c = a + b
c = ?
PROGRAMMING FOR NON-PROGRAMMERS
POP QUIZ!
a = 1
b = 2
c = a + b
c = 3
PROGRAMMING FOR NON-PROGRAMMERS
3. FUNCTIONS
PROGRAMMING FOR NON-PROGRAMMERS
4. COMMENTS
PROGRAMMING FOR NON-PROGRAMMERS
ALL THIS STUFF GOES ON A SERVER

More Related Content

What's hot (6)

PDF
Smart Design - Content-first, Fast, Informed, Refined. WordCamp NYC 2014
Sara Cannon
 
PDF
Typography and User Experience in Web Design
Sara Cannon
 
PPT
Hp Dos & Donts Online Marketing V0.2 Kw
Klaas Weima
 
PDF
Become a webdeveloper - AKAICamp Beginner #1
Jacek Tomaszewski
 
PDF
Writing Instruction with Digital Tools
Katie Morrow
 
PDF
Mind the Gap: Designing in the Space Between Devices
Future Insights
 
Smart Design - Content-first, Fast, Informed, Refined. WordCamp NYC 2014
Sara Cannon
 
Typography and User Experience in Web Design
Sara Cannon
 
Hp Dos & Donts Online Marketing V0.2 Kw
Klaas Weima
 
Become a webdeveloper - AKAICamp Beginner #1
Jacek Tomaszewski
 
Writing Instruction with Digital Tools
Katie Morrow
 
Mind the Gap: Designing in the Space Between Devices
Future Insights
 

Similar to Programming For Non-Programmers (AMEX Remix Edition) (20)

PDF
Programming for non-Programmers
Evgeny Tsarkov
 
PDF
Programming for non-programmers
Pancho Goldaracena
 
PDF
PHP vs. Ruby on Rails
Chris Castiglione
 
PDF
Programming for Non-Programmers - SXSW Vegas 2014
Chris Castiglione
 
PPTX
HOW TO START (ANYTHING ABOUT CODE).pptx
ssuser62b2da
 
PDF
Nurture Talent's webinar on "Website Development for Non-Technical Founder"
Amit Grover
 
PDF
How To be a Backend developer
Ramy Hakam
 
PDF
Crash Course HTML/Rails Slides
Udita Plaha
 
PDF
Как да станем софтуерни инженери и да стартираме ИТ бизнес?
Svetlin Nakov
 
PDF
Class 6: Introduction to web technology entrepreneurship
allanchao
 
PDF
Web Designs Services
Nusrat Khanom
 
PPTX
Open Web Technologies and You - Durham College Student Integration Presentation
darryl_lehmann
 
PDF
Programming for non tech entrepreneurs
Rodrigo Gil
 
PPT
Solid information architecture design| Top software development companies in...
HEXAMIND TECHNOLOGIES
 
PDF
Front-end Web Dev (HK) Info Session
Allison Baum
 
PDF
Justin French Web Directions07
justinfrench
 
PDF
Making Of PHP Based Web Application
Sachin Walvekar
 
DOCX
DigitalWorld Marketing
sunnyhashmi4
 
DOCX
Digital Marketing.docx
sunnyhashmi4
 
Programming for non-Programmers
Evgeny Tsarkov
 
Programming for non-programmers
Pancho Goldaracena
 
PHP vs. Ruby on Rails
Chris Castiglione
 
Programming for Non-Programmers - SXSW Vegas 2014
Chris Castiglione
 
HOW TO START (ANYTHING ABOUT CODE).pptx
ssuser62b2da
 
Nurture Talent's webinar on "Website Development for Non-Technical Founder"
Amit Grover
 
How To be a Backend developer
Ramy Hakam
 
Crash Course HTML/Rails Slides
Udita Plaha
 
Как да станем софтуерни инженери и да стартираме ИТ бизнес?
Svetlin Nakov
 
Class 6: Introduction to web technology entrepreneurship
allanchao
 
Web Designs Services
Nusrat Khanom
 
Open Web Technologies and You - Durham College Student Integration Presentation
darryl_lehmann
 
Programming for non tech entrepreneurs
Rodrigo Gil
 
Solid information architecture design| Top software development companies in...
HEXAMIND TECHNOLOGIES
 
Front-end Web Dev (HK) Info Session
Allison Baum
 
Justin French Web Directions07
justinfrench
 
Making Of PHP Based Web Application
Sachin Walvekar
 
DigitalWorld Marketing
sunnyhashmi4
 
Digital Marketing.docx
sunnyhashmi4
 
Ad

More from Chris Castiglione (7)

PDF
Bitcoin, Ethereum, and Blockchain - Digital Literacy @ Columbia University Bu...
Chris Castiglione
 
PDF
Food is confusing: Plant vs. Paleo
Chris Castiglione
 
PDF
The China study and Plant Based Protein - NYC Vegetarian Food Festival 2015
Chris Castiglione
 
PDF
Optimizely
Chris Castiglione
 
PDF
Wordpress
Chris Castiglione
 
PDF
Up & Running Web Hosting
Chris Castiglione
 
PDF
Ids classes-floats
Chris Castiglione
 
Bitcoin, Ethereum, and Blockchain - Digital Literacy @ Columbia University Bu...
Chris Castiglione
 
Food is confusing: Plant vs. Paleo
Chris Castiglione
 
The China study and Plant Based Protein - NYC Vegetarian Food Festival 2015
Chris Castiglione
 
Optimizely
Chris Castiglione
 
Up & Running Web Hosting
Chris Castiglione
 
Ids classes-floats
Chris Castiglione
 
Ad

Recently uploaded (20)

PPTX
Digital Circuits, important subject in CS
contactparinay1
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PPTX
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
PDF
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 
PDF
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PPTX
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
PDF
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
PDF
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
PDF
Staying Human in a Machine- Accelerated World
Catalin Jora
 
DOCX
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
PDF
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PDF
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
PDF
Kit-Works Team Study_20250627_한달만에만든사내서비스키링(양다윗).pdf
Wonjun Hwang
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
Digital Circuits, important subject in CS
contactparinay1
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
Staying Human in a Machine- Accelerated World
Catalin Jora
 
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
Kit-Works Team Study_20250627_한달만에만든사내서비스키링(양다윗).pdf
Wonjun Hwang
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 

Programming For Non-Programmers (AMEX Remix Edition)