This document contains a tentative week-by-week description of the topics and technologies covered during each class. This schedule of in-class exercises is designed to prepare students for success in project development endeavors and to pace project development progress. Students are encouraged to help each other complete in-class exercises.
Client-side technologies will be in focus during the entire semester, while server-side technologies will be introduced during the latter half. A final exam will be administered on the date and time specified by the university’s final exam schedule.
Class No. | Date | Topic(s) | Tools and Technologies in Focus | Course Materials |
---|---|---|---|---|
1 | 2017-01-19 | Course Introduction | Slack | Student Survey |
1 | 2017-01-19 | Version Control, Open Source, and Website Hosting | Git, GitHub, GitHub Pages | Fork the Repo Exercise, Version Control Exercise |
2 | 2017-01-26 | Client-side Development Environment Setup | Text editor, web browser, local web server, Git client | N/A |
2 | 2017-01-26 | Command-line Computing | Terminal (Mac) or Command Prompt (Windows) | Command-line Computing Exercise |
3 | 2017-02-02 | The Internet | HTTP/HTTPS | Computer Networks Overview |
3 | 2017-02-02 | Website Structure | HTML | Website Checkpoint I, CRUD App Checkpoint I |
4 | 2017-02-09 | Website Style and Design | CSS, Twitter Bootstrap Components and CSS | Website Checkpoint II, CRUD App Checkpoint II |
5 | 2017-02-16 | Basic Website Interactivity | JavaScript, Twitter Bootstrap JavaScript plugins, jQuery | Website Checkpoint III |
N/A | 2017-02-22 | N/A | N/A | Personal Website (15%) due by 11:59pm |
N/A | 2017-03-01 | N/A | N/A | Personal Website Peer Evaluations (5%) due by 11:59pm |
Class No. | Date | Topic(s) | Tools and Technologies in Focus | Course Materials |
---|---|---|---|---|
6 | 2017-02-23 | Client-side Scripting | JavaScript | JavaScript Language Overview |
6 | 2017-02-23 | The Document Object Model (DOM) | JavaScript, jQuery, D3.js | DOM Overview, DOM Exercise, CRUD App Checkpoint III |
7 | 2017-03-02 | Data-driven Documents | JavaScript, jQuery, D3.js | Browser Window Overview, Data-driven Documents Exercise |
8 | 2017-03-09 | Client-side Data Processing and Transformation | JavaScript, D3.js | D3 Data Processing Overview, Changing Datasets Exercise |
9 | 2017-03-16 | Spring Break (no class) | N/A | N/A |
10 | 2017-03-23 | Software Licenses and Intellectual Property | N/A | Choose a License |
10 | 2017-03-23 | Interactive Charts and Graphs | Highcharts.js | Highcharts Overview, Interactive Charts Exercise |
10 | 2017-03-23 | Interactive Maps | Leaflet.js | Leaflet Overview, Interactive Maps Exercise |
11 | 2017-03-30 | Network Requests and Responses | HTTP | HTTP Request Methods (focusing on GET), HTTP Response Statuses |
11 | 2017-03-30 | Asynchronous JavaScript (AJAX) | JavaScript, jQuery, D3.js | AJAX Notes, Fetch the Data Exercise |
11 | 2017-03-30 | Dataviz Project Support Session | N/A | N/A |
N/A | 2017-04-05 | N/A | N/A | Data Visualization (25%) due by 11:59pm |
N/A | 2017-04-12 | N/A | N/A | Data Visualization Peer Evaluations (5%) due by 11:59pm |
Class No. | Date | Topic(s) | Tools and Technologies in Focus | Course Materials |
---|---|---|---|---|
12 | 2017-04-06 | Server-side Development Environment Setup | Node.js, Express.js, Heroku Toolbelt | Node.js Overview, Node Package Management Overview, Server-side JavaScript Exercise |
12 | 2017-04-06 | Web Application Generation | Node.js, Express.js | Express Overview, CRUD App Checkpoint IV - Generation |
12 | 2017-04-06 | Web Application Routing and Views | Node.js, Express.js | CRUD App Checkpoint VI - Navigation and Routing |
13 | 2017-04-13 | Web Application Hosting | Node.js, Express.js, Heroku Toolbelt | Servers Overview, Heroku Overview, CRUD App Checkpoint V - Deployment |
14 | 2017-04-20 | Web Application CRUD | HTTP, JavaScript, jQuery, D3.js | REST Architecture Overview, CRUD App Checkpoint VII - Reading Records |
15 | 2017-04-27 | Sending Data | HTTP, JavaScript, jQuery, D3.js | HTTP Request Methods (focusing on POST) |
15 | 2017-04-27 | Web Application CRUD (cont'd) | HTTP, JavaScript, jQuery, D3.js | CRUD App Checkpoint VIII - Creating, Updating, and Destroying Records |
N/A | 2017-05-07 | N/A | N/A | CRUD App (25%) due by 11:59pm |
N/A | 2017-05-10 | N/A | N/A | CRUD App Peer Evaluations (5%) due by 11:59pm |
In case you're interested, perhaps during the summer or sometime after the semester ends, follow these checkpoints to learn how to make the Robots API for yourself.
Class No. | Date | Topic(s) | Tools and Technologies in Focus | Course Materials |
---|---|---|---|---|
16 | 2017-05-04 | Retrospective | N/A | N/A |
16 | 2017-05-04 | Final Exam Preparation Session | N/A | N/A |
16 | 2017-05-04 | Project Support Session | N/A | N/A |
17 | 2017-05-11 (7:30pm to 9:30pm) | Final Exam | N/A | Final Exam (20%) |