SlideShare una empresa de Scribd logo
1 de 55
PROGRAMMING FOR
NON-PROGRAMMERS
#SXSW       Chris Castiglione
            @castig | pfnp.me
MY TWITTER
@castig
RESOURCES
pfnp.me/sxsw
THE QUESTION
How do I communicate an idea
from my head… to a computer?
PROGRAMMING FOR NON-PROGRAMMERS



HTML
CSS
JS
PROGRAMMING FOR NON-PROGRAMMERS



HTML -structure
CSS - style
JS - behavior
What is Programming?
(...and why do I care?)
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)
WHY ARE WE HERE?
‣   to learn to think like a developer
‣   to understand the tools (aka. Programming Languages)
‣   and to understand the constraints
PROGRAMMING FOR NON-PROGRAMMERS
PROGRAMMING FOR NON-PROGRAMMERS



            “If we don’t learn to program, we
             risk being programmed ourselves...
             Program or be programmed!”




                                       -Douglas Rushkoff
                                  “Program or be Programmed”
PROGRAMMING FOR NON-PROGRAMMERS



            “If we don’t learn to plumb, we
             risk being plumbed ourselves...
             Plumb or be plumbed!”




                                         -Jeff Atwood
                                       codinghorror.com
Vocabulary
PROGRAMMING FOR NON-PROGRAMMERS


VOCABULARY


         THE WEB WEB SITES
                                                     NATIVE APPS
                 WEB APPS                                                                OTHER
                MOBILE WEB
                                                                               ‣ DECODE THE    ‣ OTHER
                                           Directly on your Operating System     GENOME          HARDWARE
                                                                               ‣ XBOX          ‣ ANYTHING
                                                 ‣   IPHONE    ‣ OSX                             ELSE I MAY
               In a browser                      ‣   ANDROID   ‣ WINDOWS
                                                                               ‣ VIDEO GAMES
                                                                                                 HAVE MISSED
  ‣   CHROME    ‣   FIREFOX   ‣ INTERNET
  ‣   SAFARI    ‣   OPERA      EXPLORER
Web Master

       Web Developer                           Web Designer


 Front-end        Back-end          User Experience         Visual Designer

Database Expert   HTML5 Animation    User-Interface    Information Architecture

          SEO Expert    Usability   Security Testing     Growth Hacker
PROGRAMMING FOR NON-PROGRAMMERS




                User-Experience   Developer
                   Designer
PROGRAMMING FOR NON-PROGRAMMERS




                   User-Experience   Developer
                      Designer
PROGRAMMING FOR NON-PROGRAMMERS
[ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ]


A TYPICAL WEB DEVELOPMENT CYCLE



    User-Experience                          Information       Visual Design   Development
         (UX)                              Architecture (IA)
PROGRAMMING FOR NON-PROGRAMMERS
[ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ]


A TYPICAL WEB DEVELOPMENT CYCLE



    User-Experience                          Information       Visual Design
         (UX)                              Architecture (IA)
                                                                               Development
PROGRAMMING FOR NON-PROGRAMMERS
[ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ]


DEVELOPMENT
Comps become graphics & real text




                                           29
PROGRAMMING FOR NON-PROGRAMMERS
[ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ]


DEVELOPMENT
Comps become graphics & real text


                         general-assembly-logo.png




                     social-media.png
                                                     mailer.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

                                                                         30
PROGRAMMING FOR NON-PROGRAMMERS



FRONT-END
DEVELOPMENT (noun)
the client-side structure and behavior
of a web site; put simply it mostly concerns
how things look on the page
PROGRAMMING FOR NON-PROGRAMMERS



BACK-END
DEVELOPMENT (noun)
the server-side programming that
processes the “business logic”, database,
web services and other utilities
PROGRAMMING FOR NON-PROGRAMMERS
[ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ]


DEVELOPMENT
The development process can be broken into two separate responsibilities:




                                                                            33
PROGRAMMING FOR NON-PROGRAMMERS
[ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ]


DEVELOPMENT
The development process can be broken into two separate responsibilities:


FRONT-END WEB DEVELOPMENT
1.Client Side
2.How things look to the user
3.Involves: Images, content, structure
4.HTML, CSS, JavaScript




                                                                            34
PROGRAMMING FOR NON-PROGRAMMERS
[ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ]


DEVELOPMENT
The development process can be broken into two separate responsibilities:


FRONT-END WEB DEVELOPMENT                     BACK-END WEB DEVELOPMENT
1.Client Side                                 1.Server Side
2.How things look to the user                 2.How things works
3.Involves: Images, content, structure        3.Involves: “business logic” and data
4.HTML, CSS, JavaScript                       4.Ruby, PHP C++, Java, etc
                                                           ,




                                                                                      35
PROGRAMMING FOR NON-PROGRAMMERS


