SlideShare une entreprise Scribd logo
1  sur  181
Télécharger pour lire hors ligne
PROGRAMMING FOR
NON-PROGRAMMERS
Chris Castiglione
@castig | pfnp.me
THE QUESTION
How do I communicate an idea
from my head… to a computer?
PROGRAMMING FOR NON-PROGRAMMERS



                         1. WEB DEV PROCESS
                         2. WHICH LANGUAGE?
                                  3. CODE!
PROGRAMMING FOR NON-PROGRAMMERS



                         1. WEB DEV PROCESS
                         2. WHICH LANGUAGE?
                                  3. CODE!
PROGRAMMING FOR NON-PROGRAMMERS



                         1. WEB DEV PROCESS
                         2. WHICH LANGUAGE?
                                  3. CODE!
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
I. WEB DEV PROCESS
Understand the Problem
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
PROGRAMMING FOR NON-PROGRAMMERS
[ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ]


PRODUCT DEVELOPMENT
                            ‣   MVP - Minimal Viable Product
                                ‣   Minimum features needed to test your assumptions
                                ‣   Build, Measure, Learn
                                ‣   Validate your idea
PROGRAMMING FOR NON-PROGRAMMERS




           The worst thing
               is to build something
                that no body wants.
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



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


USER-EXPERIENCE (UX)
                            ‣   Who are our users?
                            ‣   How do we know if the user is hitting their goals?
                            ‣   What are the most important features of this site?
                            ‣   What does the program do when there are errors?
                            ‣   What are the biggest risks?
PROGRAMMING FOR NON-PROGRAMMERS
[ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ]


UX
                    IDEAL EXPERIENCE                   BUSINESS
                                                        NEEDS



                                             BEST                 USER
                                           PRACTICES              NEEDS
PROGRAMMING FOR NON-PROGRAMMERS




         “I want all of the features!”
PROGRAMMING FOR NON-PROGRAMMERS
[ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ]


CASE STUDY: IDEAS, FEATURES, GOALS
PROGRAMMING FOR NON-PROGRAMMERS
[ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ]




                                           Who is our user?
PROGRAMMING FOR NON-PROGRAMMERS
[ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ]


CASE STUDY: USER RESEARCH
PROGRAMMING FOR NON-PROGRAMMERS
[ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ]


CASE STUDY PERSONAS



Mary
Dickinson, North Dakota



                                           John
                                           Long Island, New York
PROGRAMMING FOR NON-PROGRAMMERS
[ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ]


PERSONAS: WHAT JOHN CARES ABOUT…
‣ Has5+ computers in his home but says he would     ‣ Has a Facebook and Twitter profile but would not
 gamble on his iPad or a PC netbook running          want to use it to setup an account. He would like
 Firefox primarily.                                  to be able to see who of his Twitter and Facebook
‣ Hasan iPhone 4, can’t wait to convince his wife    friends is playing the game however.
 he needs the new one. Doesn’t think he would       ‣ Watches    video online, sports clips mostly.
 gamble on the iPhone but could see wanting to      ‣ Pays   for Netflix.
 check his account.                                 ‣ Doesmost, if not all, shopping online out of
                                                     convenience and selection.
PROGRAMMING FOR NON-PROGRAMMERS
[ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ]


PERSONAS: WHAT JOHN CARES ABOUT
                                ‣ This isn’t sketchy is it?
                                ‣ How can I get my friends involved?

                                ‣ How often are the races on the weekends?
                                ‣ How good quality are the videos?
                                ‣ How will the load time be on my iPad?
                                ‣ How much do I need to play?
                                ‣ How much could I win?

                                ‣ Do I need to know about horses to make smart bets?
Information Architecture
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                                            Visual Design   Development
         (UX)
                                             Information
                                           Architecture (IA)
PROGRAMMING FOR NON-PROGRAMMERS
[ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ]


INFORMATION ARCHITECTURE (IA)
                            A model or blueprint for the site, resulting in
                            deliverables such as:
                            ‣   wireframes
                            ‣   flow diagrams
                            ‣   sitemap
PROGRAMMING FOR NON-PROGRAMMERS
[ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ]


IA: THE BLUEPRINT
                            SITEMAPS & FLOW DIAGRAMS   WIREFRAMES & CONTENT
                            Establish flow and order   Define the user interaction
                                                       and ease the handoff
                                                       process to the creative
                                                       team
PROGRAMMING FOR NON-PROGRAMMERS
[ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ]


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


BRAINSTORMING
[ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ]




TWITTER
(PROTOTYPE)
PROGRAMMING FOR NON-PROGRAMMERS
[ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ]


LOW FIDELITY MOCKUPS
PROGRAMMING FOR NON-PROGRAMMERS
[ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ]


HIGH FIDELITY MOCKUPS
PROGRAMMING FOR NON-PROGRAMMERS
[ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ]


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


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


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


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


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


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


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


