Syllabus

Coding For Rookies

Course Goals: To learn beginner level programming fundamentals, design and user experience basics, and how to build interactive websites efficiently and with modern best practices, and to discover ways that these technologies can be used in other applications apart from the Web.

Introduction to the Internet:

  • Logistics and introductions
  • Set up your development environment
    • Download, install, and configure Chrome
    • Download, install, and configure Atom
  • Your first website
    • “Hello World!”
  • How the web works
    • Brief history of the internet/web
      • Origins of programming, computing
      • W3C, ICANN, etc.
    • Brief overview of web architecture
      • Protocols (http, ssh, ftp)
      • Request/Response cycle
    • Hosting and DNS
      • Site44
      • iwantmyname

HTML:

  • HTML
    • Elements, tags, forms, links, structure, etc.
    • Attributes, content, hierarchy
  • Bootstrap
    • CDNs
    • Classes, introduce CSS
    • Documentation
  • Build a basic website
    • Formspree

CSS:

  • Basic UX principles and best practices
    • “Above the fold”
    • Simplicity
    • Colors
    • Patterns
  • CSS
    • Relationship to HTML
    • Cascades
    • Preprocessors
    • Selectors
    • Rules
    • Properties
  • Custom Styling
    • CSS Animations
  • Build a website with what we’ve learned

JavaScript:

  • JavaScript
    • Logic
    • Data Structures
    • Algorithms
    • Functions
  • Build a little game

jQuery and Dynamic Data:

  • jQuery
    • DOM traversal
    • Selecting and manipulating elements
    • Ajax
  • APIs
  • Build an app that hits a backend

Beyond the Web:

  • Using JS for native mobile (react native, phonegap)
  • Using JS for native desktop (electron)
  • Applying knowledge to other languages and domains
  • Web games, Elm and other languages, etc.
  • Wrap up, review, and resources