Skip to content

Make-School-Courses/WEB-1.1-Web-Architecture

Repository files navigation

Make School Logo

WEB 1.1 (Web Architecture)

This syllabus is a living document! Hold down the SHIFT key and press Refresh to get the latest version.

Course Description

This course is designed to introduce students to the Flask web framework. Students will learn language independent patterns that are repeated across many common servers. The course will cover topics including the request-response cycle, server-side templating, APIs, databases, & unit testing, to help students to build the skills necessary to create custom web sites.

This course covers language-independent web server frameworks and patterns in full-stack web design. Students will use their prior knowledge in HTML, CSS, and JavaScript to build the front-end of a simple web application, and then will learn new concepts to write a supporting back-end. This course covers the request-response cycle, server-side templating, parsing data from an HTML form, HTTP methods, and using APIs. More advanced concepts include document-based databases and controller testing. Prerequisite

Prerequisites:

  1. WEB 1.0 (Web Foundations)

Course Specifics

Course Delivery: online | 7 weeks | 13 sessions

Course Credits: 3 units | 37.5 Seat Hours | 75 Total Hours

Learning Outcomes

By the end of the course, you will be able to ...

  1. Use Flask routes & route variables to create web pages with dynamic content.
  2. Use forms & Jinja2 templates to take user input and display a result.
  3. Make API calls & use/analyze the JSON data to show a result to the user.
  4. Read and write to the MongoDB database using the PyMongo Object Document Mapper (ODM).
  5. Implement Flask route tests to verify the correctness of routes.
  6. Understand how the “create, read, update, deletion” (C.R.U.D) operations form the basis of user interactions in web architecture.

Learning Modules

This course has been broken down into 5 modules for students to approach at their own pace. See the schedule below for recommendations on where you should be at in terms of content completion to help assess your pace.

Although this course has self-pacing elements--attendance is still a requirement! We will be doing activites, checking-in, and learning as a class!
  1. Introduction to the Request/Response Cycle
  2. Setting up and Using Flask Servers
  3. Introduction to C.R.U.D
  4. GET vs POST
  5. Working with Route Variables and Forms
  6. Interacting with Form Data in Flask
  7. Understanding **args and **kwargs
  1. Templating
  2. Named Parameters
  3. Conditional Rendering with Templates
  4. Loops in Templates
  5. Creating Reusable Components via Template Inheritance
  1. Introduction to APIs
  2. C.R.U.D in API's
  3. Working with JSON Objects
  4. Testing API Routes with Postman
  5. Using the Requests Library to Generate User Requests
  1. Working with Virtual Environments and the requirements.txt File
  2. Creating and Managing Environment Variables with dotenv
  3. Leveraging the Datetime Library
  1. Introduction to Databases
  2. SQL vs NoSQL and Introduction to MongoDB
  3. Connecting a Flask Server to MongoDB Cluster
  4. Performing C.R.U.D Operations with PyMongo

Schedule

Course Dates: Monday, March 29 – Wednesday, May 12, 2021 (7 weeks)

Class Times: Monday and Wednesday at 2:45–5:30pm (13 class sessions

Class Date Pacing Recommendations (Complete all lessons up to - )
- Mon, Mar 29 GET vs POST
1 Wed, Mar 31 No Class - Cesar Chavez
2 Mon, Apr 5 Finished Module 1 Assignment
3 Wed, Apr 7 Conditional Rendering with Templates
4 Mon, Apr 12 Finished Module 2 Assignment
5 Wed, Apr 14 Finished Quiz 1 (HARD DEADLINE - CLOSES END OF WEEK)
6 Wed, Apr 19 Working with JSON Objects
7 Wed, Apr 21 Finished Module 3 Assignment
8 Mon, Apr 26 Finished Quiz 2 (HARD DEADLINE - CLOSES END OF WEEK)
9 Wed, Apr 28 Creating and Managing Environment Variables with dotenv
10 Mon, May 3 Finished Module 4 Assignment
11 Wed, May 5 Connecting a Flask Server to MongoDB Cluster
12 Mon, May 10 Finished Module 5 Assignment
13 Wed, May 12 Finished Quiz 3 (Cumulative)

Assignments

Students will complete assignments at their own pace.

Assignments must be turned in via Gradescope for credit!

Assignments should be completed by the recommended date in the above schedules section. Students falling behind should connect with the instructor for help staying on pace!
Any assignments not complete by the final day of class (Wed, Mar 3 & Thu, Mar 4) will be given a score of 0.

Quizzes can be found on Gradescope for credit during the week of their listing.

Quizzes have a HARD DEADLINE date and will close on the Friday of its listed week.

Quizzes can be retaken once, with the final grade being the average of the two final scores.

Students that have completed all assignments with a score of 3 or higher and earned an 80% or greater on their quizzes AUTOMATICALLY PASS QUIZ 3 and will not be required to take it! 🤩
Topic Pacing Date Assignment
1 Tue, Apr 6 Module 1 Assignment: Request/Response
2 Tue, Apr 13 Module 2 Assignment: Forms & Templates
3 Thu, Apr 15 Quiz 1
4 Thu, Apr 22 Module 3 Assignment: More Forms
5 Tue, Feb 16 Quiz 2
6 Tue, May 4 Module 4 Assignment: APIs
7 Tue, May 11 Module 5: Databases

Class Recordings

All class recordings will be available here no later than 24 hours after the class session. For privacy reasons, please do not share the recordings outside of the Make School student body.

Evaluation

To pass this course, you must:

  • Earn an average score of 2 on the Course Learning Outcomes Rubric. Each section's score will be determined by your performance on that week's assignment. The last section's score will be determined by your adherence to deadlines, class participation, & completion of the readings.
  • Pass the 3 quizzes by earning an average score of >70%.
  • Abide by the Attendance Policy.

Attendance Policy

Each student will be allowed 2 (two) unexcused absences and 2 (two) excused absences per course per term. An absence is excused if you reach out to your instructor prior to class to explain why you can't make it. If you exceed the total number of allowed absences, you will be withdrawn from the course.

Late Assignment Policy

Since this class uses a self-pacing model, there will be no late assignments. However, assignments must be turned in by the end of the term or else they will be scored as a 0!

Exceptions will only be made to this rule for extenuating circumstances such as prolonged illness. Please reach out to the instructor if something like this happens to you.

Academic Honesty Policy

At Make School, we highly encourage collaboration between students on assignments. Working with other people is the best way to learn!

However, there's a big difference between collaboration (writing code together with another person) and plagiarism (copying code from a classmate or outside source without providing proper attribution).

Here are some guidelines to follow in order to avoid plagiarism:

  1. If you are looking at an outside source for help, close the window containing the code before writing your own solution.
  2. Do not write down a line of code unless you completely understand how it works. (This is true even if the source you're referencing is the lesson slides/examples/etc!)
  3. If your code is still similar to an outside source or another student's, provide attribution by adding a comment to your code explaining where it was taken from.

We take academic honesty very seriously at Make School. The consequences for violating the policy are as follows:

  • You will be required to write a Self-Reflection Letter to reflect on how your actions affected others.
  • If this is your first offense, you may be permitted to redo the assignment for a reduced grade (at the instructor's discretion).
  • The incident will be added to your permanent record at Make School and you may be placed on a Participation Improvement Plan (PIP).

For subsequent offenses, more serious consequences may be considered. For more information, please see Make School's academic honesty policy.

Information Resources

Any additional resources you may need (online books, etc.) can be found here. You can also find additional resources through the library linked below:

Make School Course Policies

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published