FOURSQUARE
PUT STUFF HERE LATER
HEADER 2
Sed posuere consectetur est at lobortis. Vivamus sagittis lacus vel augue
laoreet rutrum faucibus dolor auctor. Cum sociis natoque penatibus et
magnis dis parturient montes, nascetur ridiculus mus. Maecenas faucibus
mollis interdum.
CONTENT STRATEGY
TREAT TEXT AS USER-INTERFACE
Typography has one plain duty before it and that is to convey information in
writing. No argument or consideration can absolve typography from this duty.
A printed work which cannot be read becomes a product without purpose.
DESIGN. IS ABOUT WORDS.


     TREAT TEXT AS USER-INTERFACE
Visual Design
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                       Development
         (UX)                              Architecture (IA)
                                                               Visual Design
PROGRAMMING FOR NON-PROGRAMMERS
[ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ]


VISUAL DESIGN
Wireframes become design comps




                                           59
PROGRAMMING FOR NON-PROGRAMMERS                            source: www.risk-show.com

[ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ]


VISUAL DESIGN
Each wireframe template becomes a comp template




             Homepage                      Listen   Blog
                                                                                       60
PROGRAMMING FOR NON-PROGRAMMERS                    source: www.risk-show.com

[ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ]


STYLE GUIDE




                      Style Tile
                                           Final
                                                                               61
[ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ]




VISUAL DESIGN
PRINT                                      DIGITAL
‣   CMYK                                   ‣   RGB
‣   inches                                 ‣   pixels
‣   300 dpi                                ‣   72 dpi
‣   Illustrator / InDesign                 ‣   Photoshop (for the Web)
‣   PDF, Word Doc                          ‣   PNG, JPG, GIF


                                                                         62
Development
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




                                           66
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

                                                                         67
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:




                                                                            70
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




                                                                            71
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
                                                           ,




                                                                                      72
PROGRAMMING FOR NON-PROGRAMMERS


ZAPPOS.COM                  process.php



                BACK-END




FRONT-END




            homepage               cart   registration
PROGRAMMING FOR NON-PROGRAMMERS


WEB DEVELOPMENT PROCESS
                                  ‣ Product Development
                                  ‣ User Experience
                                  ‣ Information Architecture
                                  ‣ Content Strategy
                                  ‣ Project Manager
                                  ‣ Business Analyst

                                  ‣   Visual Designer
                                  ‣ Front-end developer
                                  ‣ Back-end developer
                                  ‣ Usability
                                  ‣ Security
                                  ‣ SEO Expert
                                  ‣ Analytics Expert
                                  ‣ Quality Assurance (QA) Tester
                                  ‣ Server Administrator
                                  ‣ Growth Hacking
PROGRAMMING FOR NON-PROGRAMMERS


POST-LAUNCH ROLES
1.Growth Hacker
2.SEO
3.Analytics Expert
4.Quality Assurance
PROGRAMMING FOR NON-PROGRAMMERS
PROGRAMMING FOR NON-PROGRAMMERS




                                  WATERFALL
PROGRAMMING FOR NON-PROGRAMMERS




      AGILE                       WATERFALL
II. WHICH LANGUAGE?
Understand the Tools
PROGRAMMING FOR NON-PROGRAMMERS

                                                   Java
 PHP                       Perl          .NET                    ADA

             Lisp                                      R
                                            C
                              ABC                          Objective C
   COBOL
                    Ruby                        Logo
                                   ASP                          Clu
Smalltalk

                     Ruby                   Visual Basic
    Python                        C++                          ActionScript
PROGRAMMING FOR NON-PROGRAMMERS

                                                   Java
 PHP                       Perl          .NET                    ADA

             Lisp                                      R
                                            C
                              ABC                          Objective C
   COBOL
                    Ruby                        Logo
                                   ASP                          Clu
Smalltalk

                     Ruby                   Visual Basic
    Python                        C++                          ActionScript
PROGRAMMING FOR NON-PROGRAMMERS

                                                   Java
 PHP                       Perl          .NET                    ADA

             Lisp                                      R
                                            C
                              ABC                          Objective C
   COBOL
                    Ruby                        Logo
                                   ASP                          Clu
Smalltalk

                     Ruby                   Visual Basic
    Python                        C++                          ActionScript
PROGRAMMING FOR NON-PROGRAMMERS


HIGH TO LOW LANGUAGES
                HIGH LEVEL
                                  PHP   Ruby       Python

                                    Java       .NET
                                   C++         Objective C

                                           C


                LOW LEVEL         Assembly Language
                                    Machine Code
PROGRAMMING FOR NON-PROGRAMMERS


HIGH TO LOW LANGUAGES
        Machine Code          jQUERY
        1000   CLC      
        1001   LDA $80        $("#submit-button").click(function(){
        1003   ADC $4009        $(".ball").animate({"left": "-=50px"}, "slow");
        1006   STA $80        });
        1008   LDA $81   
        100A   ADC $400A
        100D   STA $81 
PROGRAMMING FOR NON-PROGRAMMERS


