Giter Site home page Giter Site logo

aboutwebcourse's Introduction

AboutWebCourse

Internal web development course for non-developers at About.com

Curriculum

Class 1 - Overview & HTML

Pre-class (To be completed before Tuesday, June 23rd)
TODOs
  1. Finish outline
  2. Fill in details of outline
  3. Add resources to lesson the attendees can use as references
  4. Make post-screencast quiz
  5. Make screencast
  6. Complete extra resources to check out
  7. Complete in-class exercises
  8. Write email to developers
  • Ask them to join HipChat room
  • Help with curriculum design
  • Attend sessions
  1. Provide minutes for the screencast
Outline
  1. Intro to course and what we plan on doing

  2. Welcome! 30 people signed up for this course and we're super excited to have you here!

  3. We assume no programming background and we'll be starting from scratch. Since this is our first attempt at doing this, we desperately need your feedback! We'll regularly have some optional surveys with a few brief questions you can complete if you'd like to help shape the course.

  4. Resources (HipChat, Where to find curriculum and class notes, who to email with questions or issues, forum or listserv, text editor)

  5. Overview of HTML, CSS, and JS and simple explanation of how websites work

  6. What happens when you go to About.com? - Give the short answer - For the long answer: https://github.com/alex/what-happens-when

  7. Deeper dive into HTML

  8. Before we go any further, we'd strongly recommend you use Google Chrome as your browser.

  9. If you'd like, you're welcome to copy what I do on your own computer to get some practice.

  10. What is HTML?

  11. HTML Syntax and Elements - html - body - head - title - p - h1 - h6 - img

    • Fix Google - a - ul - ol - li
  12. HTML Errors - What happens when you have an error in your HTML? - How can you detect and correct errors?

    • Chrome Developer Tools
    • Editors like Sublime Text
    • Sites that you can develop on that can give you useful tips as you go (e.g. JSBin, JSFiddle, CodePen)
    • HTML validation site
  13. What to Expect Next and any TODOs before in-class

  14. The first class, what we'll be doing in it, and what to have ready beforehand - Bring your laptop - Maybe install Sublime Text - Perhaps try a basic exercise like loading a locally saved HTML file in your browser.

  15. What if you have questions before then?

  16. Quiz to complete

  17. We won't be giving out grades or sharing scores. This is solely a way for you to test your own understanding of the material. X Attributes go in the

  • Metadata typically goes in the
  • Visible content typically goes in the
  • Our HTML documents will always start with
  • Which of these elements when clicked will take you to Google
  • HTML is responsible for
  • CSS is responsible for
  • JavaScript is responsible for
  • Which of these will cause the kitty.jpg image to be displayed?
  • Comments
  • One way to open the Chrome Developer Tools is to right-click and select
  • If the start tag to an element is , what would the end tag look like?
  • All elements have a start tag and an end tag
  1. If you'd like to continue learning prior to the next class, consider these resources

  2. Fill out survey

  3. What do you think of the screencast format?

  4. HipChat Room - Does this work for you? x. General feedback and suggestions. Be honest! We want to make this as good as possible!

In-class (Tuesday, June 23rd)
  • Welcome and brief overview
  • exercise 1 (setting up directory for course)
  • exercise 2 (find/change something using the developer tools). Go over text editors to use. Could also have them change something on the about.com site the way you change things for google.
  • main exercise - building own bio page, building about.com homepage, creating newsletter email
  • bonus - more html elements you may not need
  • reminder to save work
  • fill out survey before leaving
  • how difficult
  • how much fun
  • how was pacing?

Class 2 - CSS

Pre-class (html and css)
  • HTML elements with multiple attributes
  • div and span elements
  • CSS syntax
  • CSS pseudo selectors
  • bonus exercise - style what you made in the first class
  • exit quiz and survey
In-class
  • exercise 1 - see how you can adjust about.com
  • exercise 2 - the developers and designers are sick and we need something fixed
  • main exercise - style what you worked on previous class. If you missed the previous class, here's a starter file you can save and then work with.

Class 3 - Positioning and Layout

Pre-class
In-class

Class 4 - Variables, math operators, numbers, calling functions, strings, alert, prompt

Pre-class
  • Overview of JavaScript and programming in general
  • Demo of the amazing stuff you can do with JavaScript
  • Consider showing sites with JavaScript disabled
  • Start by doing math in the console
  • Show +, -, *, /, and %
  • Move code into file and run and see that nothing appears to happen
  • Introduce semicolons
  • Show how to call a function (console.log)
  • alert
  • So far we've just been printing out numbers. How about some text? Introduce strings. Consider introducing typeof
  • prompt (show it returns string)
  • Go into the difference between numbers and strings using the + operator
  • Assigning to variables and accessing variables
    • Read "=" as "gets" instead of "equals"
    • Assigning number to variable
    • Figure out rhs and then store in lhs
    • Assigning math operation to variable
    • x = x + 1
    • Assigning function return value to variable
    • What happens when you access a variable before it has been declared?
    • What happens when you access a variable before it has been initialized?
  • Show casing matters
  • JavaScript Comments
  • Math.random()
  • String methods and properties?
  • Getting & setting values from the DOM using JavaScript?
  • Append?
  • Starting and stopping audio with JavaScript (consider moving to Function & Events class)
  • What happens when there is an error in your JavaScript?
  • Debugging
    • console.log
    • debugger
  • Plunker or JSBin
    • Show ability to share your site with others
  • How to include JavaScript in your site
  • Quiz
    • Comments
    • String type question
    • How to include JS in your webpage
  • Additional Resources
    • CodeAcademy
    • CodeSchool?
    • Eloquent JavaScript
In-class
  • Consider having attendees create a JSBin or Plunkr account
  • Write some code in the console
  • Alert "Hello world!"
  • Ask the user for her name and then alert "Hello ______!"
  • Instead of alerting the user's name, update the HTML to contain the user's name
  • Pay raise calculator - Maybe use Math.random to do a estimate of how much money you'll be making in the next year
  • document.getElementById to set values
  • Madlibs. Give yomama joke generator as example
    • Start with prompts and alert
    • Then prompts and HTML
  • Fix these bugs
    • Casing issue
    • Calling a function improperly
    • Using a variable that hasn't been declared

Class 5 - Conditionals, booleans, logical operators

Pre-class
In-class
  • Exercise - Choose your own adventure

Class 6 - Functions, Events

Pre-class
  • setTimeout, setInterval
  • Callback functions
  • Responding to user actions
In-class

Class 7 - Loops, Arrays

Pre-class
  • While
    • Infinite loops
  • For
  • Arrays
In-class

Class 8 - jQuery

Pre-class
  • Survey
    • Ask how they'd like to spend the last class (hackathon, jeopardy, party, etc.)
  • Quiz
    • What probably went wrong if you see an error like "ReferenceError: $ is not defined"?
In-class
  • Have color of background be based on mouse position. Perhaps clicking causes an animation or some other effect

Class 9 - HipChat Bots

Pre-class
In-class

Class 10 -

Pre-class
  • Overall review to prepare for jeopardy
In-class
  • Course exit survey
  • Assessment tool quiz?
  • Jeopardy? Perhaps have the teams compete against eachother for the final class. Have a plastic trophy for winning team.
  • Hackathon?

Resources

Outline

Calendar

TODOs

  • Email developers
  • Request t-shirts
  • Make certificates
  • Plan hackathon?
  • Create listserv?

Subjects

  • HTML
  • CSS
  • variables
  • math operators
  • conditionals
  • functions
  • loops
  • arrays
  • jQuery
  • strings
  • events
  • setInterval and setTimeout
  • Debugging / developer tools

Bonus subjects

  • Bootstrap
  • Projects

Exercise Ideas

  • Taking a profile page about an Expert and updating it for yourself

  • Text adventure game

    • about.com themed where your manager finds you sleeping on the job and such
    • possibly incorporate people from about
  • "Can I have a promotion?" project (jQuery)

  • Market share button pressed race. Or just half about.com and half everybody split screen. Whoever taps first or fastest takes over the other screen.

  • make an animation using the about.com ball/logo

  • create or reimagine a logo. Could be a logo mash where you make the about.com logo with the theme from a different company's logo.

  • Create HipChat Bot - https://hubot.github.com/docs/scripting/

Misc. Ideas

  • Create HipChat room for class
  • Create nodeschool modules
  • Add general quick tips (sublime plugins or shortcuts (reindent))

aboutwebcourse's People

Contributors

acingraham avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.