Course Calendar
All code written in class available on GitHub.
- 
        Git; HTML History, Syntax & Fundamentals Week One- 
                Monday, August 21 Video- Welcome & introductions
- Course policies & calendar
- Course technologies
 
- 
                Wednesday, August 23 Video- File systems and basics of version control/Git
- A walk through HTML history, with a Git assist
- Major historical HTML specs: HTML 2.0 (1995, RFC 1866); HTML 3.2 (1997); HTML 4.01 (1999); XHTML 1.0 (2000/2002); HTML5 (2014)
- Current HTML specs: HTML 5.1 (2016); HTML: The Living Standard
- HTML Tags: Past, Present, Proposed
 
 Assigned Work- 
                To Read- Course policies, calendar, and projects [Online students]
- HTML5 for Web Designers, 2nd ed., Introduction; Chapters 1-2
- Pragmatic Version Control Using Git, Preface; Chapters 1-3 (Part I)
- Get familiar with the contents and organization of Mozilla Developer Network’s Web technology for developers
 
- 
                To Do- As soon as possible: Submit ITMD361 Contract and Survey (link in your @hawk.iit.edu inbox; email instructor at karl.stolley@gmail.com if you did not receive it)
- As soon as possible: Create Basecamp account (invite will arrive after you submit the Contract and Survey)
- Technology setup; follow these instructions
 
 
- 
                
- 
        Well Formed, Valid Semantic HTML; Global Attributes Week Two- 
                Monday, August 28 Video- Introduce first project
- Remaining major historical HTML specs: HTML 4.01 (1999); XHTML 1.0 (2000/2002); HTML5 (2014)
- Current HTML specs: HTML 5.1 (2016); HTML: The Living Standard
- HTML syntax & fundamentals
- Working with the HTML validator
 
- 
                Wednesday, August 30 Video- Academic Resource Center (Raiven J)
- Introduce first Production Problem & turn-in procedure
- Deeper into Git: remotes (set up course demos remote)
- Foundational well formed, valid, semantic HTML page
- HTML semantics and global attributes
- Developing reusable semantic patterns
- 
                    htmllint (CLI);
                    .htmllintrcconfiguration
- ITMD 361 house-style .htmllintrc
 
 Assigned Work- 
                To Read- Pragmatic Version Control Using Git, Chapters 4-9 (Part II)
- Beams, How to Write a Git Commit Message
- HTML5 for Web Designers, 2nd ed., Chapters 5-6
 
- 
                To Do- Production Problem 01: Cloning and Committing to a Git Repository
- Post to Week One/Two Questions thread on Basecamp
 
 
- 
                
- 
        Responsive Web Design Overview + HTML Foundations Week Three- 
                Monday, September 4: Labor Day, NO CLASS
- 
                Wednesday, September 6 Video- Portable, offline documentation: Devdocs.io
- Walk through a web project setup
- Renaming/moving files with Git
- Deeper into Git: granular commits; branches; merging
- CSS preview: handling responsive images
- Developing reusable semantic HTML patterns
- Global structural attributes: class and id
 
 Assigned Work- 
                To Read- Marcotte, “Responsive Web Design”
- Responsive Web Design, 2nd ed., Chapters 1, 4
 
- 
                To Do- Production Problem 01: Basecamp Discussion
- Week Three Basecamp Q&A
- Post Project 1 draft to Basecamp by Thursday, September 7
 
 
- 
                
- 
        Course Refresher; Work Day Week Four- 
                Monday, September 11 Video- Open Q&A and refresher
- De-borking a borked Git repo
- HTML anti-patterns and their remedies
- Resume markup
- Microformats: h-card
 
- 
                Wednesday, September 13- No class; work day. Put in a solid hour-plus on your project, commenting on peer projects.
- Stolley available in our chatroom
 
 Assigned Work- 
                To Read- Responsive Web Design, 2nd ed., Chapter 3
