Covers the fundamentals of full-stack web development and deployment with a strong emphasis on server-side code and functionality. Students will develop a full-stack web application without the use of a pre-existing web server or web framework. Topics include HTTP, APIs, AJAX, databases, encryption, authentication, sockets, privacy, and security.
To do well in this course you are expected to:
There are 5 homework assignments throughout the course. Each homework assignment will consist of:
The following apply to all homework assignments except where exceptions are explicitly stated:
There are 2 exams in the course, a midterm and final exam, whose dates are listed in the course schedule and contain the following objectives:
No electronics or outside material are allowed during the exams. It's just you, the exam, and a writing utensil.
Exams will be completed on paper and will be manually graded. The midterm will be graded out of 40 and the final out of 120 with the following points to LO/AO conversions:
| Midterm Grade | Objectives Completed |
|---|---|
| 36-40 | 4 AOs + The Exam LO |
| 32-35 | 3 AOs + The Exam LO |
| 28-31 | 2 AOs + The Exam LO |
| 24-27 | 1 AO + The Exam LO |
| 20-23 | The Exam LO |
| 0-19 | No objectives completed |
| Final Exam Grade | Objectives Completed |
|---|---|
| 108-120 | 4 AOs + The Exam LO* |
| 96-107 | 3 AOs + The Exam LO* |
| 84-95 | 2 AOs + The Exam LO* |
| 72-83 | 1 AO + The Exam LO* |
| 60-71 | The Exam LO* |
| 0-59 | No objectives completed |
* The exam LO is only completed on the final if it wasn't already earned on the midterm. If it was completed on the midterm, there's no need to complete it a second time (ie. If you did well on the midterm, and you're happy with your grade, you may skip the final exam)
The Learning Objectives of this course are, as the name implies, what you should expect to learn from taking this course. Anyone who has not completed every Learning Objective has not gained the knowledge expected when they enrolled in this course and therefore cannot be assigned a passing grade.
| Learning Objectives Completed | Grade |
|---|---|
| 6 (All 5 HW LOs + The Exam LO) | Grade depends on the number of Application Objectives completed |
| 0-5 | F |
If you have completed all 6 learning objectives, your grade will be determined by the number of application objectives you've completed. Your final letter grade will be determined as follows:
| Application Objectives Completed | Grade |
|---|---|
| 18-22 | A |
| 16-17 | A- |
| 14-15 | B+ |
| 12-13 | B |
| 10-11 | B- |
| 8-9 | C+ |
| 6-7 | C |
| 4-5 | C- |
| 0-3 | F |
You can earn application objectives to improve your grade in this course. You will have the following opportunities to complete application objectives.
There is no textbook for this course. Links to relevant readings and tutorials will be provided in the course schedule.
CSE Department Academic Integrity Policy
In addition to the department and university policies, the following apply to this course:
All violations will result in:
Examples of acceptable behavior:
Examples of unacceptable behavior:
Any student may be challenged by the course staff at any time to prove that they did create the code they submitted for course credit. They must be able to explain their code and walk through their thought process as they wrote the code. The method of proof can vary and is left for the course staff to decide. If the student fails to convince the course staff that they created all the code they submitted for course credit, they will be found in violation of this academic integrity policy. Please note that if a student is in violation of any other part of this policy, it is still a violation even if they can prove that they were the creator of their code (Ex. If they did write their code, but helped someone else cheat).
If challenged, the following excuses are not acceptable:
If you plan on cheating, plan on taking this course again.
| Homework 1: HTTP | ||
| Recitation: No Recitation - Slides | ||
| Monday January 26 |
HTTP - Static Files, MIME Types, and Encodings - Slides |
|
| Wednesday January 28 |
HTTP POST, Forms, and AJAX - Slides |
|
| Friday January 30 |
Databases and HTML Templates - Slides |
|
| Recitation: Yes Recitation | ||
| Monday February 9 |
Review and Examples |
|
| Wednesday February 11 |
Review and Examples |
|
| Friday February 13 |
Review and Examples |
|
| Recitation: No Recitation | ||
| Monday March 16 |
No Lecture |
|
| Wednesday March 18 |
No Lecture |
|
| Friday March 20 |
No Lecture |
|
| Recitation: Yes Recitation - Slides | ||
| Monday, March 30 @ 9:00 AM Homework 3: Application Objective Deadline |
||
| Monday March 30 |
Midterm Review |
|
| Wednesday April 1 |
Midterm Review |
|
| Friday April 3 |
*** Midterm Exam *** |
|
| Recitation: Yes Recitation | ||
| Monday, April 27 @ 9:00 AM Homework 5: Learning Objective Deadline |
||
| Monday April 27 |
Architecture Decisions - Slides |
|
| Wednesday April 29 |
Deployment |
|
| Friday May 1 |
Deployment |
|
| Recitation: No Recitation | ||
| Monday, May 4 @ 9:00 AM Homework 5: Application Objective Deadline |
||
| Monday May 4 |
No Lecture |
|
| Monday May 11 |
Final Exam: 3:30PM - 6:30PM in NSC 215 |
|
Website
GitHub