Section | 1 |
---|---|
Instructor(s) | Cohen, Jeffrey (jeffcohen) |
Location | JCL 011 |
Meeting Times | Wednesday 5:30pm - 8:30pm |
Fulfills | Elective Specialization - Application Development (APP-1) |
Course Description
This course is intended to prepare students with a general programming background to work on modern web applications. Students will learn a strong foundation of core web technologies and protocols, an overview of the major design patterns in the history of web development, and a detailed introduction to the current industry standard. We will have an emphasis on learning from publicly-available documentation, so that students are equipped to learn new techniques and frameworks in this rapidly-evolving field.
Most of the course is focused on modern "front-end" development: client-side interactivity with modern Javascript, single-page applications, and interacting with remote resources using HTTP and REST. But we also cover the basics of back-end development as well.
Please note that lectures are about 2 hours long, but may be slightly longer as needed. In addition, asynchronous videos, about 1 hour per week, are required viewing between classes.
All homework and quizzes are asynchronous, open-note, and open-internet, but quizzes are generally timed. Homework collaboration is encouraged but subject to the department's academic honesty policy.
Course Contents
Course Work
Students will be expected to complete:
Textbooks
MDN Web Docs: https://developer.mozilla.org/en-US/
SQLite Documentation: https://www.sqlite.org/docs.html
Flask Documentation: https://flask.palletsprojects.com/en/2.0.x/
React Documentation: https://reactjs.org/docs/getting-started.html
Office Hours
TBD. May be via Zoom depending on COVID conditions.
Contact Info
jeffcohen@cs.uchicago.edu
Grading Policy
Grades are not curved in this class, and instead are based on the sum of all points students have earned on their quizzes, excercises, and final projects:
Late Policy
Assignments are due within a designated two-week time period rather than hard deadline dates, but late work is generally not accepted.
Tentative Weekly Schedule
Web Pages as Documents
Core Programming
Students must be fluent in at least one programming language, preferably an object-oriented language.
This course requires competency in Unix and Linux. Please plan to attend the MPCS Unix Bootcamp (https://masters.cs.uchicago.edu/page/mpcs-unix-bootcamp) or review the UChicago CS Student Resource Guide here: https://uchicago-cs.github.io/student-resource-guide/
This class is scheduled at a time that conflicts with these other classes: