|Instructor(s)||Cohen, Jeffrey (jeffcohen)|
|Fulfills||Elective Specialization - Application Development (APP-1)|
*Please note: This is the syllabus from the 2021/22 academic year and subject to change.*
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.
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.
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)
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
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:
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
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.