| Section | 1 |
|---|---|
| Instructor(s) | Austin, Trevor (trevoraustin) |
| Location | Ryerson 251 |
| Meeting Times | Friday 5:30pm - 8:30pm |
| Website: | https://canvas.uchicago.edu/courses/38721 |
| Fulfills | Elective Specialization - Application Development (APP-1) |
Course Description
This course is intended to prepare students with a general programming background to work on teams producing 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.
Specifically, the course will cover content layout and styling with HTML and CSS, dynamically generating page content on the web server, interacting with databases, interacting with remote resources using HTTP and REST, client-side interactivity with modern Javascript, and the creation of single-page applications.
This course uses agile software techniques to build real, working software each week. We will work as closely as possible to how software is developed in industry, and all work is asynchronous, open-note and open-internet, with collaboration encouraged.
Course Contents
Exercises
Students will be expected to complete:
8 take-home quizzes about the material covered in class (40 points)
6 programming exercises due before class on weeks 2, 3, 4, 5, and 6, 7 (30 pts)
1 final project due by the end of finals week (30 pts)
Textbooks
MDN Web Docs: https://developer.mozilla.org/en-US/
PHP Documentation: https://www.php.net/docs.php
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
Contact Info
trevoraustin@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
Exercises and quizzes are due at the start of the class. Late Exercises are accepted, but penalized 1 point, and 1 additional point for each full week they are late.
Tentative Weekly Schedule
Web Pages as Documents
Web Pages as Catalogs
Web Applications
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 take the online MPCS Unix Bootcamp Course on Canvas.
This class is scheduled at a time that does not conflict with any other classes this quarter.