INFLUENCED BY?
            PHP                    RUBY                  JAVA
   ‣C        ‣ C++         ‣ ADA     ‣ EIFFEL   ‣ ADA   83   ‣ EIFFEL

   ‣ PERL    ‣ TCL         ‣ C++     ‣ LISP     ‣ MESA       ‣ SmallTalk

   ‣ JAVA                  ‣ CLU     ‣ PERL     ‣ C++

                           ‣ DYLAN   ‣ PYTHON
PROGRAMMING FOR NON-PROGRAMMERS


THE MOTHER OF ALL LANGUAGES



                 C
PROGRAMMING FOR NON-PROGRAMMERS




                             THE WEB WEB SITES
                                     WEB APPS
                                    MOBILE WEB




                                   In a browser
                      ‣   CHROME    ‣   FIREFOX   ‣ INTERNET
                      ‣   SAFARI    ‣   OPERA      EXPLORER
PROGRAMMING FOR NON-PROGRAMMERS


WHAT TO LOOK FOR WHEN CHOOSING A LANGUAGE:
‣   Difficulty level
PROGRAMMING FOR NON-PROGRAMMERS


WHAT TO LOOK FOR WHEN CHOOSING A LANGUAGE:
‣   Difficulty level
‣   Community
PROGRAMMING FOR NON-PROGRAMMERS


WHAT TO LOOK FOR WHEN CHOOSING A LANGUAGE:
‣   Difficulty level
‣   Community
‣   Development time to build an app
PROGRAMMING FOR NON-PROGRAMMERS


WEB PROGRAMMING LANGUAGES
         PHP                      RUBY       PYTHON
          Wikipedia                Twitter     Youtube


          Vimeo                    Hulu+       Google


          Facebook                 Groupon
PROGRAMMING FOR NON-PROGRAMMERS




                     PHP vs. Ruby
PROGRAMMING FOR NON-PROGRAMMERS




                PHP                 RUBY
           EASIER TO               STEEPER
              GET                 LEARNING
            STARTED                 CURVE
             WITH
PROGRAMMING FOR NON-PROGRAMMERS




       1995
       PHP
       RUBY
PROGRAMMING FOR NON-PROGRAMMERS




       1995                2001
       PHP                 PHP
       RUBY
PROGRAMMING FOR NON-PROGRAMMERS




       1995                2001   2006
       PHP                 PHP    RUBY
       RUBY
PROGRAMMING FOR NON-PROGRAMMERS




       1995                2001   2006   today
       PHP                 PHP    RUBY   PHP
       RUBY                              RUBY
PROGRAMMING FOR NON-PROGRAMMERS




                             THE WEB WEB SITES
                                     WEB APPS
                                    MOBILE WEB




                                   In a browser
                      ‣   CHROME    ‣   FIREFOX   ‣ INTERNET
                      ‣   SAFARI    ‣   OPERA      EXPLORER
PROGRAMMING FOR NON-PROGRAMMERS




        USER DRIVEN                             CONTENT DRIVEN
        DATA DRIVEN
                                                                 BLOG
                      WEB APP        WEB SITE
       CUSTOM TASKS                             COMMON TASKS     “OUT OF THE BOX” CMS

                                                                 PLUGINS
                            In a browser
PROGRAMMING FOR NON-PROGRAMMERS




                 RUBY                PHP


             WEB APP              WEB SITE
PROGRAMMING FOR NON-PROGRAMMERS




                 Pop Quiz: Review!
PROGRAMMING FOR NON-PROGRAMMERS


TIMELINE:
THE BLACK EYED PEAS
• Main task: blog
• Agency project
• Large budget
• 6 page content site


                           WEB SITE
PROGRAMMING FOR NON-PROGRAMMERS
Timeline: The Black Eyed Peas
                   30 HOURS



       UX
                   40 HOURS


       IA
                   60 HOURS


     DESIGN

                   120+ HOURS



   DEVELOPMENT
PROGRAMMING FOR NON-PROGRAMMERS


TIMELINE:
THE STORY STUDIO
• Main task: classes
• Consulting
• Low budget
• 4 page navigation site


                           WEB SITE
PROGRAMMING FOR NON-PROGRAMMERS
Timeline: The Story Studio
                     8-12 HOURS



  UX            IA
                     10 HOURS


       DESIGN
                     35 HOURS


   DEVELOPMENT
PROGRAMMING FOR NON-PROGRAMMERS


TIMELINE:
DERBY JACKPOT
• Main task: an online horse
gambling platform
• Start-up Consulting
• Decent-sized budget
• High risk: APIs
                           WEB APP
PROGRAMMING FOR NON-PROGRAMMERS
Timeline: Derby Jackpot
                   45 HOURS



       UX
                   45 HOURS


       IA
                   120 HOURS


     DESIGN

                   500+ HOURS



   DEVELOPMENT
PROGRAMMING FOR NON-PROGRAMMERS


TIMELINE:
GENERALASSEMB.LY
Main tasks:
   • classes
   • about us
   • video
   • social network
   • custom payment gateway
                                  WEB APP