- HTML5 for Web Designers, 2nd ed., Chapter 3
 
- 
                To Do- Review Project One description, requirements, and deliverables
- Respond to at least three other draft student projects on Basecamp
- Project One due by 11:59pm CT, Thursday September 21
 
 
- 
                
- 
        CSS Syntax & Fundamentals; Units of Measure Week Five- 
                Monday, September 18 Video- Refresher on Responsive Web Design
- Setting the viewport, including for Safari 9.0 and later on iOS
- Foundations: working with reset styles
- CSS syntax
- CSS style
 
- 
                Wednesday, September 20 Video- Linter file updates (FYI)
- Using a single stylesheet across an entire site
 
 Assigned Work- 
                To Read- MDN: CSS syntax
- MDN: CSS selectors
- MDN: CSS units of measure (<length>)
 
- 
                To Do- Project One Due 11:59pm on Thursday, September 21
- 
                    Production Problem 02: HTML Antipatterns
                    (be sure to pull from the instructorremote you created in PP 01)
 
 
- 
                
- 
        CSS: Typography Week Six- 
                Monday, September 25 Video- New repo location at github.com/itmd-361-2017
- Introduce Project 2
- Organizing stylesheets
- Mobile-first styles and media queries
- Foundational typographic styles
- Typographic/modular scales
- Setting text on a baseline grid
 
- 
                Wednesday, September 27 Video- CSS style & linting; ITMD 361 style
- Mobile-scale page layout adjustments
- Setting text and colors in CSS
- Choosing & working with typefaces
 
 Assigned Work- 
                To Read- Read through SMACSS chapters: Categorizing CSS Rules, Base, Layout, Module
- Sitepoint: Take CSS Linting to the Next Level with Stylelint
- On Web Typography, Introduction; Chapters 1-3
- Type anatomy and classifications
- ModularScale.com
- Rutter, “Compose to a Vertical Rhythm”
 
- 
                To Do- Production Problem 02: Basecamp discussion
- Week Six Questions & Discussion Thread
 
 
- 
                
- 
        CSS: Page Layout (Fluid Grids), Feature Detection Week Seven- 
                Monday, October 2 Video- Sizing type and baseline grid adjustments
- Introduction to media queries and layout grid terminology
 
- 
                Wednesday, October 4 Video- Building responsive fluid grids at media-query breakpoints
- Old-school page layout with positionandfloat
- Feature detection with Modernizr
- 
                    New-school page layout with display: flex(Flexbox) anddisplay: grid(CSS Grid)
 
 Assigned Work- 
                To Read- Responsive Web Design 2nd ed., Chapters 2, 5
- Rachel Andrew, A Very Good Time to Understand CSS Layout
- Chris Coyier, A Complete Guide to Flexbox
- MDN, Using CSS Flexible Boxes (browse property list in the subnav)
- MDN, Introduction to CSS Grid Layout
 
- 
                To Do- Production Problem 03: CSS Flexbox
- Post video and draft of Project Two to Basecamp by Thursday, October 12
 
 
- 
                
- 
        Responsive Images, Accessibile Media Week EightAssigned Work- 
                To Read- Eloquent JavaScript 2nd ed., Introduction; Chapters 1-2
- Stolley, Image Accessibility: Part I: Beyond alt Attributes, Part II: Beyond src Attributes
- Ward, Versioning Large Files with Git LFS
 
- 
                To Do- Production Problem 03: Basecamp discussion
- Week Eight/Nine question & discussion thread
- Respond to at least three other student project drafts by October 19
 
 
- 
                
- 
        Responsive Images; JavaScript: Syntax, Fundamentals, Data Structures Week NineAssigned Work- 
                To Read- Eloquent JavaScript 2nd ed., Chapters 3-4
- MDN JavaScript Reference
- Brown, Why I Use a JavaScript Style Guide and Why You Should Too
 
