ITP 303: Full-Stack Web Development
Units: 4
Fall 2023
Tue | DMC 203 | 4pm-7:20pm
Thu | THH 114 | 4pm-7:20pm
Instructor: Hannah Nguyen
Office Hours: See Blackboard
Contact Info: hnguy[email protected]
IT Help: Provided by Viterbi IT
Hours of Service: 8am 5pm, Mon-Fri
Walk-in: DRB 205
Contact Info: (213) 740-0517
Course Description
This course is intended for students who have completed at least one fundamental computer programming course
and want to learn how to build a fully functional web application. Prior web programming skills are not required.
This is a hands-on course where students will learn core web technologies by creating web pages and applications
every week. Students will first create static websites using core front-end languages such as HTML, CSS, JavaScript.
Then students will learn basic database design and implement them using relational database management
systems (RDBMS). Students will write and submit SQL queries to databases and create data interfaces using PHP.
Students will also be exposed to common frameworks and libraries such as Bootstrap (CSS), jQuery (JS), and Laravel
(PHP).
Learning Objectives
Students will:
Build a complete web application from scratch utilizing core web technologies.
Create static, responsive web pages using HTML and CSS.
Implement interactivity on web pages using vanilla JavaScript.
Design databases.
Write SQL queries to create, retrieve, update and delete records from databases.
Identify advantages of using web frameworks and libraries such as Bootstrap, jQuery, and
Laravel.
Prerequisite(s): ITP 265 or CSCI 103
Technological Proficiency and Hardware/Software Required
Students should have access to their own computers running either Windows, MacOS, or Linux, and should be
familiar with the basic operation of their computers.
Syllabus for ITP 303, Page 2 of 6
Grading Breakdown
Attendance & Participation
5%
Assignments
50%
Midterm Exams
30%
Final Project
15%
Total
100%
Grading Scale
Course final grades will be determined using the following scale:
A
93% or up
A-
90% - 92%
B+
87% - 89%
B
83% - 86%
B-
80% - 82%
C+
77% - 79%
C
73% - 76%
C-
70% - 72%
D+
67% - 69%
D
63% - 66%
F
62% or below
Syllabus for ITP 303, Page 3 of 6
Exams
No make-up exams will be offered. Failure to submit an exam on time or submitting blank work will result in a 0%
for the exam grade.
Attendance & Participation
Lecture attendance is mandatory; each student can miss one (1) lecture without losing attendance & participation
credit.
Assignment Extensions
Each student is given five (5) no questions asked extension days to use throughout the semester. Extensions may
only be used for assignments and a maximum of two (2) extensions may be used for the final project. They cannot
be used for Attendance & Participation questions, nor Exams. To receive a grade, students must notify the grader
once the late assignment is submitted.
Grade Corrections
Any questions or concerns regarding grades must be addressed within seven (7) days after grades are posted. No
changes to any grades will be made after seven (7) days.
Academic Integrity
All coursework is expected to represent each student’s individual effort. Students may not collaborate, share, or
look at other students’ code.
Course Material
All lectures will be recorded and made available to students enrolled in the course. These class recordings are made
available only for access by students in this class for educational purposes only and shall not be disclosed to any
other party for any purpose.
Students may not reproduce, distribute, or post any course material, including notes, assignments, labs, and tests,
without the instructor’s written consent. Refer to SCampus in Part B, Section 11.12 for more information
https://policy.usc.edu/scampus/.
Syllabus for ITP 303, Page 4 of 6
Course Schedule
Note: Subject to change throughout the semester
Week
Lecture
Assignment
1
Course Overview
HTML & CSS
A1: Web Resume
2
Page Layouts,
Compound CSS Selectors, Display
A2: Interests Page
3
Fonts, Position Property,
Transitions, Transformations
A3: Fonts, Drop-down Menu, Overlay Captions
4
Responsive Web Design,
CSS Frameworks, Bootstrap
A4: Responsive Interests Page
5
Intro to JavaScript,
Keyboard & Form Events, RegEx
A5: Registration Form Validation
6
DOM Manipulation
A6: DOM Manipulation
7
JavaScript Objects, JSON, AJAX
A7: The Movie DB
8
DOM Storage
A8: Dashboard w/ Storage
M1: Final Project Proposal
9
Client-Side Exam
10
Database Basics, Designing Databases
Intro to SQL
A9: Football Schedule DB Design
M2: Final Project Front-End Pages
11
Data Manipulation in SQL,
Intro to PHP
A10: SQL Statements
12
CRUD
A11: DVD CRUD Pages
13
Include, Require, Constants, Pagination,
Sessions, Cookies, Membership System
14
AJAX: JS & PHP,
cURL, REST APIs
M3: Final Project Database
15
Server-Side Exam
(Finals)
Final Projects Due
Syllabus for ITP 303, Page 5 of 6
Statement on Academic Conduct and Support Systems
Academic Conduct
Plagiarism presenting someone else’s ideas as your own, either verbatim or recast in your own words is a
serious academic offense with serious consequences. Please familiarize yourself with the discussion of plagiarism in
SCampus in Part B, Section 11, “Behavior Violating University Standards” https://policy.usc.edu/scampus-part-b/.
Other forms of academic dishonesty are equally unacceptable. See additional information in SCampus and
university policies on scientific misconduct, http://policy.usc.edu/scientific-misconduct.
Support Systems
Student Counseling Services (SCS) - (213) 740-7711 24/7 on call
Free and confidential mental health treatment for students, including short-term psychotherapy, group counseling,
stress fitness workshops, and crisis intervention. https://engemannshc.usc.edu/counseling/
National Suicide Prevention Lifeline - 1-800-273-8255
Provides free and confidential emotional support to people in suicidal crisis or emotional distress 24 hours a day, 7
days a week. http://www.suicidepreventionlifeline.org
Relationship and Sexual Violence Prevention Services (RSVP) - (213) 740-4900 - 24/7 on call
Free and confidential therapy services, workshops, and training for situations related to gender-based harm.
https://engemannshc.usc.edu/rsvp/
Sexual Assault Resource Center
For more information about how to get help or help a survivor, rights, reporting options, and additional resources,
visit the website: http://sarc.usc.edu/
Office of Equity and Diversity (OED)/Title IX Compliance (213) 740-5086
Works with faculty, staff, visitors, applicants, and students around issues of protected class. https://equity.usc.edu/
Bias Assessment Response and Support
Incidents of bias, hate crimes and microaggressions need to be reported allowing for appropriate investigation and
response. https://studentaffairs.usc.edu/bias-assessment-response-support/
The Office of Disability Services and Programs
Provides certification for students with disabilities and helps arrange relevant accommodations. http://dsp.usc.edu
Student Support and Advocacy (213) 821-4710
Assists students and families in resolving complex issues adversely affecting their success as a student EX: personal,
financial, and academic. https://studentaffairs.usc.edu/ssa/
Diversity at USC
Information on events, programs and training, the Diversity Task Force (including representatives for each school),
chronology, participation, and various resources for students. https://diversity.usc.edu/
USC Emergency Information
Provides safety and other updates, including ways in which instruction will be continued if an officially declared
emergency makes travel to campus infeasible, http://emergency.usc.edu
USC Department of Public Safety 213-740-4321 (UPC) and 323-442-1000 (HSC) for 24-hour emergency assistance
or to report a crime.
Provides overall safety to USC community. http://dps.usc.edu
Syllabus for ITP 303, Page 6 of 6