PROGRAMMING FOR NON-PROGRAMMERS


TIMELINE:                         WEB SITE

GENERALASSEMB.LY
Main tasks:
   • classes
   • about us
   • video
   • social network
   • custom payment gateway
PROGRAMMING FOR NON-PROGRAMMERS




             Which Language for...?
                 Native Apps
PROGRAMMING FOR NON-PROGRAMMERS




                               NATIVE APPS



                     Directly on your Operating System
                           ‣   IPHONE    ‣ OSX
                           ‣   ANDROID   ‣ WINDOWS
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      Phone Gap
               “cross-compiler”      “native wrapper”
PROGRAMMING FOR NON-PROGRAMMERS


CROSS COMPILE W/ APPCELERATOR


               Java
                                          Objective-C




                         Javascript-ish
PROGRAMMING FOR NON-PROGRAMMERS


MOBILE WEB / RESPONSIVE DESIGN




                                  Safari on iPhone
               Desktop Browser
PROGRAMMING FOR NON-PROGRAMMERS


MOBILE WEB: FRAMEWORKS




                    Sencha        jQuery Mobile
                 Javascript-ish    jQuery-ish
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


CMS DISTRIBUTION IN TOP MILLION SITES
PROGRAMMING FOR NON-PROGRAMMERS




          Which languages are left?
PROGRAMMING FOR NON-PROGRAMMERS


ANALYTICS, QUICK PROCESSES
‣   C++
PROGRAMMING FOR NON-PROGRAMMERS


“REAL-TIME” IS MOST IMPORTANT
‣   Node.js
PROGRAMMING FOR NON-PROGRAMMERS
PROGRAMMING FOR NON-PROGRAMMERS




        And then you were all like...
PROGRAMMING FOR NON-PROGRAMMERS


Q: WELL WHAT ABOUT...                 DJANGO

                                                                            SASS
                                                      EXTJS

                             JQUERY

                                                              BACKBONE.JS
   AJAX*

                                      RUBY ON RAILS
                 PROTOTYPE

                                                                      *Ajax is a JavaScript related technique
Frameworks
LET’S CODE SOME
and come back to frameworks
PROGRAMMING FOR NON-PROGRAMMERS


Q: WELL WHAT ABOUT...                 DJANGO


                                                      EXTJS

                             JQUERY
    BLUEPRINT
                                                              BACKBONE.JS


                                      RUBY ON RAILS
                 PROTOTYPE
PROGRAMMING FOR NON-PROGRAMMERS

                                                     Functions
                         *
  FUNCTION                                     *      Methods

   defines a block of code                             Classes




                                  *I’m giving you permission
                                  to use this in the general sense
PROGRAMMING FOR NON-PROGRAMMERS


FRAMEWORK: Login Example

                login()




                          The “perfect registration form”
PROGRAMMING FOR NON-PROGRAMMERS


FRAMEWORK: Login Example
                      1. Create an email field
                      2. Create a password field
                      3. Create a button that reads “Submit”
            login()
                      4. Check to see that the username isn’t taken
                      5. Validate that the email is real
                      6. Add this user to the database
PROGRAMMING FOR NON-PROGRAMMERS




              1. Advance right leg forward 0.5697 feet
              2. Shift weight to right foot
    walk()
              3. Advance left leg forward 0.5697 feet
              4. Shift weight to left foot
PROGRAMMING FOR NON-PROGRAMMERS


   WALK() {
              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



    }
Frameworks
PROGRAMMING FOR NON-PROGRAMMERS




  FRAMEWORKS
   a collection of pre-baked code
   ...mostly “functions”, and other great stuff
PROGRAMMING FOR NON-PROGRAMMERS


FRAMEWORKS                            DJANGO
                                                                      TWITTER
                                                      EXTJS
                                                                     BOOTSTRAP
                             JQUERY
    BLUEPRINT
                                                              BACKBONE.JS


                                      RUBY ON RAILS
                 PROTOTYPE
PROGRAMMING FOR NON-PROGRAMMERS


WHAT IS TWITTER BOOTSTRAP?



                     http://twitter.github.com/
WHAT IS TWITTER BOOTSTRAP?
A: Pre-baked...        CSS   JS
Frameworks
PROGRAMMING FOR NON-PROGRAMMERS


A: JAVASCRIPT FRAMEWORKS & HELPERS
                                                      EXTJS

                             JQUERY
   AJAX*
                                                              BACKBONE.JS


                                      COFFEE SCRIPT
                 PROTOTYPE

                                                                      *Ajax is a JavaScript related technique
PROGRAMMING FOR NON-PROGRAMMERS


A: CSS FRAMEWORKS & HELPERS

                         SASS
                                                960 GRID SYSTEM
        LESS
                                  COMPASS
                                            BLUEPRINT
Tech Stack
PROGRAMMING FOR NON-PROGRAMMERS


