Upgrade to Pro — share decks privately, control downloads, hide ads and more …

GA | Programming For Non-Programmers (Oct)

GA | Programming For Non-Programmers (Oct)

"Programming For Non-Programmers" is a 3h workshop for GeneralAssemb.ly that serves as a first contact to the world of programming and web development.

Fer Martin

October 22, 2014
Tweet

More Decks by Fer Martin

Other Decks in Programming

Transcript

  1. LEARNING GOALS 4 Program basic websites in HTML/CSS Learn the

    technical vocabulary to communicate your ideas Translate your ideas to code
  2. 5 WHAT DO YOU WANT TO GET OUT OF THIS

    EXPERIENCE? GROUND RULES & EXPECTATIONS LEARN TO CODE. HTML/CSS. LEARN TECHNICAL VOCABULARY. TRANSLATE IDEAS TO CODE. CREATE A WEBSITE. BE MORE TECH SAVVY. BECOME A PROGRAMMER. BECOME A WEB DEVELOPER. CREATE A WEB APPLICATION. KNOW THE DIFFERENCE BETWEEN PROGRAMMING LANGUAGES, KNOW WHAT LANGUAGE TO USE. KNOW THE DIFFERENCE BETWEEN FRONT-END AND BACK-END. BECOME A CODE MONKEY
  3. LOTS OF DISTRACTIONS. NO ONE PARTICIPATED. IT WASN’T FUN. PEOPLE

    KEPT SHOWING UP LATE. PEOPLE DIDN’T RESPECT OTHER PEOPLE’S CONTRIBUTIONS. I DIDN’T FEEL COMFORTABLE MAKING A MISTAKE. PEOPLE INTERRUPTED EACH OTHER. NO ONE WAS LISTENING. NOT ENOUGH QUESTIONS. 6 THINK OF A TIME YOU HAD A NEGATIVE LEARNING EXPERIENCE. GROUND RULES & EXPECTATIONS WHAT GROUND RULES WOULD YOU LIKE TO SET TO MAKE SURE YOU HAVE AN AMAZING LEARNING EXPERIENCE?
  4. INTRODUCTIONS 7 ⌚ INTROS: 5 MIN SHARING: 15 MIN 1.

    Take 5 minutes to get to know your neighbor by finding out: a. Their name b. Where they’re from c. What they do (or what they’re looking to do) 2. Once you’ve gotten to know each other, we’ll take about 15 minutes to go around the class in order for you to introduce your partner. STRUCTURE OBJECTIVES PAIRS
  5. TODAY’S AGENDA 8 Vocabulary: • What is programming? • What

    can I build? • What is Web Development? • Stages of web development/design • What is an API? The Basics of Code: • HTML/CSS & JavaScript ! Code together! !
  6. WHAT IS PROGRAMMING? 10 ! A SET OF INSTRUCTIONS. A

    RECIPE. A STEP BY STEP PROCESS. !
  7. WHAT IS PROGRAMMING? 11 PROGRAMMING LANGUAGES RUBY RUBY ON RAILS

    PHP JAVA JAVASCRIPT HTML CSS C++ C# OBJECTIVE C PYTHON C JQUERY NODE BACKBONE ANGULAR EMBER R DJANGO SINATRA PADRINO SCALA ERLANG HASKELL ASSEMBLY PERL SQ FORTRAN PASCAL PROCESSING SCRATCH HEROKU
  8. WEB APPLICATIONS WEB SITES NATIVE APPS (Mobile and Desktop) OTHER

    THINGS WHAT IS PROGRAMMING? WHAT CAN I BUILD? 12
  9. WEB APPLICATIONS WEB SITES NATIVE APPS (Mobile and Desktop) OTHER

    THINGS WHAT IS PROGRAMMING? WHAT CAN I BUILD? 13 WEB DEVELOPMENT
  10. WEB DEVELOPMENT BROWSERS 16 Developers (namely, front-end developers have to

    decide which browsers they want their webpages to look good in.
  11. BROWSERS WEB DEVELOPMENT 17 Latest browser stats: Percent 0 18

    35 53 70 Year 2009 2010 2011 2012 2013 Internet Explorer Firefox Safari Opera Chrome http://en.wikipedia.org/wiki/Usage_share_of_web_browsers#StatCounter_.28July_2008_to_present.29
  12. WEB DEVELOPMENT FRONT-END VS. BACK-END 19 FRONT-END BACK-END PROGRAMMING LANGUAGES

    FRAMEWORKS PYTHON RUBY PHP RUBY ON RAILS DJANGO HTML JAVASCRIPT CSS
  13. WHAT IS PROGRAMMING? 20 WHAT DO PROGRAMS ACTUALLY DO? They

    automate things to make our lives easier. •Keeping track of things (Variables) •Making decisions(If -> then) •Repeating things (Loops) •Displaying things •Logs things (Log files) •Storing things(Databases) “Hey program, can you change the background of your website when I click on a button?”
  14. DESIGN 27 WHAT IS USER EXPERIENCE? “Don’t make me think”

    -Steve Krug http://www.amazon.co.uk/Dont-Make-Me-Think-Usability/dp/0321344758
  15. DESIGN 30 WHO DOES UX? User Researcher Identifies user behaviors,

    goals and needs through interviews, studies and surveys ! ! Information Architect
 (IA) Defines the structure of a system, how content is described, organized and discovered Interaction Designer 
 (IxD/UX Designer) Defines interactions, user flows, wireframes, and affordances of a system UI Developer Builds the system by interpreting the functional specification, sitemaps, wireframes while working within technical constraints
  16. ‣ Why? ‣ Who? ‣ What? ‣ Where? ‣ When?

    ‣ How? 32 UNDERSTANDING OUR USERS
  17. UNDERSTANDING OUR USERS WHY are they coming to us? ‣

    goals? ‣ what are their needs? 33
  18. WHO are our users? ‣ businesses vs. consumers? ‣ demographics?

    ‣ background knowledge? ‣ understanding of terminology? 34 UNDERSTANDING OUR USERS
  19. WHEN are they visiting? ‣ morning or evening? ‣ when

    they’re in a crisis? ‣ daily? ‣ monthly?
 35 UNDERSTANDING OUR USERS
  20. WHAT are their habits? ‣ do they use social networks?

    ‣ content producers or consumers?
 
 *what you ask depends on the product 36 UNDERSTANDING OUR USERS
  21. HOW are they accessing? ‣ desktop or mobile? ‣ tablet?

    ‣ over the phone or in person? 37 UNDERSTANDING OUR USERS
  22. DESIGN WIREFRAME.CC 41 Create your own wireframes for a portfolio

    site that would showcase your work. ! Goal is that you provide enough details that a programmer can code this up later.
  23. WEB DEVELOPMENT VERSION CONTROL 46 •Keep track of the version

    of code. •Collaborate with others. •Keep track of who contributed. •Open-source (release it to the world for free!) •Popular tools: GitHub, BitBucket !
  24. WEB DEVELOPMENT HOW DO I DECIDE WHAT LANGUAGE TO USE?

    WHAT TO LOOK FOR IN A LANGUAGE. 50 •Community support •Difficulty level •Development time •Front-end or back-end? !
  25. REVIEW WHAT WE LEARNED: 54 Vocabulary: • What is programming?

    • What can I build? • What is Web Development? • Stages of web development/design • How to create wireframes • What is an API? The Basics of Code: • HTML/CSS & JavaScript ! Code together!
  26. REVIEW RESOURCES 55 https://developer.mozilla.org/en-US/docs/Web/HTML/Element ! http://wireframe.cc ! http://dash.generalassemb.ly (GA HTML/CSS

    tutorials) ! http://www.csszengarden.com/ ! http://codepen.io ! http://www.codecademy.com/tracks/apis