181
Chris Castiglione @castig | pfnp.me PROGRAMMING FOR NON-PROGRAMMERS

PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

Chris Castiglione@castig | pfnp.me

PROGRAMMING FOR NON-PROGRAMMERS

Page 2: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

THE QUESTIONHow do I communicate an idea from my head… to a computer?

Page 3: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

1. WEB DEV PROCESS

2. WHICH LANGUAGE?

3. CODE!

Page 4: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

1. WEB DEV PROCESS

2. WHICH LANGUAGE?

3. CODE!

Page 5: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

1. WEB DEV PROCESS

2. WHICH LANGUAGE?

3. CODE!

Page 6: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

What is Programming? (...and why do I care?)

Page 7: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING‣ a set of instructions‣ used to solve a problem

Page 8: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PEANUT BUTTER & JELLY SANDWICH

Page 9: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PEANUT BUTTER & JELLY SANDWICH‣ find two slices of bread

Page 10: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PEANUT BUTTER & JELLY SANDWICH‣ find two slices of bread‣ spread peanut butter on one slice of bread

Page 11: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

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

Page 12: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

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

Page 13: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROBLEM SOLVED!

Page 14: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING‣ a set of instructions‣ used to solve a problem

Page 15: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

WHY ARE WE HERE?‣ to learn to think like a developer

Page 16: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

WHY ARE WE HERE?‣ to learn to think like a developer ‣ to understand the tools (aka. Programming Languages)

Page 17: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

WHY ARE WE HERE?‣ to learn to think like a developer ‣ to understand the tools (aka. Programming Languages) ‣ and to understand the constraints

Page 18: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

I. WEB DEV PROCESSUnderstand the Problem

Page 19: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

Vocabulary

Page 20: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

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‣ WINDOWSIn a browser

‣ CHROME‣ SAFARI

‣ FIREFOX‣ OPERA

‣ INTERNET EXPLORER

THE WEBWEB SITESWEB APPS

MOBILE WEB

VOCABULARY

Page 21: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PRODUCT DEVELOPMENT

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

‣ MVP - Minimal Viable Product ‣ Minimum features needed to test your assumptions ‣ Build, Measure, Learn‣ Validate your idea

Page 22: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

is to build somethingthat no body wants.

The worst thing

Page 23: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

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

A TYPICAL WEB DEVELOPMENT CYCLE

User-Experience (UX)

Information Architecture (IA)

Visual Design Development

Page 24: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

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

A TYPICAL WEB DEVELOPMENT CYCLE

User-Experience (UX)

Information Architecture (IA)

Visual Design Development

Page 25: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or
Page 26: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

USER-EXPERIENCE (UX)

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

‣ 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?

Page 27: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

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

BUSINESS NEEDS

BEST PRACTICES

USER NEEDS

IDEAL EXPERIENCE

UX

Page 28: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

“I want all of the features!”

Page 29: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

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

CASE STUDY: IDEAS, FEATURES, GOALS

Page 30: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

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

Who is our user?

Page 31: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

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

CASE STUDY: USER RESEARCH

Page 32: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

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

CASE STUDY PERSONAS

MaryDickinson, North Dakota

JohnLong Island, New York

Page 33: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

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

‣ Has 5+ computers in his home but says he would gamble on his iPad or a PC netbook running Firefox primarily.

‣ Has an iPhone 4, can’t wait to convince his wife he needs the new one. Doesn’t think he would gamble on the iPhone but could see wanting to check his account.

‣ Has a Facebook and Twitter profile but would not want to use it to setup an account. He would like to be able to see who of his Twitter and Facebook friends is playing the game however.

‣ Watches video online, sports clips mostly.‣ Pays for Netflix.‣ Does most, if not all, shopping online out of

convenience and selection.

PERSONAS: WHAT JOHN CARES ABOUT…

Page 34: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

‣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?

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

PERSONAS: WHAT JOHN CARES ABOUT

Page 35: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

Information Architecture

Page 36: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

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

A TYPICAL WEB DEVELOPMENT CYCLE