WHAT IS A TECH STACK?
PROGRAMMING FOR NON-PROGRAMMERS


WHAT IS A TECH STACK?
         FRONT-END LANGUAGE        CSS     HTML   JS



         SERVER-SIDE LANGUAGE      PHP



         DATABASE                 MYSQL



         WEB SERVER               APACHE



         OPERATING SYSTEM         LINUX
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...
                                  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
PROGRAMMING FOR NON-PROGRAMMERS



7 CONCEPTS
...that are the same in every
programming language
PROGRAMMING FOR NON-PROGRAMMERS



1. EVENTS
PROGRAMMING FOR NON-PROGRAMMERS



2. COMMENTS
PROGRAMMING FOR NON-PROGRAMMERS



3. PRINT
PROGRAMMING FOR NON-PROGRAMMERS



4. 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



5. DATATYPES
PROGRAMMING FOR NON-PROGRAMMERS



6. CONDITIONALS
PROGRAMMING FOR NON-PROGRAMMERS



7. FUNCTIONS
PROGRAMMING FOR NON-PROGRAMMERS


PROGRAMMING CONCEPTS
1. Events                    6. Conditionals
2. Comments                  7. Functions
3. Print
4. Variables
5. Datatypes
PROGRAMMING FOR NON-PROGRAMMERS


 JAVASCRIPT
 document.write(“Good morning”);
PROGRAMMING FOR NON-PROGRAMMERS


 JAVASCRIPT                        PHP
 document.write(“Good morning”);   echo “Good morning”;
PROGRAMMING FOR NON-PROGRAMMERS


 JAVASCRIPT                        PHP
 document.write(“Good morning”);   echo “Good morning”;




 RUBY
 print “Good morning”
PROGRAMMING FOR NON-PROGRAMMERS


 JAVASCRIPT                        PHP
 document.write(“Good morning”);   echo “Good morning”;




 RUBY                              PERL
 print “Good morning”              say “Good morning”
PROGRAMMING FOR NON-PROGRAMMERS

               1. WEB DEV PROCESS

PFNP 1         2. WHICH LANGUAGE?

                     3. CODE!




PFNP 2          FRONT-END WEB DEV   PFNP 3   BACK-END, SQL, APIS
FRONT-END
HTML, CSS, JS
PROGRAMMING FOR NON-PROGRAMMERS



WHAT IS HTML5?
BACK-END
PHP & SQL
PROGRAMMING FOR NON-PROGRAMMERS


WHAT IS A TECH STACK?
         FRONT-END LANGUAGE                CSS      HTML        JS



         SERVER-SIDE LANGUAGE              JAVA     PYTHON     RUBY      PHP



                                                             POSTGRES
         DATABASE               ORACLE   MONGO DB   MYSQL      SQL



         WEB SERVER                       APACHE    NGINX



                                                             MICROSOFT
         OPERATING SYSTEM                  OSX      LINUX       IIS
PROGRAMMING FOR NON-PROGRAMMERS




                 File Under:
      “not a programming language”
PROGRAMMING FOR NON-PROGRAMMERS


OPEN SOURCE
PROGRAMMING FOR NON-PROGRAMMERS


FTP
PROGRAMMING FOR NON-PROGRAMMERS


GIT
PROGRAMMING FOR NON-PROGRAMMERS


GIT
‣   Revisions
PROGRAMMING FOR NON-PROGRAMMERS


GIT
‣   Revisions
‣   Collaboration
PROGRAMMING FOR NON-PROGRAMMERS


DATABASES (YOU CHOOSE ONE)
‣   MySQL (“My Sequel”)
‣   PostgreSQL
‣   ORACLE
‣   Mongo DB
‣   Reddis



                              SELECT post_title FROM wp_users WHERE post_title = “Joy”

Contenu connexe

Tendances

457 WWDC08 Student Welcome
457 WWDC08 Student Welcome457 WWDC08 Student Welcome
457 WWDC08 Student Welcomerentzsch
 
Design For Multiple Touchpoints
Design For Multiple TouchpointsDesign For Multiple Touchpoints
Design For Multiple TouchpointsShane Morris
 
Responsive Design Workflow
Responsive Design WorkflowResponsive Design Workflow
Responsive Design WorkflowIntergen
 
Designing The Interface For Use
Designing The Interface For UseDesigning The Interface For Use
Designing The Interface For UseChristina Wodtke
 
Morris prototyping - oredev - share
Morris   prototyping - oredev - shareMorris   prototyping - oredev - share
Morris prototyping - oredev - shareShane Morris
 
Presenting Usable Research Results
Presenting Usable Research ResultsPresenting Usable Research Results
Presenting Usable Research ResultsDiane Loviglio
 
Processes should serve creativity - Which processes help creatives to work be...
Processes should serve creativity - Which processes help creatives to work be...Processes should serve creativity - Which processes help creatives to work be...
Processes should serve creativity - Which processes help creatives to work be...Jan Korsanke
 
