CS498RK        SPRING 2020 UIUC    
    WEDNESDAY AND FRIDAY    
    2PM-3.15PM        DCL 1310    
Client-Server Architecture
OVERVIEW
Presents client- and server-side technologies that enable modern Web applications. Topics include the building blocks of the Web (HTML, CSS, the Document Object Model, JavaScript) and data exchange (HTTP, JSON, RESTful APIs, and SQL/NoSQL databases). Programming assignments will expose students to CSS preprocessors, grid systems, and full-stack JavaScript frameworks that scaffold development and testing. In addition, students will work in teams to design, implement and deploy a full-featured web application. Prerequisites: CS225.
LECTURES AND LABS
This course consists of lectures and labs. While lectures cover conceptual and theoretical material, labs walk students through concrete code and help them get started on the assignments. To get the most out of the lab sessions, students should bring their laptops to class and follow along.
ASSIGNMENTS
This course centers around four MPs, and a final project (FP), in which students build an original web application in 3-5 person teams. Late assignments will receive absolutely no credit; however, each student gets three 24-hour late days that can be used for MPs. (Late days cannot be used for the final project.)
EXAMS
There is an in-class midterm; if you cannot attend the midterm for some reason, you will need to make alternative arrangements at least two weeks in advance. There is no final exam.
ACADEMIC INTEGRITY POLICY
Students are encouraged to use any and all resources available to complete programming assignments. However, students must clearly cite any contributing source. Support libraries that provide assigned functionality may not be linked or copied into programming assignments, but their source code may be consulted provided it is subsequently cited. It is absolutely essential to note that failure to cite any contributing source will be considered cheating regardless of the reason for the omission. Likewise, verbatim duplication of any source will always be considered plagiarism.
Client-Server Architecture
STAFF
Deniz Arsan
OH: Fri 3:30pm - 4:30pm, Zoom: https://illinois.zoom.us/j/5311743771
Jinda Han
OH: Wed 3:30pm - 4:30pm, Zoom: https://illinois.zoom.us/j/7257656213
Wanxian Yang
OH: Thu 3:30pm - 4:30pm, Zoom: https://illinois.zoom.us/j/2586240031
Zhuohao Zhang
OH: Tue 3:30pm - 4:30pm, Zoom: https://illinois.zoom.us/j/621416575
Jeremy Hu
Chen Qian
Zhilin Zhang
GRADING
10%      MP0: The Basics
30%      MP1: Single Page Website
30%      MP2: Frontend App
30%      MP3: Backend App
(EC)       MP4: To-Do App
SYLLABUS
WEEK 1
Jan 22
Introduction
Overview, Administrivia
MP0 Out
Jan 24
HTML
Document Object Model, Layout Engines
WEEK 2
Jan 29
CSS
Selectors, Box Model, Preprocessors
Jan 31
Javascript
Language Fundamentals
WEEK 3
Feb 5
Javascript
Scoping, Closure
MP0 Due, MP1 Out
Feb 7
Javascript
DOM Manipulation, Events
WEEK 4
Feb 12
Advanced JS/CSS
ES6, Flexbox
Feb 14
Responsive Design
CSS Grid, Media Queries
WEEK 5
Feb 19
Data Binding
HTTP, AJAX, JSON, REST
MP1 Due
Feb 21
Front End Libraries & Frameworks
Intro to React, Vue, Angular, etc.
WEEK 6
Feb 26
React
MP2 Out
Feb 28
React
WEEK 7
Mar 4
Databases
SQL, NoSQL, MongoDB
Mar 6
RESTful APIs
REST, WebAPIs, API Design
WEEK 8
Mar 11
Async Programming
Callback Hell, Promises, async/await
MP2 Due, MP3 Out
Mar 13
Back End
Node, Express
FP Groups Due
WEEK 9
Mar 18
Spring Break -- NO CLASS
Mar 20
Spring Break -- NO CLASS
WEEK 10
Mar 25
UI/UX Design
Ideation, Prototyping, Usability
Mar 27
UI/UX Design
Heuristic Evaluation, Visual Design
WEEK 11
Apr 1
Cookies, Sessions
Slides:12
Apr 3
Guest Lecture: Typescript
Speaker: Volkan Gül
WEEK 12
Apr 8
Web Sockets
CORS, Sockets
Apr 10
Guest Lecture: React Native
Speaker: Sujay Khandekar
WEEK 13
Apr 15
Guest Lecture: Digital UX Testing and Optimization
Speaker: Ranjitha Kumar
MP4 (Extra Credit) Out
Apr 17
Testing
MP3 Due
WEEK 14
Apr 24
Guest Lecture: Scaling with AWS
Speaker: Yuan Shen
WEEK 15
Apr 29
Guest Lecture: User Authentication
Speaker: Jason Situ
May 1
NO CLASS
WEEK 16
May 6
NO CLASS
MP4 (Extra Credit) Due