- Course Description
- Prerequisites
- Learning Outcomes
- Schedule
- Class Assignments
- Evaluation
- Make School Course Policies
In this course, students will learn to develop and release standardized server-side applications that include authorized and authenticated users. Techniques include favoring convention over configuration, following a strict RESTful MVC architecture, and emphasizing the role of automated testing.
This course begins by fostering familiarity with framework features, then rapidly moves into building server-side web applications and APIs. Deliverables include at least two completed and deployed applications.
Students by the end of the course will be able to...
- Compare and contrast configuration and convention based frameworks in backend web development.
- Design, implement, and deploy multiple web applications via an opinionated web framework.
- Build SQL-based Object Relationships Manager (ORM) patterns and queries.
- Practice automated testing paradigms.
Course Dates: October 21 through December 12, 2019
Day | Topics | Assignment | Due Before... |
---|---|---|---|
1 | Lesson 1: Discovering Django | Requests & Responses Tutorial | Day 2 |
2 | Lesson 2: Models | Models Tutorial | Day 3 |
3 | Lesson 3: More Models | ||
4 | Lesson 4: Views & URLs | Views & Templates Tutorial | Day 5 |
5 | Lesson 5: Templates: Tying it Together | Wiki Project: v1 Challenges |
Day 7 |
6 | Review Day: Django Core | Forms & Generic Views Tutorial | Day 8 |
7 | Lesson 6:Authentication & Authorization in Django | Wiki Project: v2 Challenges |
Day 9 |
8 | Lesson 7: Working with Forms | ||
9 | Lesson 8: Testing | Testing Tutorial | Day 10 |
10 | Lesson 9: Django REST Framework | Contractor Project Proposal | Day 11 |
11 | Lesson 10: Project Kickoff | Contractor Project | Day 14 |
12 | Lesson 11: Static Files | ||
13 | Lesson 12: Deployment | Static Files & Admin Site | Day 12 |
14 | Lesson 13: Review Day | ||
15 | Final Exam |
Tutorials are to help you get started in a topic. Your progress will be reviewed by your instructor throughout the term. They are graded on completion only.
- Django Tutorials - These will be completed throughout the course. Reference the schedule for due dates.
To pass this course, you must meet the following requirements:
- Complete the Django Tutorial and
makewiki
project. - Pass the Contractor Project according to the rubric
- Pass ALL assessments
- 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.