20 tips for product owners 2014 NewYearEdition
20 tips for product owners 2014 NewYearEdition20 tips for product owners 2014 NewYearEdition
20 tips for product owners 2014 NewYearEditionBjörn Schotte
 
UX Design for the Responsive Web - UX London 2014 Workshop
UX Design for the Responsive Web - UX London 2014 WorkshopUX Design for the Responsive Web - UX London 2014 Workshop
UX Design for the Responsive Web - UX London 2014 WorkshopMatt Gibson
 
Become a webdeveloper - AKAICamp Beginner #1
Become a webdeveloper - AKAICamp Beginner #1Become a webdeveloper - AKAICamp Beginner #1
Become a webdeveloper - AKAICamp Beginner #1Jacek Tomaszewski
 

Tendances (13)

The Next Generation Website
The Next Generation WebsiteThe Next Generation Website
The Next Generation Website
 
457 WWDC08 Student Welcome
457 WWDC08 Student Welcome457 WWDC08 Student Welcome
457 WWDC08 Student Welcome
 
Design For Multiple Touchpoints
Design For Multiple TouchpointsDesign For Multiple Touchpoints
Design For Multiple Touchpoints
 
Responsive Design Workflow
Responsive Design WorkflowResponsive Design Workflow
Responsive Design Workflow
 
Designing The Interface For Use
Designing The Interface For UseDesigning The Interface For Use
Designing The Interface For Use
 
Morris prototyping - oredev - share
Morris   prototyping - oredev - shareMorris   prototyping - oredev - share
Morris prototyping - oredev - share
 
Presenting Usable Research Results
Presenting Usable Research ResultsPresenting Usable Research Results
Presenting Usable Research Results
 
Processes should serve creativity - Which processes help creatives to work be...
Processes should serve creativity - Which processes help creatives to work be...Processes should serve creativity - Which processes help creatives to work be...
Processes should serve creativity - Which processes help creatives to work be...
 
20 tips for product owners 2014 NewYearEdition
20 tips for product owners 2014 NewYearEdition20 tips for product owners 2014 NewYearEdition
20 tips for product owners 2014 NewYearEdition
 
UX Design for the Responsive Web - UX London 2014 Workshop
UX Design for the Responsive Web - UX London 2014 WorkshopUX Design for the Responsive Web - UX London 2014 Workshop
UX Design for the Responsive Web - UX London 2014 Workshop
 
Become a webdeveloper - AKAICamp Beginner #1
Become a webdeveloper - AKAICamp Beginner #1Become a webdeveloper - AKAICamp Beginner #1
Become a webdeveloper - AKAICamp Beginner #1
 
Snapchat
SnapchatSnapchat
Snapchat
 
Blogging & Podcasting
Blogging & PodcastingBlogging & Podcasting
Blogging & Podcasting
 

En vedette

Lect 1. introduction to programming languages
Lect 1. introduction to programming languagesLect 1. introduction to programming languages
Lect 1. introduction to programming languagesVarun Garg
 
C Programming Language Tutorial for beginners - JavaTpoint
C Programming Language Tutorial for beginners - JavaTpointC Programming Language Tutorial for beginners - JavaTpoint
C Programming Language Tutorial for beginners - JavaTpointJavaTpoint.Com
 
Programming for the non-programmer
Programming for the non-programmerProgramming for the non-programmer
Programming for the non-programmerStelian Firez
 
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 2014Chris Castiglione
 
Basics of c++ Programming Language
Basics of c++ Programming LanguageBasics of c++ Programming Language
Basics of c++ Programming LanguageAhmad Idrees
 
Startup Secrets - Getting Behind the Perfect Investor Pitch
Startup Secrets - Getting Behind the Perfect Investor PitchStartup Secrets - Getting Behind the Perfect Investor Pitch
Startup Secrets - Getting Behind the Perfect Investor PitchMichael Skok
 
Programming language
Programming languageProgramming language
Programming languageMakku-Sama
 
Unit1 principle of programming language
Unit1 principle of programming languageUnit1 principle of programming language
Unit1 principle of programming languageVasavi College of Engg
 
Computer programing
Computer programingComputer programing
Computer programingJT Taylor
 
ICT across the curriculum - Mathematics
ICT across the curriculum - MathematicsICT across the curriculum - Mathematics
ICT across the curriculum - Mathematicsmrpeddle
 
Object-Oriented Programming 2
Object-Oriented Programming 2Object-Oriented Programming 2
Object-Oriented Programming 2Warawut
 
System software lecture infs429
System software lecture infs429System software lecture infs429
System software lecture infs429Edmund Sowah
 
Computer science class 1
Computer science class 1Computer science class 1
Computer science class 1Holly Akers
 

En vedette (20)

Lect 1. introduction to programming languages
Lect 1. introduction to programming languagesLect 1. introduction to programming languages
Lect 1. introduction to programming languages
 
