Fall 2023
Syllabus
This course focuses on the phenomenon known as the World Wide Web (WWW or Web). Its focus is to present many of the core technologies that the Web is based upon. These core technologies include:
- HTML and CSS (Hypertext MarkUp Language and Cascading Style Sheets)
- HTTP (HyperText Transfer Protocol) and HTTP/2
- Web servers, their configuration and performance properties
- Client-side Programming Using JavaScript
- Ajax (Asynchronous JavaScript & XML) and JSON (JavaScript Object Notation)
- Server-side Programming Using Python and JavaScript
In addition the course will also cover the following subsidiary topics:
- Web Services (REST)
- Web Security and Privacy tools, including TOR
- Web Technologies for Mobile Phones (Android and iOS)
- Responsive Website Design
- Cloud Computing (Amazon Web Services, Google Cloud Platform and Microsoft Azure)
- Angular, React and Nodes.js
- Serverless Applications, Microservices, and Containers (Docker)
- AWS Lambda, Google Functions and Azure Functions
- Set up MongoDB Atlas on GCP, AWS or Azure
Learning Objectives
By the end of the course, you should have acquired the following skills:
- Ability to write RESTful API applications
- Ability to set up Cloud services (AWS, GCP, Azure)
- Ability to design and code back-end scripts in Python and JavaScript
- Ability to design and code front-end Web Applications, with HTML, CSS, JavaScript, Angular and React
- Ability to design and code Mobile Apps in Swift/SwiftUI for iOS
- Ability to design and code Mobile Apps in Java/Kotlin for Android
- Ability to design and code web front-end asynchronous applications using AJAX technologies
- Ability to perform "asynchronous" requests using XMLHttpRequest(), fetch(), axios() or jQuery.ajax()
- Ability to design and code responsive web apps, using Bootstrap
- Ability to read Web Services API documentation and use it in building Web applications
- Ability to write MicroServices using AWS Lambda, Google Functions or Azure Functions
- Ability to write Containers such as Dockers
- Ability to set up, configure, load and access a MongoDB Atlas NoSQL database
Two Exams
- Exam #1 around the middle of the course.
- Exam #2 at the end of the course.
Please familiarize yourself with the following Exam Rules:
In-class Exam Rules
- In-class exams will be closed book, closed notes, and no computers or electronic devices, such as smartphones or tablets are allowed.
- Pen vs. Pencil. Using only a pen in an exam.
- Students will be placed in vertical rows.
- All exams are NO QUESTIONS EXAMS.
- Anyone found with class material on their desk will be immediately removed from the exam, their exam taken, and a formal plagiarism report will be filed, recommending an F in the course.
- Anyone found with material on the floor will be deducted 10 points.
- Anyone looking at other people exams / answers will be deducted 10 points.
- Mobile phones will not be allowed on anyone's desk. Anyone that is found/seen with a "visible" mobile phone will be deducted 10 points, and the mobile phone will be confiscated temporarily.
- Nobody will be allowed to leave the exam session before all exam papers have been collected.
- Everyone must attend his/her exam section at the classroom location indicated in the class website, on the basis of the first letter of the student e-mail address. Anyone who is found attending at a different location than the one assigned to them, will be deducted 10 points.
- In class-exams may use paper or the D2L Quiz Tool.
Online Exam Rules
- When exams are Online Only, all sections will have the exam at the same time, unless an accommodation is granted.
- Online Exams will use D2L Quiz Tool.
- Online exams will be closed book, closed notes, closed slides, closed Google Search and closed ChatGPT.
Additionally, online exams taken in-person, have these additional rules:
- Students will be placed in vertical rows.
- All exams are NO QUESTIONS EXAMS.
- Anyone found with class material on their desk will be immediately removed from the exam, their exam taken, and a formal plagiarism report will be filed, recommending an F in the course.
- Anyone found with material on the floor will be deducted 10 points.
- Mobile phones will not be allowed on anyone's desk. Anyone that is found/seen with a "visible" mobile phone will be deducted 10 points, and the mobile phone will be confiscated temporarily.
- Everyone must attend his/her exam section at the classroom location indicated in the class website, on the basis of the first letter of the student e-mail address. Anyone who is found attending at a different location than the one assigned to them, will be deducted 10 points.
Student Scheduling Conflicts
No student is permitted to omit or take early an exam.
Students should plan in advance to avoid scheduling conflicts in their exams.
D-clearance for "overlapping" courses will be denied.
Scoring of Exams
Scoring of exams will be maintained on DEN D2L. Statistics will be provided.
Development Homeworks
Numerous development homeworks will be given during the semester. To receive full credit for work done, links to working code and source code must be submitted by the end of the day on the day on each assignment respective deadline.
Each homework has its own evaluation criteria. But two general criterias that your work should meet are:
- Validity
- Does it do what it is supposed to do? Does it produce the specified outcomes, and handle error conditions correctly and elegantly?
- User Interface
- Are the web pages, (i.e. user interface) designed so the client can easily navigate and find the information he is searching for?
Weight of homework assignments
In this course, the homework assignments have different weight. Homework assignments provide 50 points, split as follows:
- Homework 1: 10 points
- Homework 2: 10 points
- Homework 3: 15 points
- Homework 4: 15 points
Scoring of homeworks
Scoring of homeworks will be maintained on DEN D2L.
When to turn in your homeworks
The homeworks in this course and their due dates are specified in the Lectures page and the Homework Assignments page and on DEN D2L. On the date that the homework is due, it may be uploaded at any time up to 11:59PM on DEN. Our objective is that you always complete the homeworks as they are a valuable part of the learning experience. Partial solutions are much better than no solutions.
Late Homework Policy
There is no late homework policy. All assignments have a strict deadline, and uploads after the deadline are restricted.
Mobile Final Project Demonstrations
Homework Assignment #4 demonstations (Final Mobile Project) will be submitted online during Finals Week.
A Zoom recorded video will be submitted to DEN D2L with the solution to Homework Assignemnt #4, using mobile emulators.
Grading
The following table shows the percentages for the 4 graded homeworks and the 2 exams, to make up the final score, used to compute student's final grade.
Homework Assignments |
60% |
Exam 1 |
20% |
Exam 2 |
20% |
All exams and homework assignments are required.
Re-Grading of Homeworks
- Requests for regrading of homework assignments is available, for 1 calendar day, starting the day the scores are published on DEN, and a corresponding Piazza announcement of their availability has been made. Re-grading is by Google Form exclusively, and only a single item will be able to be regraded. Assignment scores are "signed" by each grader using the two-letters listed in the class home page, under Teaching Staff - Graders. There is no re-grading of homework assignments after the 1-day period. There is no re-grading of Homework #9.
Re-Grading of Exams
- Regrading of online or in-classroom exams using D2L Quiz Tool is limited to one question. An online form will be available to select your question to regrade. There will be no regrading by e-mail or on Piazza.
- In-classroom exams will be available through D2L / CrowdMark.
- Regraded exams will also be available through D2L / CrowdMark.
- Once regrading has been completed, and annunced on Piazza, discussion of regraded answers will terminate, on Piazza, by e-mail or during office hours.
Final Grade
Grading Scale (Preliminary)
Grades will be based on a curve that operates in favor of the students, with at least the following grades for a given percentage x. If the average in the class is lower than 80%, the average will become the cut-off between a B- and a C+.
If the average in the class is higher than 83%, 83% will become the cut-off between a B- and a C+.
(Important Note: this grading scale is subject to change before the start of classes).
Please note that for graduate students pursuing Master and Doctoral degrees, B or higher should become a Pass, when the student is on a P/NP instead of Letter grade.
For undergraduate students pursuing a Bachelor degree, C- or higher should become a Pass, when the student is on a P/NP instead of Letter grade.
Final Grades Availability
For in-class courses, final "letter" grades will be available EXCLUSIVELY online on the OASIS system. Final grades will not be posted on the class website and will not be available by e-mail request. When final grades are submitted to the Grade dept., an appropriate announcement will be posted on Piazza.
Do not inquire with the Instructors about the availability date of your grade. Any such inquiries will end up in the bit bucket. To contact the Grade Dept., please see the info at:
For online courses, final "letter" grades should be expected to be available online on D2L about 3-4 days from the due date of the Final Mobile Project, and subsequently on the OASIS system.
http://arr.usc.edu/services/grades/grs.html
According to their FAQ, "The university releases grades on OASIS five days after the last day of finals, as shown on the Academic Calendar page." Sometimes students may see their course grades in OASIS (the student portal) the day after the professor submits grades.