User-Experience (UX)

Information Architecture (IA)

Visual Design Development

Page 37: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

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

A TYPICAL WEB DEVELOPMENT CYCLE

User-Experience (UX)

Information Architecture (IA)

Visual Design Development

Page 38: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

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 ]

INFORMATION ARCHITECTURE (IA)

Page 39: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

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

SITEMAPS & FLOW DIAGRAMSEstablish flow and order

WIREFRAMES & CONTENTDefine the user interaction and ease the handoff process to the creative team

IA: THE BLUEPRINT

Page 40: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

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

BRAINSTORMING

Page 41: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

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

BRAINSTORMING

Page 42: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

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

TWITTER (PROTOTYPE)

Page 43: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

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

LOW FIDELITY MOCKUPS

Page 44: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

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

HIGH FIDELITY MOCKUPS

Page 45: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

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

SMALL SITE

Page 46: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

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

LARGE SITE

Page 47: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

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

FUNCTIONAL

Page 48: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

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

FLOW DIAGRAM

Page 49: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

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

FLOW DIAGRAM

Page 50: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

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

iPHONE WIREFRAMES

Page 51: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

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

FOURSQUARE

Page 52: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

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

FOURSQUARE

Page 53: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

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.

HEADER 2

PUT STUFF HERE LATER

Page 54: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

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.

TREAT TEXT AS USER-INTERFACE

CONTENT STRATEGY

Page 55: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

DESIGN. IS ABOUT WORDS.

TREAT TEXT AS USER-INTERFACE

Page 56: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

Visual Design

Page 57: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

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

A TYPICAL WEB DEVELOPMENT CYCLE

User-Experience (UX)

Information Architecture (IA)

Visual Design Development

Page 58: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

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

A TYPICAL WEB DEVELOPMENT CYCLE

User-Experience (UX)

Information Architecture (IA)

Visual Design

Development

Page 59: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

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

VISUAL DESIGNWireframes become design comps

59

Page 60: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

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

VISUAL DESIGNEach wireframe template becomes a comp template

60Homepage BlogListen

source: www.risk-show.com

Page 61: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

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

STYLE GUIDE

61

Style TileFinal

source: www.risk-show.com

Page 62: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

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

VISUAL DESIGN

62

PRINT‣ CMYK ‣ inches ‣ 300 dpi‣ Illustrator / InDesign‣ PDF, Word Doc

DIGITAL ‣ RGB ‣ pixels‣ 72 dpi‣ Photoshop (for the Web) ‣ PNG, JPG, GIF

Page 63: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

Development

Page 64: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

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

A TYPICAL WEB DEVELOPMENT CYCLE

User-Experience (UX)

Information Architecture (IA)

Visual Design Development

Page 65: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

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

A TYPICAL WEB DEVELOPMENT CYCLE

User-Experience (UX)

Information Architecture (IA)

Visual Design

Development

Page 66: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

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

DEVELOPMENTComps become graphics & real text

66

Page 67: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

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

DEVELOPMENTComps 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

67

Page 68: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

the client-side structure and behavior of a web site; put simply it mostly concerns how things look on the page

FRONT-END DEVELOPMENT (noun)

Page 69: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

the server-side programming that processes the “business logic”, database, web services and other utilities

BACK-END DEVELOPMENT (noun)

Page 70: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

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

DEVELOPMENT

70

The development process can be broken into two separate responsibilities:

Page 71: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

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

71

The development process can be broken into two separate responsibilities:

Page 72: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

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

DEVELOPMENTThe 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

72

Page 73: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

±±±

ZAPPOS.COM

PROGRAMMING FOR NON-PROGRAMMERS

FRONT-END

homepage cart registration

BACK-END

process.php

Page 74: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

‣ 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

WEB DEVELOPMENT PROCESS

Page 75: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

POST-LAUNCH ROLES1.Growth Hacker

2.SEO

3.Analytics Expert

4.Quality Assurance

Page 76: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

Page 77: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

WATERFALL