C Programming Language Tutorial for beginners - JavaTpoint
C Programming Language Tutorial for beginners - JavaTpointC Programming Language Tutorial for beginners - JavaTpoint
C Programming Language Tutorial for beginners - JavaTpoint
 
APIs
APIsAPIs
APIs
 
Programming for the non-programmer
Programming for the non-programmerProgramming for the non-programmer
Programming for the non-programmer
 
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
 
Basics of c++ Programming Language
Basics of c++ Programming LanguageBasics of c++ Programming Language
Basics of c++ Programming Language
 
Object-Oriented Programming Using C++
Object-Oriented Programming Using C++Object-Oriented Programming Using C++
Object-Oriented Programming Using C++
 
Startup Secrets - Getting Behind the Perfect Investor Pitch
Startup Secrets - Getting Behind the Perfect Investor PitchStartup Secrets - Getting Behind the Perfect Investor Pitch
Startup Secrets - Getting Behind the Perfect Investor Pitch
 
Programming language
Programming languageProgramming language
Programming language
 
Unit1 principle of programming language
Unit1 principle of programming languageUnit1 principle of programming language
Unit1 principle of programming language
 
Basic programming
Basic programmingBasic programming
Basic programming
 
Optimizely
OptimizelyOptimizely
Optimizely
 
Computer Programing
Computer ProgramingComputer Programing
Computer Programing
 
Computer programing
Computer programingComputer programing
Computer programing
 
Programing techniques
Programing techniquesPrograming techniques
Programing techniques
 
ICT across the curriculum - Mathematics
ICT across the curriculum - MathematicsICT across the curriculum - Mathematics
ICT across the curriculum - Mathematics
 
Object-Oriented Programming 2
Object-Oriented Programming 2Object-Oriented Programming 2
Object-Oriented Programming 2
 
PHP vs. Ruby on Rails
PHP vs. Ruby on RailsPHP vs. Ruby on Rails
PHP vs. Ruby on Rails
 
System software lecture infs429
System software lecture infs429System software lecture infs429
System software lecture infs429
 
Computer science class 1
Computer science class 1Computer science class 1
Computer science class 1
 

Similaire à Programming for Non-Programmers: A Guide to Communicating Ideas to Computers

Programming for non-Programmers
Programming for non-ProgrammersProgramming for non-Programmers
Programming for non-ProgrammersEvgeny Tsarkov
 
Programming for non-programmers
Programming for non-programmersProgramming for non-programmers
Programming for non-programmersPancho Goldaracena
 
APPLICATIONS AND DEVICES-DRIVERS REVIEW NOTES.pdf
APPLICATIONS AND DEVICES-DRIVERS REVIEW NOTES.pdfAPPLICATIONS AND DEVICES-DRIVERS REVIEW NOTES.pdf
APPLICATIONS AND DEVICES-DRIVERS REVIEW NOTES.pdfAirrahArishaPialaAlc
 
BLUG 2013 - Mobile Application Delivery - Choices, choices, choices
BLUG 2013 - Mobile Application Delivery - Choices, choices, choicesBLUG 2013 - Mobile Application Delivery - Choices, choices, choices
BLUG 2013 - Mobile Application Delivery - Choices, choices, choicesRené Winkelmeyer
 
Preparing for the WebGeek DevCup
Preparing for the WebGeek DevCupPreparing for the WebGeek DevCup
Preparing for the WebGeek DevCupbryanbibat
 
SEARIS 2014 Keynote - MiddleVR - Philosophy and architecture
SEARIS 2014 Keynote - MiddleVR - Philosophy and architectureSEARIS 2014 Keynote - MiddleVR - Philosophy and architecture
SEARIS 2014 Keynote - MiddleVR - Philosophy and architectureSebastien Kuntz
 
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 / devfestasiaChristian Heilmann
 
Mobile Prototyping
Mobile PrototypingMobile Prototyping
Mobile PrototypingDonna Lichaw
 
Mobile App Performance Optimization to Improve User Experience - by Supercharge
Mobile App Performance Optimization to Improve User Experience - by SuperchargeMobile App Performance Optimization to Improve User Experience - by Supercharge
Mobile App Performance Optimization to Improve User Experience - by SuperchargeSupercharge
 
Mobile User Experience
Mobile User ExperienceMobile User Experience
Mobile User ExperienceDonna Lichaw
 
Internet application
Internet applicationInternet application
Internet applicationRezaul Rahat
 
Responsive Web Design (Microsoft Web & Phone UX Tour 2011)
Responsive Web Design (Microsoft Web & Phone UX Tour 2011)Responsive Web Design (Microsoft Web & Phone UX Tour 2011)
Responsive Web Design (Microsoft Web & Phone UX Tour 2011)Bram Vanderhaeghe
 
Usability Design: Because it's awesome
Usability Design: Because it's awesomeUsability Design: Because it's awesome
Usability Design: Because it's awesomeJen Yu
 
AIR Mobile Development Overview
AIR Mobile Development OverviewAIR Mobile Development Overview
AIR Mobile Development Overviewmario_vieira
 
