Date
| Topic
| Activity
| Readings
| Due
|
Jan 10 Week 1 |
Course Introduction
Document Content HTML
Example
Video
|
|
Information Management: A Proposal
Crazy and Wonderful State of Web Development
The Basics of HTML
|
Experience Survey, Fri
|
Jan 15
Week 2 |
MLK, Jr Day - NO CLASS
SNOW - NO CLASS
|
GITing Started |
The Basics of CSS
Guide to Versioning Systems
|
|
Jan 22 Week 3 |
Document Style
CSS
Example
Video
|
CSS Layout |
Page Layout with CSS
Design and Coding
|
Introductions, Part 1, Mon
Introductions, Part 2, Thu
|
Jan 29 Week 4 |
Making Web Pages Responsive
Bootstrap
Example
Video
|
Bootstrap |
Responsive Web Design Basics
CSS Preprocessors
Bootstrap: What, How, and Why
|
CSS Zen Garden, Tue |
Feb 5 Week 5 |
Making Web Pages Interactve
JavaScript
Examples
Video
|
JavaScript |
JavaScript for Java Developers
Classes in JavaScript
JavaScript Debugging for Beginners
|
Responsive List, Mon |
Feb 12 Week 6 |
Understanding Document Structure
jQuery and AJAX
Examples
Video
|
jQuery |
What is jQuery?
jQuery in Steps
jQuery and JavaScript Equivalents
Useful Javascript Debugging Tips
|
Game, Mon |
Feb 19 Week 7 |
Frameworks and Binding Data
Vue.js
Examples
Video
|
Vue |
Working with JSON Data
Vue.js, a JS framework for humans
MVVM JavaScript Design Pattern
|
Image Gallery, Tue |
Feb 26 Week 8 |
Persisting and Sharing Data
Firebase
Examples
Video
|
Project Work |
NoSQL Databases Overview
A Look at the New Firebase
Firebase Data Modeling: Parts
1 and
2
Firebase Interactive Tutorial |
Trello, Basic, Sun |
Mar 5 Week 9 |
VMs, Servers, and Structure of the Web
Guest: Mark McCahill
Video
|
Project Work |
How Does the Internet Work?
Complete Vue.js Application
|
|
Mar 12 |
SPRING BREAK |
|
|
|
Mar 19 Week 11 |
Client/Server with Node.js
Vue Web Components
Examples
Video
|
No Lab |
Web Application Architecture
What is Node.js?
Building Reusable Custom Components
|
|
Mar 26 Week 12 |
Programming the Web: Using APIs
What are APIs?
Example
Video |
Node |
Web Services and Distributed Computing
Web 2.0 Movement
LOTs of API tutorials
|
Trello, Final, Mon
Final Project, Topic, Fri |
Apr 2 Week 13 |
Designing the User Experience
Guest: Joel Crawford-Smith, Duke Web Services
Designing Accessible Sites
Video
|
Mashup
Client Deployment |
Why Users Like Mindless Choices
Building Web Apps for Everyone
|
Quiz, Tue
|
Apr 9 Week 14 |
Programming the Web: Making REST APIs
Example
Video
Web Page UX Design with User Testing
Guest: Sean Aery, Duke Library
Video
|
No Lab
Server Deployment |
REST Web Services
Server-side Programming
Express and Node Introduction
|
Final Project, Plan, Mon
Explore, Fri |
Apr 16 Week 15 |
Authenticating Users
Testing Web Pages
Example
Video
|
No Lab |
Why Test-Driven Development?
TDD with Vue.js
Vue.js Unit Tests Jest
|
|
Apr 23
Week 16 |
Internet Security
Guest: Iain Hadgraft, Duke OIT Web Services
|
No Lab |
Basics of Web App Security
OWASP Top Ten Critical Web App Security Risks
Building for the Modern Web is Really, Really Hard
|
Final Project, Complete, Sun
|
April 30
9am-12pm |
Final Project Presentations |
|
|
Final Project, Demo, Mon |