Section | 1 |
---|---|
Instructor(s) | Austin, Trevor (trevoraustin) |
Location | Ryerson 251 |
Meeting Times | Friday 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 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 webserver, 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 on how software is developed in the industry, and all work is asynchronous, open-note, and open-internet, with collaboration, encouraged.
Course Contents
Tentative Weekly Course Schedule
Week 1 (Exercise #1):
Week 2 (Exercise #2):
Week 3 (Exercise #3):
Week 4 (Exercise #4):
Week 5 (Exercise #5):
Week 6 (Exercise #6):
Week 7 (Exercise #7):
Week 8 (Exercise #8):
Week 9 (Exercise #9):
Week 10:
Exercises: Students will be expected to complete:
References
Office Hours
By appointment
Grading Policy
Grades are not curved in this class, and instead are based on the sum of all points students have earned on their participation, exercises, and final project:
Late Policy
Exercises and quizzes are due the day before the class. Late Exercises are accepted but penalized 1 point per hour.
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. If you attended the MPCS Unix Bootcamp you covered the required material. If you did not, please review the UChicago CS Student Resource Guide here: https://uchicago-cs.github.io/student-resource-guide/.
This class is scheduled at a time that does not conflict with any other classes this quarter.