Developing for Windows Phone: A Guide for iOS Developers
Developing for Windows Phone: A Guide for iOS DevelopersDeveloping for Windows Phone: A Guide for iOS Developers
Developing for Windows Phone: A Guide for iOS DevelopersQubop Inc.
 
2022 COMP4010 Lecture 6: Designing AR Systems
2022 COMP4010 Lecture 6: Designing AR Systems2022 COMP4010 Lecture 6: Designing AR Systems
2022 COMP4010 Lecture 6: Designing AR SystemsMark Billinghurst
 

Similaire à Programming for Non-Programmers: A Guide to Communicating Ideas to Computers (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
 
APPLICATIONS AND DEVICES-DRIVERS REVIEW NOTES.pdf
APPLICATIONS AND DEVICES-DRIVERS REVIEW NOTES.pdfAPPLICATIONS AND DEVICES-DRIVERS REVIEW NOTES.pdf
APPLICATIONS AND DEVICES-DRIVERS REVIEW NOTES.pdf
 
BLUG 2013 - Mobile Application Delivery - Choices, choices, choices
BLUG 2013 - Mobile Application Delivery - Choices, choices, choicesBLUG 2013 - Mobile Application Delivery - Choices, choices, choices
BLUG 2013 - Mobile Application Delivery - Choices, choices, choices
 
Preparing for the WebGeek DevCup
Preparing for the WebGeek DevCupPreparing for the WebGeek DevCup
Preparing for the WebGeek DevCup
 
Thinking mobile
Thinking mobileThinking mobile
Thinking mobile
 
Android game ppt
Android game pptAndroid game ppt
Android game ppt
 
SEARIS 2014 Keynote - MiddleVR - Philosophy and architecture
SEARIS 2014 Keynote - MiddleVR - Philosophy and architectureSEARIS 2014 Keynote - MiddleVR - Philosophy and architecture
SEARIS 2014 Keynote - MiddleVR - Philosophy and architecture
 
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
 
Mobile Prototyping
Mobile PrototypingMobile Prototyping
Mobile Prototyping
 
Yahoo @ Nike
Yahoo @ NikeYahoo @ Nike
Yahoo @ Nike
 
Mobile Apps Portfolio
Mobile Apps PortfolioMobile Apps Portfolio
Mobile Apps Portfolio
 
Mobile App Performance Optimization to Improve User Experience - by Supercharge
Mobile App Performance Optimization to Improve User Experience - by SuperchargeMobile App Performance Optimization to Improve User Experience - by Supercharge
Mobile App Performance Optimization to Improve User Experience - by Supercharge
 
Mobile User Experience
Mobile User ExperienceMobile User Experience
Mobile User Experience
 
Internet application
Internet applicationInternet application
Internet application
 
Responsive Web Design (Microsoft Web & Phone UX Tour 2011)
Responsive Web Design (Microsoft Web & Phone UX Tour 2011)Responsive Web Design (Microsoft Web & Phone UX Tour 2011)
Responsive Web Design (Microsoft Web & Phone UX Tour 2011)
 
Usability Design: Because it's awesome
Usability Design: Because it's awesomeUsability Design: Because it's awesome
Usability Design: Because it's awesome
 
AIR Mobile Development Overview
AIR Mobile Development OverviewAIR Mobile Development Overview
AIR Mobile Development Overview
 
Developing for Windows Phone: A Guide for iOS Developers
Developing for Windows Phone: A Guide for iOS DevelopersDeveloping for Windows Phone: A Guide for iOS Developers
Developing for Windows Phone: A Guide for iOS Developers
 
2022 COMP4010 Lecture 6: Designing AR Systems
2022 COMP4010 Lecture 6: Designing AR Systems2022 COMP4010 Lecture 6: Designing AR Systems
2022 COMP4010 Lecture 6: Designing AR Systems
 

Plus de Chris Castiglione

Bitcoin, Ethereum, and Blockchain - Digital Literacy @ Columbia University Bu...
Bitcoin, Ethereum, and Blockchain - Digital Literacy @ Columbia University Bu...Bitcoin, Ethereum, and Blockchain - Digital Literacy @ Columbia University Bu...
Bitcoin, Ethereum, and Blockchain - Digital Literacy @ Columbia University Bu...Chris Castiglione
 
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
 
The China study and Plant Based Protein - NYC Vegetarian Food Festival 2015
The China study and Plant Based Protein - NYC Vegetarian Food Festival 2015The China study and Plant Based Protein - NYC Vegetarian Food Festival 2015
The China study and Plant Based Protein - NYC Vegetarian Food Festival 2015Chris Castiglione
 

Plus de Chris Castiglione (6)

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

Dernier

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
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
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
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
 
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
 
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 WorkerThousandEyes
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
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
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 

Dernier (20)

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
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
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
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
 
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
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
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...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 

Programming for Non-Programmers: A Guide to Communicating Ideas to Computers