Course Calendar
All code written in class available on GitHub.
-
Git; HTML History, Syntax & Fundamentals Week One
-
Monday, August 22 Video
- Welcome & introductions
- Course policies & calendar
- Course technologies
-
Wednesday, August 24 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)
- Current HTML specs: HTML5 (2014); HTML: The Living Standard
- HTML Tags: Past, Present, Proposed
- HTML syntax & fundamentals
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 WebPlatform.org and Mozilla Developer Network’s Web technology for developers
-
To Do
- 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)
- Create Basecamp account (invite will arrive after you submit the Contract and Survey)
- Technology setup
-
-
Well Formed, Valid Semantic HTML; Global Attributes Week Two
-
Monday, August 29 Video
- Introduce first project
- Last of the history of HTML HTML 4.01 (1999); XHTML 1.0 (2000/2002)
- Current HTML specs: HTML5 (2014); HTML: The Living Standard; HTML Tags: Past, Present, Proposed
- HTML semantics and global attributes
- Working with the HTML validator
- Deeper into Git: granular commits; branches; merging
-
Wednesday, August 31 Video
- Foundational well formed, valid, semantic HTML page
-
htmllint (CLI);
.htmllintrc
configuration - ITMD 361 house-style .htmllintrc
- Deeper into Git: remotes
- Introduce first Production Problem & turn-in procedure
Assigned Work
-
To Read
- Pragmatic Version Control Using Git, Chapters 4-9 (Part II)
- HTML5 for Web Designers, 2nd ed., Chapters 5-6
-
To Do
- Production Problem 01: Cloning and Committing to a Git Repository
-
-
Responsive Web Design Overview + HTML Foundations Week Three
-
Monday, September 5 - Labor Day, NO CLASS
-
Wednesday, September 7 Video
- Walk through a web project setup
- HTML Headings, Paragraphs, and Lists
- Source/text formatting: ALL CAPS; breaks on long lines
- Global structural attributes: class and id
- Resume markup
- Microformats: h-card
Assigned Work
-
To Read
- Marcotte, “Responsive Web Design”
- Responsive Web Design 2nd ed., Chapters 1, 4
-
To Do
- Post Project 1 draft to Basecamp by Friday, September 9
- Production Problem 02: HTML Validation
-
-
HTML and Accessible, Responsive Rich Media Week Four
-
Monday, September 12 Video
- Introduction to Responsive Web Design
- Setting the viewport, including for Safari 9.0 and later on iOS
- Working with accessible image media in HTML5:
img
and web-friendly image formats-
figure
andfigcaption
-
Wednesday, September 14 Video
- Q & A about images
- GitHub Help doc on large files
- Git LFS: setup and usage
- Working with accessible audio & video in HTML5:
Assigned Work
-
To Read
- Responsive Web Design 2nd ed., Chapter 3
- HTML5 for Web Designers, 2nd ed., Chapter 3
- Stolley, Image Accessibility: Part I: Beyond alt Attributes, Part II: Beyond src Attributes
- Ward, Versioning Large Files with Git LFS
-
To Do
- Review Project One description, requirements, and deliverables
- Project due by 11:59pm CT, Wednesday September 21
-
-
CSS Syntax & Fundamentals; Units of Measure Week Five
-
Monday, September 19 Video
- Foundations: working with a reset stylesheet
- CSS syntax
- CSS style
-
Wednesday, September 21 Video
- Emergency Git rehabilitation
- Organizing a new stylesheet
- Project One due by 11:59pm CT
Assigned Work
-
To Read
- MDN: CSS syntax
- MDN: CSS selectors
- MDN: CSS units of measure (<length>)
-
-
CSS: Typography Week Six
-
Monday, September 26 Video
- Introduce Project 2
- CSS style & linting; ITMD 361 style
- Typographic/modular scales
- Setting text on a baseline grids
-
Wednesday, September 28 Video
- Mobile-scale page layout adjustments
- Setting text and colors in CSS
- Choosing & working with typefaces
Assigned Work
-
To Read
- On Web Typography, Introduction; Chapters 1-3
- Type anatomy and classifications
- ModularScale.com
- Rutter, “Compose to a Vertical Rhythm”
-
To Do
- Production Problem 03: Relative Units in CSS & Production Problem 04: Typographic Scales
-
-
CSS: Page Layout (Fluid Grids), Responsive/Flexible Media Week Seven
Assigned Work
-
To Read
- Responsive Web Design 2nd ed., Chapters 2, 5
-
To Do
- Post video and draft of Project Two to Basecamp
-
-
Transition Week Week Eight
-
Monday, October 10 - Fall Break, NO CLASS
-
Wednesday, October 12
- No Class
Assigned Work
-
To Read
- Eloquent JavaScript 2nd ed., Introduction; Chapters 1-2
- Chris Coyier, A Complete Guide to Flexbox
- MDN, Using CSS Flexible Boxes (browse property list in the subnav)
-
To Do
- Respond to at least three other student project drafts
-
-
CSS with Feature Detection; JavaScript: Syntax, Fundamentals, Data Structures Week Nine
-
Monday, October 17 Video
- Revisiting the infamous Grid Disaster of 10/5/2016
- Responsive images
- Feature detection and flexbox
- Node utility: postcss with autoprefixer CLI
-
Wednesday, October 19 Video
- MDN JavaScript Reference
- JavaScript fundamentals: syntax, data types, structures, style
- Working with the JavaScript console (node, browser)
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
- Production Problem 05: The JavaScript Console & Production Problem 06: CSS Flexbox
-
-
JavaScript: Functional and Object-Oriented Programming Styles Week Ten
-
Monday, October 24 Video
- JSHint (Web)
- Functional programming style in JavaScript
- Single-responsibility principle and pure functions in functional programming
- Using functions to control variable scope
- Self-invoking functions to protect the global namespace
-
Wednesday, October 26
- No class; Stolley out sick
Assigned Work
-
To Read
- Eloquent JavaScript 2nd ed., Chapters 5-6, 8-10
-
-
DOM Scripting: JavaScript + the Document Object Model; jQuery/Shoestring Week Eleven
-
Monday, October 31 Video
- Working with domains and nameservers
- Emergency CSS rehabilitation: baseline grids; layout
-
Wednesday, November 2 Video
- Introduce Projects Three and Four
- Object-oriented programming styles: literals and constructor functions
- Essential Web APIs:
window
,document
objects - JavaScript DOM libraries: jQuery, Shoestring
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 07: JavaScript Variable Scope, Production Problem 08: jQuery and the Global Namespace
-
-
Unobtrusive JavaScript & Progressive Enhancement Week Twelve
-
Monday, November 7 Video
- Unobtrusive JavaScript with event listeners
- Progressive enhancement: resizing text content
-
Wednesday, November 9 Video
- Collaborating on GitHub with Pull Requests
- JSHint (CLI)
- ESLint (CLI)
- Progressive enhancement with HTML structure and data- attributes
Assigned Work
-
To Read
- Gustafson, Understanding Progressive Enhancement
- Six Revisions, Progressive Enhancement 101
- W3C, The Principles of Unobtrusive JavaScript
-
To Do
- (If not yet done): Production Problem 07: JavaScript Variable Scope, Production Problem 08: jQuery and the Global Namespace
- Production Problem 09: GitHub Pull Requests
-
-
JavaScript: Non-Blocking Asynchronous Patterns, Page Performance Week Thirteen
-
Monday, November 14
- PP 09 issues/collaborating on GitHub with GitHub Organizations
- Loading external assets and data asynchronously
- HTML forms and form elements
- Project Two due by 11:59pm CT
-
Wednesday, November 16 Video
- JavaScript review and Q&A
Assigned Work
-
To Read
- Eloquent JavaScript 2nd ed., Chapter 22
-
-
HTTP 1.1, HTTP/2, and REST Architecture Week Fourteen
-
Monday, November 21 Video
- HTTP 1.1, HTTP/2, and REST Architecture
-
Wednesday, November 23 - Thanksgiving Break, NO CLASS
Assigned Work
-
To Do
- Work on final project
- Production Problem 10: GitHub Feature Branch
-
-
Parting Material: Server-Side Approaches to Web Development Week Fifteen
-
Monday, November 28 Video
- Assessing server-side libraries/frameworks, using Ruby on Rails as an example
-
Wednesday, November 30
- NO CLASS MEETING. Stolley available electronically to provide help on final projects
Assigned Work
-
To Do
- Finish Final Projects (Three + Redux); Due December 7, 11:59pm
-