ZAPPOS.COM                  process.php



                BACK-END




FRONT-END




            homepage               cart   registration
CODE!
Use the Tools
PROGRAMMING FOR NON-PROGRAMMERS



HTML -structure
CSS - style
JS - behavior
PROGRAMMING FOR NON-PROGRAMMERS


FRAMEWORKS                            DJANGO
                                                                       TWITTER
                                                  EXTJS
                                                                      BOOTSTRAP
    BLUEPRINT                JQUERY

                                                          Coffee Script


                                       Ember.js
                                                                            SASS
   AJAX          PROTOTYPE
PROGRAMMING FOR NON-PROGRAMMERS



WHAT IS HTML5?
WHAT IS MICROSOFT WORD 2011?




    1995             2011
1991
<HTML>
1991
  <HTML>
Tim Berners-Lee
Tim Berners-Lee
<blink>
<blink>   </blink>
<blink> Buy Me! </blink>
2008
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...
                                  HTML

              make the logo bigger?
                                         CSS
PROGRAMMING FOR NON-PROGRAMMERS


HEY CHRIS, CAN YOU...


    make that grey heading fadein?
PROGRAMMING FOR NON-PROGRAMMERS


HEY CHRIS, CAN YOU...
                                  HTML

    make that grey heading fadein?
                       CSS               JAVASCRIPT
PFNP.ME          Twitter




http://www.pfnp.me   @castig

Más contenido relacionado

La actualidad más candente

La actualidad más candente (9)

Responsive Design Workflow
Responsive Design WorkflowResponsive Design Workflow
Responsive Design Workflow
 
Podcasting w200 module 3
Podcasting w200 module 3Podcasting w200 module 3
Podcasting w200 module 3
 
457 WWDC08 Student Welcome
457 WWDC08 Student Welcome457 WWDC08 Student Welcome
457 WWDC08 Student Welcome
 
Fmb2
Fmb2Fmb2
Fmb2
 
Turning a community into evangelism helpers - Devrelconf 2016
Turning a community into evangelism helpers - Devrelconf 2016Turning a community into evangelism helpers - Devrelconf 2016
Turning a community into evangelism helpers - Devrelconf 2016
 
Work with Raul Colon
Work with Raul ColonWork with Raul Colon
Work with Raul Colon
 
Become a webdeveloper - AKAICamp Beginner #1
Become a webdeveloper - AKAICamp Beginner #1Become a webdeveloper - AKAICamp Beginner #1
Become a webdeveloper - AKAICamp Beginner #1
 
Question 6
Question 6 Question 6
Question 6
 
Web development
Web developmentWeb development
Web development
 

Destacado

Food is confusing: Plant vs. Paleo
Food is confusing: Plant vs. Paleo Food is confusing: Plant vs. Paleo
Food is confusing: Plant vs. Paleo
Chris Castiglione
 
Basics of computer science
Basics of computer scienceBasics of computer science
Basics of computer science
Paul Schmidt
 
Introduction to computer science
Introduction to computer scienceIntroduction to computer science
Introduction to computer science
derekoei
 

Destacado (14)

Up & Running Web Hosting
Up & Running Web HostingUp & Running Web Hosting
Up & Running Web Hosting
 
Optimizely
OptimizelyOptimizely
Optimizely
 
ICT across the curriculum - Mathematics
ICT across the curriculum - MathematicsICT across the curriculum - Mathematics
ICT across the curriculum - Mathematics
 
Programming for Non-Programmers - SXSW Vegas 2014
Programming for Non-Programmers - SXSW Vegas 2014Programming for Non-Programmers - SXSW Vegas 2014
Programming for Non-Programmers - SXSW Vegas 2014
 
Computer science class 1
Computer science class 1Computer science class 1
Computer science class 1
 
WHAT IS COMPUTER SCIENCE?
WHAT IS COMPUTER SCIENCE?WHAT IS COMPUTER SCIENCE?
WHAT IS COMPUTER SCIENCE?
 
Food is confusing: Plant vs. Paleo
Food is confusing: Plant vs. Paleo Food is confusing: Plant vs. Paleo
Food is confusing: Plant vs. Paleo
 
Introduction to Computer Science
Introduction to Computer ScienceIntroduction to Computer Science
Introduction to Computer Science
 
An Introduction to Python Programming
An Introduction to Python ProgrammingAn Introduction to Python Programming
An Introduction to Python Programming
 
Basics of computer science
Basics of computer scienceBasics of computer science
Basics of computer science
 
WEKA: Algorithms The Basic Methods
WEKA: Algorithms The Basic MethodsWEKA: Algorithms The Basic Methods
WEKA: Algorithms The Basic Methods
 
0. Course Introduction
0. Course Introduction0. Course Introduction
0. Course Introduction
 