- 
                To Do- Play Flexbox Froggy
- Continue work on Project Two
 
 
- 
                
- 
        JavaScript: Syntax and Fundamentals; Functional Programming Style Week Ten- 
                Monday, October 23 Video- MDN JavaScript Reference
- Working with the JavaScript console (node, browser)
- JavaScript fundamentals: syntax, data types, structures, style
- Collections: Arrays and object literals
 
- 
                Wednesday, October 25 Video- Using functions to control variable scope
- Single-responsibility principle and pure functions in functional programming
- Self-invoking functions to protect the global namespace
- Functional programming style in JavaScript
- JSHint (Web)
- ESLint (CLI)
 
 Assigned Work- 
                To Read- Eloquent JavaScript 2nd ed., Chapters 5-6, 8-10
 
- 
                To Do- Finish Project Two by Thursday, November 2
- Production Problem 04: JavaScript Variable Scope
- Project Two Due 11:59pm CT on Thursday, November 2
 
 
- 
                
- 
        DOM Scripting: JavaScript + the Document Object Model; jQuery and Alternatives Week Eleven- 
                Monday, October 30 Video- Introduce Project Three
- 
                    Essential Web APIs:
                    window,documentobjects
- JavaScript DOM libraries:
 
- 
                Wednesday, November 1 Video- No class; Stolley will post course video here
- Overview of progressive enhancement and event listeners
- Working with accessible audio & video in HTML5:
- Audio & Video HTML media-element APIS
 
 Assigned Work- 
                To Read- Eloquent JavaScript 2nd ed., Chapters 12-14, 17-18
- HTML5 for Web Designers, 2nd ed., Chapter 4
 
- 
                To Do- Production Problem 04: Basecamp discussion
 
 
- 
                
- 
        Unobtrusive JavaScript & Progressive Enhancement Week Twelve- 
                Monday, November 6 Video- Refresher: Modernizr and feature detection
- Inserting JavaScript-dependent HTML into the DOM
- Unobtrusive JavaScript with event listeners
 
- 
                Wednesday, November 8 Video, Supplemental Video- Media-query-dependent collapsing navigation
 
 Assigned Work- 
                To Read- Gustafson, Understanding Progressive Enhancement
- Six Revisions, Progressive Enhancement 101
- W3C, The Principles of Unobtrusive JavaScript
 
- 
                To Do- Production Problem 05: Unobtrusive JavaScript
 
 
- 
                
- 
        JavaScript: Non-Blocking Asynchronous Patterns, Page Performance Week Thirteen- 
                Monday, November 13 Video- HTML forms and form elements
- Loading external assets and data asynchronously
 
- 
                Wednesday, November 15 Video- Progressive enhancement with HTML structure and data- attributes
- JSHint (CLI)
- JavaScript review and Q&A
 
 Assigned Work- 
                To Read- Eloquent JavaScript 2nd ed., Chapter 22
 
- 
                To Do- Production Problem 05: Basecamp discussion
 
 
- 
                
- 
        HTTP 1.1, HTTP/2, and REST Architecture; Server-Side Web Development Week Fourteen- 
                Monday, November 20 Video- HTTP 1.1, HTTP/2, and REST Architecture
- Assessing server-side libraries/frameworks, using Ruby on Rails as an example
 
- 
                Wednesday, November 22: Thanksgiving Break, NO CLASS
 Assigned Work- 
                To Do- Work on final project
 
 
- 
                
- 
        Parting Material: Preprocessors Week Fifteen- 
                Monday, November 27 Video- HTML preprocessing: Haml
- CSS preprocessing: LESS, SCSS
- JavaScript preprocessing: CoffeeScript
 
- 
                Wednesday, November 29- NO CLASS MEETING. Stolley available electronically to provide help on final projects.
 
 Assigned Work- 
                To Do- Project Three Due 11:59pm CT on Thursday, December 7
 
 
-