Page 78: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

AGILE WATERFALL

Page 79: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

II. WHICH LANGUAGE?Understand the Tools

Page 80: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

PHP

Ruby

C

C++Python

Perl .NETJava

Objective C

Visual Basic

ASP

COBOL

Ruby

Lisp

Logo

Smalltalk

ABC

ADA

ActionScript

Clu

R

Page 81: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

PHP

Ruby

C

C++Python

Perl .NETJava

Objective C

Visual Basic

ASP

Ruby

Lisp

Logo

Smalltalk

ABC

ADA

ActionScript

Clu

COBOL

R

Page 82: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

PHP

Ruby

C

C++Python

Perl .NETJava

Objective C

Visual Basic

ASP

COBOL

Ruby

Lisp

Logo

Smalltalk

ABC

ADA

ActionScript

Clu

R

Page 83: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

Assembly Language Machine Code

LOW LEVEL

HIGH LEVEL

HIGH TO LOW LANGUAGES

C

PHP Ruby Python

Java .NET

C++ Objective C

Page 84: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

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");});

Page 85: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

JAVAPHP

PROGRAMMING FOR NON-PROGRAMMERS

INFLUENCED BY?RUBY

‣C‣PERL‣JAVA

‣C++‣TCL

‣ADA‣C++‣CLU‣DYLAN

‣EIFFEL‣LISP‣PERL‣PYTHON

‣ADA 83‣MESA‣C++

‣EIFFEL‣SmallTalk

Page 86: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

CTHE MOTHER OF ALL LANGUAGES

Page 87: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

In a browser‣ CHROME‣ SAFARI

‣ FIREFOX‣ OPERA

‣ INTERNET EXPLORER

THE WEBWEB SITESWEB APPS

MOBILE WEB

Page 88: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

WHAT TO LOOK FOR WHEN CHOOSING A LANGUAGE:‣ Difficulty level

Page 89: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

WHAT TO LOOK FOR WHEN CHOOSING A LANGUAGE:‣ Difficulty level‣ Community

Page 90: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

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

Page 91: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PYTHONPHP

PROGRAMMING FOR NON-PROGRAMMERS

WEB PROGRAMMING LANGUAGESRUBY

Wikipedia

Facebook

Twitter

Hulu+

Groupon

Youtube

GoogleVimeo

Page 92: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

PHP vs. Ruby

Page 93: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PHP

PROGRAMMING FOR NON-PROGRAMMERS

RUBYEASIER TO

GET STARTED

WITH

STEEPER LEARNING

CURVE

Page 94: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

1995

PHPRUBY

Page 95: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

2001

PHP1995

PHPRUBY

Page 96: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

2006

RUBY2001

PHP1995

PHPRUBY

Page 97: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

2006

RUBY2001

PHP1995

PHPRUBY

today

PHPRUBY

Page 98: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

In a browser‣ CHROME‣ SAFARI

‣ FIREFOX‣ OPERA

‣ INTERNET EXPLORER

THE WEBWEB SITESWEB APPS

MOBILE WEB

Page 99: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

WEB APP WEB SITE

In a browser

CONTENT DRIVEN

COMMON TASKS

BLOG

“OUT OF THE BOX” CMS

PLUGINS

DATA DRIVEN

CUSTOM TASKS

USER DRIVEN

Page 100: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PHP

PROGRAMMING FOR NON-PROGRAMMERS

WEB APP

RUBY

WEB SITE

Page 101: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

Pop Quiz: Review!

Page 102: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

TIMELINE: THE BLACK EYED PEAS

WEB SITE

• Main task: blog

• Agency project

• Large budget

• 6 page content site

Page 103: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

IA

DESIGN

PROGRAMMING FOR NON-PROGRAMMERS

UX

DEVELOPMENT

30 HOURS

Timeline: The Black Eyed Peas

40 HOURS

60 HOURS

120+ HOURS

Page 104: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

TIMELINE: THE STORY STUDIO• Main task: classes

• Consulting

• Low budget

• 4 page navigation site

