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
  • 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
  • AWS Lambda, Google Functions and Azure Functions

Learning Objectives

By the end of the course, you should have acquired the following skills:

  1. Ability to write RESTful API applications
  2. Ability to set up Cloud services
  3. Ability to design and code back-end scripts in Python and JavaScript
  4. Ability to design and code front-end Web Applications
  5. Ability to design and code Mobile Apps in Swift or Java
  6. Ability to design and code web front-end asynchronous applications using AJAX technologies
  7. Ability to design and code responsive web apps
  8. Ability to read Web Services API documentation and use it in building Web applications

Two Exams

  • Exam #1 around the middle of the course.
  • Exam #2 at the end of the course.

Both exams will be closed book, closed notes, and no computers or electronic devices, such as smartphones or tablets are allowed.

Please familiarize yourself with the following Exam Rules:

In-class Exam Rules

  • Pen vs. Pencil. Using only a pen in an exam.
  • Students will be placed in vertical rows.
  • Only students by the two hallways and the front row will be allowed to ask questions.
  • 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.

Online Exam Rules

  • Online Exams will use D2L Quiz Tool.
  • Online Exams will use Respondus LockDown Browser to prevent cheating during the exams.
  • Online Exams will use Respondus Monitor for automated proctoring using the student's webcam.

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.

Development Homeworks

Numerous development homeworks will be given during the semester. To receive full credit for work done, code must be submitted by the end of the day on the day they are due.

Each homework has its own evaluation criteria. But two general criterias that your work should meet are:

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 3: 10 points
  • Homework 6: 10 points
  • Homework 8: 15 points
  • Homework 9: 15 points

When to turn in your homeworks

The homeworks in this course and their due dates are specified in the Lectures page and the Homeworks page. On the date that the homework is due, it may be handed in at any time up to 11:59PM. 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

Starting in Summer 2020, late homeworks will no longer be accepted and will be scored a zero.

Mobile Lab Final Project Demonstrations

Homework 9 demonstations (Mobile lab Final Project) will be done in the classroom or online during Finals Week.

When done in the classroom, students should bring in to their classroom a laptop (tablets or a smartphones will not be allowed) to demonstrate their solution to Homework 9, using mobile emulators. Students must show up at the time of thir respective enrolled session, when the course is given in multiple sections. Participating to the wrong section will result in an automatic 2 point penalty.

When done online, Zoom Remote Control will be used to demonstrate the solution to Homework 9, also using mobile emulators.


The following table shows the percentages for the 5 graded homeworks and the 2 exams, to make up the final score, used to compute student's final grade.

Homeworks 60%
Exam 1 20%
Exam 2 20%

All exams and homework assignments are required.

Re-Grading of Homeworks

  • Regrading of homeworks is available, for 3 calendar days, starting the day the scores are published in the Grades page, and a corresponding Piazza announcement of their availability has been made. Re-grading is by e-mail exclusively, to the Grader that scored your assignment. 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 3-day period. There is no re-grading of Homework #9.

Re-Grading of Exams

  • Regrading of online exams is not available.
  • Regrading of in-classrom exams is limited to two questions. An online form will be available to select your two questions 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

Final 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:


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.