/BEW-1.2-Authentication-and-Associations

🐍 Build server-side web applications and APIs via industry-standard techniques.

Primary LanguageCSS

BEW 1.2: Authentication, Associations, & Advanced Queries

  1. Course Description
  2. Prerequisites
  3. Learning Outcomes
  4. Schedule
  5. Class Assignments
  6. Evaluation
  7. Make School Course Policies

Course Description

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.

Prerequisites

Learning Outcomes

Students by the end of the course will be able to...

  1. Compare and contrast configuration and convention based frameworks in backend web development.
  2. Design, implement, and deploy multiple web applications via an opinionated web framework.
  3. Build SQL-based Object Relationships Manager (ORM) patterns and queries.
  4. Practice automated testing paradigms.

Schedule

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

Class Assignments

Tutorials

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.

Projects

Evaluation

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.

Make School Course Policies