WEB SITE

Page 105: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERSTimeline: The Story Studio

UX IA

DEVELOPMENT

DESIGN

8-12 HOURS

10 HOURS

35 HOURS

Page 106: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

TIMELINE: DERBY JACKPOT

WEB APP

• Main task: an online horse gambling platform

• Start-up Consulting

• Decent-sized budget

• High risk: APIs

Page 107: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

IA

DESIGN

PROGRAMMING FOR NON-PROGRAMMERS

UX

DEVELOPMENT

45 HOURS

Timeline: Derby Jackpot

45 HOURS

120 HOURS

500+ HOURS

Page 108: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

WEB APP

TIMELINE: GENERALASSEMB.LYMain tasks:

• classes

• about us

• video

• social network

• custom payment gateway

Page 109: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

WEB SITETIMELINE: GENERALASSEMB.LYMain tasks:

• classes

• about us

• video

• social network

• custom payment gateway

Page 110: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

Which Language for...?Native Apps

Page 111: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

NATIVE APPS

Directly on your Operating System‣ IPHONE ‣ ANDROID

‣ OSX‣ WINDOWS

Page 112: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

iPHONE, iPAD, MAC OS‣ Objective-C

Page 113: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

ANDROID‣ java

Page 114: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

MOBILE DEVELOPMENT FRAMEWORKS: NATIVE

Appcelerator/Titanium“cross-compiler”

Phone Gap“native wrapper”

Page 115: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

CROSS COMPILE W/ APPCELERATOR

Javascript-ish

Objective-CJava

Page 116: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

MOBILE WEB / RESPONSIVE DESIGN

Desktop Browser

Safari on iPhone

Page 117: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

MOBILE WEB: FRAMEWORKS

SenchaJavascript-ish

jQuery MobilejQuery-ish

Page 118: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

Content Management Systems(CMS)

Page 119: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

CONTENT MANAGEMENT SYSTEMS (CMS)

Page 120: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

CONTENT MANAGEMENT SYSTEMS (CMS)

Wordpress Expression Engine Custom

?

Page 121: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

CMS DISTRIBUTION IN TOP MILLION SITES

Page 122: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

Which languages are left?

Page 123: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

ANALYTICS, QUICK PROCESSES‣ C++

Page 124: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

“REAL-TIME” IS MOST IMPORTANT‣ Node.js

Page 125: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

Page 126: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

And then you were all like...

Page 127: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

Q: WELL WHAT ABOUT...

PROTOTYPE

JQUERY

AJAX*

RUBY ON RAILS

BACKBONE.JS

EXTJS

*Ajax is a JavaScript related technique

SASSDJANGO

Page 128: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

Frameworks

Page 129: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

LET’S CODE SOME

Page 130: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

and come back to frameworks

Page 131: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

Q: WELL WHAT ABOUT...

PROTOTYPE

JQUERY

RUBY ON RAILS

BACKBONE.JS

EXTJS

DJANGO

BLUEPRINT

Page 132: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

FUNCTIONdefines a block of code

*I’m giving you permission to use this in the general sense

Functions

Methods

Classes

**

Page 133: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

FRAMEWORK: Login Example

The “perfect registration form”

login()

Page 134: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

FRAMEWORK: Login Example

login()

1. Create an email field

2. Create a password field

3. Create a button that reads “Submit”

4. Check to see that the username isn’t taken

5. Validate that the email is real

6. Add this user to the database

Page 135: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

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

Page 136: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

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

}

Page 137: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

Frameworks

Page 138: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

FRAMEWORKSa collection of pre-baked code...mostly “functions”, and other great stuff

Page 139: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

PROTOTYPE

JQUERY

RUBY ON RAILS

BACKBONE.JS

EXTJS

TWITTER BOOTSTRAP

DJANGOFRAMEWORKS

BLUEPRINT

Page 140: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

WHAT IS TWITTER BOOTSTRAP?

http://twitter.github.com/

Page 141: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

WHAT IS TWITTER BOOTSTRAP?A: Pre-baked... CSS JS

Page 142: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

Frameworks

Page 143: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

A: JAVASCRIPT FRAMEWORKS & HELPERS

PROTOTYPE

JQUERYAJAX*

COFFEE SCRIPT

BACKBONE.JS

EXTJS

*Ajax is a JavaScript related technique

Page 144: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

A: CSS FRAMEWORKS & HELPERS

SASS

960 GRID SYSTEM

COMPASS

LESS

BLUEPRINT

Page 145: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

Tech Stack

Page 146: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

WHAT IS A TECH STACK?

Page 147: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

WHAT IS A TECH STACK?FRONT-END LANGUAGE HTMLCSS JS

SERVER-SIDE LANGUAGE PHP

DATABASE MYSQL

WEB SERVER APACHE

OPERATING SYSTEM LINUX

Page 148: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

III. CODE!Use the Tools

Page 149: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

HTML -structure CSS - styleJS - behavior

Page 150: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

HTML (noun)CSS (adjective)JS (verb)

Page 151: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

HEY CHRIS, CAN YOU...

make the logo bigger?

Page 152: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

HEY CHRIS, CAN YOU...

make the logo bigger?CSS

HTML

Page 153: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

HEY CHRIS, CAN YOU...

make that grey heading fadein?

Page 154: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

HEY CHRIS, CAN YOU...

make that grey heading fadein?JAVASCRIPT

HTML

CSS

Page 155: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

7 CONCEPTS...that are the same in every programming language

Page 156: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

1. EVENTS

Page 157: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

2. COMMENTS

Page 158: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

3. PRINT

Page 159: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

4. VARIABLES

Page 160: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

POP QUIZ! a = 1

b = 2

c = a + b

c = ?

Page 161: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

POP QUIZ! a = 1

b = 2

c = a + b

c = 3

Page 162: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

5. DATATYPES

Page 163: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

6. CONDITIONALS

Page 164: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

7. FUNCTIONS

Page 165: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

PROGRAMMING CONCEPTS1. Events

2. Comments

3. Print

4. Variables

5. Datatypes

6. Conditionals

7. Functions

Page 166: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

JAVASCRIPTdocument.write(“Good morning”);

Page 167: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

JAVASCRIPTdocument.write(“Good morning”);

PHPecho “Good morning”;

Page 168: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

JAVASCRIPTdocument.write(“Good morning”);

PHPecho “Good morning”;

RUBYprint “Good morning”

Page 169: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

JAVASCRIPTdocument.write(“Good morning”);

PHPecho “Good morning”;

RUBYprint “Good morning”

PERLsay “Good morning”

Page 170: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

1. WEB DEV PROCESS

2. WHICH LANGUAGE?

3. CODE!

PFNP 1

PFNP 2 PFNP 3FRONT-END WEB DEV BACK-END, SQL, APIS

Page 171: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

FRONT-ENDHTML, CSS, JS

Page 172: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

WHAT IS HTML5?

Page 173: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

BACK-ENDPHP & SQL

Page 174: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

WHAT IS A TECH STACK?FRONT-END LANGUAGE HTMLCSS JS

SERVER-SIDE LANGUAGE PYTHONJAVA RUBY PHP

DATABASE MYSQLMONGO DB POSTGRES SQLORACLE

WEB SERVER NGINXAPACHE

OPERATING SYSTEM LINUXOSX MICROSOFT IIS

Page 175: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

“not a programming language”

File Under:

Page 176: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

OPEN SOURCE

Page 177: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

FTP

Page 178: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

GIT

Page 179: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

GIT‣ Revisions

Page 180: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

PROGRAMMING FOR NON-PROGRAMMERS

GIT‣ Revisions‣ Collaboration

Page 181: PROGRAMMING FOR NON-PROGRAMMERS...PROGRAMMING FOR NON-PROGRAMMERS [ 1. PLAN ] [ 2. DESIGN ] [ 3. DEVELOP ] ‣ Has 5+ computers in his home but says he would gamble on his iPad or

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”