This course covers the three major patterns or architectures that make the web work; REST, Resources, and MVC. Students will learn language independent patterns that are repeated across many common servers. Other key concepts covered include server-side templating, controller testing, associating and nesting resources, state, convention over configuration, and the request-response cycle.
- Make School Prework / RAMP
Course Delivery: online | 7 weeks | 14 sessions
Course Credits: 3 units | 37.5 Seat Hours | 75 Total Hours
- Explain the MVC architecture for web server development.
- Use Resourceful Routes and explain the importance of Resourceful web architecture.
- Read and write to a Document-Based (NoSQL) database using a Object Document Mapper (ODM)
- Use Web application frameworks, middleware packages, and server-side templating.
- Implement controller testing patterns.
Class | Date | Topics | Quiz Topic |
---|---|---|---|
1 | Tue, Oct 22 | Static Website | |
2 | Thu, Oct 24 | Git and GitHub | |
3 | Tue, Oct 29 | Intro to Flask | |
4 | Thu, Oct 31 | Flask Templating + Documentation | |
5 | Tue, Nov 5 | APIs | |
6 | Thu, Nov 7 | APIs Lab Day | Quiz 1 |
7 | Tue, Nov 12 | Testing | |
8 | Thu, Nov 14 | More Testing | |
9 | Tue, Nov 19 | Document-Based Databases | |
10 | Thu, Nov 21 | Review Day | Quiz 2 |
11 | Tue, Nov 26 | ERDs, Resource Associations, and MongoDB | |
- | Thu, Nov 28 | NO CLASS - Thanksgiving | |
12 | Tue, Dec 3 | RESTful APIs and Deployment Environments | |
13 | Thu, Dec 5 | Lab Day | Quiz 3 |
14 | Tue, Dec 10 | Lab Day | |
15 | Thu, Dec 12 | Final Contractor Project Presentations |
All due dates are at 11:59 PM, PST on the date specified.
Assignment | Date Assigned | Due Date | Submission Form |
---|---|---|---|
Homework 1 | Tue, Oct 22 | Mon, Oct 28 | Submit Homework |
Homework 2 | Tue, Oct 29 | Mon, Nov 4 | Submit Homework |
Homework 3 | Thu, Nov 5 | Thu, Nov 14 | Submit Homework |
Playlister Tutorial | Tue, Nov 19 | Tue, Nov 26 | Submit Playlister |
Contractor Project MVP | Tue, Nov 26 | Mon, Dec 9 | Submit Contractor Project |
Contractor Project Final Submission | - | Thu, Dec 12 | Submit Contractor Project |
Tutorials are to help you get started in a topic. They are graded on completion only.
- Playlister (must have at least 10 agile commits)
Homework assignments are designed to allow you to practice the skills learned in class. They are graded on completion only.
Projects are designed to allow you to explore the class topics in more depth by completing a project of your choosing.
There will be a total of 3 quizzes given throughout the term, each covering roughly 1/3 of the course's material. Quizzes will be allotted 30 minutes each at the beginning of class, and each quiz has an associated Study Guide.
Quiz grades will be handed back using Gradescope. Students may view their grade and prior work in preparation for the next quiz or retake. It is prohibited to share the quiz content with any other student in the course, and doing so will result in disciplinary action.
Any student scoring <70% on a quiz must retake it in order to demonstrate mastery of the concepts. Quiz retakes will be offered at specified times following the quiz (dates/times TBD), or by appointment.
To pass this course, students must meet the following requirements:
- Complete all required coding tutorials:
- Complete all required homework assignments
- Complete all required coding projects (this includes all commit requirements and homework related to each project):
- Contractor Project (Rubric)
- Submit all code and writing with rubric scores by the due dates listed above
- Score an average of 70% on all quizzes offered
- Quiz retakes are required for scores lower than 70%; retake score overrides previous score
- Actively participate in class and abide by the attendance policy
- Make up all classwork from all absences
To pass each project or tutorial, students must earn the required number of points or higher indicated on the associated rubric. Note that all points within one project or tutorial submission are fungible (that is, interchangeable) and so if one portion of work is below the "Met All Expectations" column of the rubric, another portion of work submitted can "Exceed Expectations" (generally by completing stretch challenges) to earn an extra point to make up for the missing one. Therefore, it's wise to complete stretch challenges as "insurance" in case some work does not meet expectations.
Another way to think of the submissions is a game where your goal is to earn enough points to pass in whatever way you see fit, with rubrics as the rules of the game that you can optimize against and "win" to pass the course.
The instructor or teaching assistants will review students' submissions and verify or correct their self-assessed scores, then share feedback with the student through a GitHub issue opened on their repository. Feedback will include their status on that submission (that is, whether their work is passing the rubric). Resubmissions will not be considered unless the instructor has approved a resubmission in writing due to exceptional circumstances.
Any additional resources you may need (online books, etc.) can be found here. You can also find additional resources through the library linked below: