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);
.htmllintrc
configuration - 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
instructor
remote 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
position
andfloat
- 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 Eight
Assigned 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 Nine
Assigned 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
,document
objects - 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
-