Computer Science & Information Systems
Computer Science & Information SystemsComputer Science & Information Systems
Computer Science & Information Systems
 
Introduction to computer science
Introduction to computer scienceIntroduction to computer science
Introduction to computer science
 

Similar a Programming For Non-Programmers @SXSW 2013

Programming for non-programmers
Programming for non-programmersProgramming for non-programmers
Programming for non-programmers
Pancho Goldaracena
 
Class 4: Introduction to web technology entrepreneurship
Class 4: Introduction to web technology entrepreneurshipClass 4: Introduction to web technology entrepreneurship
Class 4: Introduction to web technology entrepreneurship
allanchao
 

Similar a Programming For Non-Programmers @SXSW 2013 (20)

Programming for non-programmers
Programming for non-programmersProgramming for non-programmers
Programming for non-programmers
 
Programming for non-Programmers
Programming for non-ProgrammersProgramming for non-Programmers
Programming for non-Programmers
 
Overboard.js - where are we going with with jsconfasia / devfestasia
Overboard.js - where are we going with with jsconfasia / devfestasiaOverboard.js - where are we going with with jsconfasia / devfestasia
Overboard.js - where are we going with with jsconfasia / devfestasia
 
Quo vadis, JavaScript? Devday.pl keynote
Quo vadis, JavaScript? Devday.pl keynoteQuo vadis, JavaScript? Devday.pl keynote
Quo vadis, JavaScript? Devday.pl keynote
 
Dmeeker Finala
Dmeeker FinalaDmeeker Finala
Dmeeker Finala
 
designertoday0809
designertoday0809designertoday0809
designertoday0809
 
designertoday0809
designertoday0809designertoday0809
designertoday0809
 
Week 12 mm_dev_model
Week 12 mm_dev_modelWeek 12 mm_dev_model
Week 12 mm_dev_model
 
DevOps + MongoDB Serverless = 
DevOps + MongoDB Serverless = DevOps + MongoDB Serverless = 
DevOps + MongoDB Serverless = 
 
2017 03 25 Microsoft Hacks, How to code efficiently
2017 03 25 Microsoft Hacks, How to code efficiently2017 03 25 Microsoft Hacks, How to code efficiently
2017 03 25 Microsoft Hacks, How to code efficiently
 
Class 4: Introduction to web technology entrepreneurship
Class 4: Introduction to web technology entrepreneurshipClass 4: Introduction to web technology entrepreneurship
Class 4: Introduction to web technology entrepreneurship
 
20140207 xamarin-red fabriq-microsoft-techdays-nativemobileappdevelopmentwith...
20140207 xamarin-red fabriq-microsoft-techdays-nativemobileappdevelopmentwith...20140207 xamarin-red fabriq-microsoft-techdays-nativemobileappdevelopmentwith...
20140207 xamarin-red fabriq-microsoft-techdays-nativemobileappdevelopmentwith...
 
Stapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San FranciscoStapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San Francisco
 
Progressive Enhancement & Mobile [Funka 2012]
Progressive Enhancement & Mobile [Funka 2012]Progressive Enhancement & Mobile [Funka 2012]
Progressive Enhancement & Mobile [Funka 2012]
 
Single Page Applications – Know The Ecosystem system
Single Page Applications – Know The Ecosystem systemSingle Page Applications – Know The Ecosystem system
Single Page Applications – Know The Ecosystem system
 
ArcReady - Architecting For The Client Tier
ArcReady - Architecting For The Client TierArcReady - Architecting For The Client Tier
ArcReady - Architecting For The Client Tier
 
Building Beautiful and Interactive Windows 8 apps with JavaScript, HTML5 & CSS3
Building Beautiful and Interactive Windows 8 apps with JavaScript, HTML5 & CSS3Building Beautiful and Interactive Windows 8 apps with JavaScript, HTML5 & CSS3
Building Beautiful and Interactive Windows 8 apps with JavaScript, HTML5 & CSS3
 
Flash Catalyst at Flex Camp Orange County
Flash Catalyst at Flex Camp Orange CountyFlash Catalyst at Flex Camp Orange County
Flash Catalyst at Flex Camp Orange County
 
DevOps + MongoDB Realm Serverless Functions = 🤩
DevOps + MongoDB Realm Serverless Functions = 🤩DevOps + MongoDB Realm Serverless Functions = 🤩
DevOps + MongoDB Realm Serverless Functions = 🤩
 
How to Become a Front-End Developer? Step-by-Step Guide by Careervira
How to Become a Front-End Developer? Step-by-Step Guide by CareerviraHow to Become a Front-End Developer? Step-by-Step Guide by Careervira
How to Become a Front-End Developer? Step-by-Step Guide by Careervira
 

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Último (20)

DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
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
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 

Programming For Non-Programmers @SXSW 2013