Description

This is a final year elective course on building modern web applications. We will cover a variety of techniques. The primary language we will use for the class is JavaScript, though this is NOT a course on JavaScript or any other language. We will cover the following topics in class (rough outline):
• Client-server model of web applications
• Building simple web pages with HTML and CSS
• JavaScript essentials, DOM and event handling
• Asynchronous JavaScript and XML (AJAX)
• Node.js and server-side technologies

General Information

Class Times
See syllabus
Instructor office hours
See syllabus
Lab hours
See UBC Course schedule
Communications
All communication regarding the course should be done on Piazza. Do NOT send email to any of the course staff - such emails will not be answered.

Announcements

Final Grades Released
12/19/20 1:28 PM

Hi All,


Final exam scores and participation marks have been updated on Canvas.

If you have any questions about your final exam, please post a private question here on Piazza to set up a meeting.

Below is some statistics on the final exam scores.

Mean14.4355.52%
Standard Deviation4.2316.27%
Median14.254.62%
Min2.49.23%
Max2388.46%

Hope the course has been fun and useful!

Enjoy the winter break and all the best :)

#pin

Instructions for Final Exam
12/13/20 6:05 PM

Hi All, 

Please read the instructions carefully. Failure to follow these could adversely affect your final exam marks. 

  1. Please make sure your HackerRank account is active. The same account (email) you used for PPT and midterm. If you have trouble accessing your account, please contact the instructors no later than Monday, December 14, 2020.

  2. The exam link will be shared in the zoom session on the exam day via Chat. Please join the Zoom call 5 minutes before the start of the exam. If you come late, you’ll not see the exam URL and you’ll have to ask us for it - this’ll mean you’ll lose time in the exam. 

  3. If you get disconnected during the test, log in again to HackerRank and start the test using the provided exam link, your test time will resume from where you left off. Please note though that the exam will close shortly after the end of the time (with a small buffer), so if you’re disconnected for a long time, please let us know so we can look into it.

  4. You need to make sure you create the outputs in exactly the way we’ve specified in the question, and nothing else, in order to pass the test cases. If you add any debugging info, please comment it out before submitting the code as it’ll fail the tests otherwise.

  5. Do not modify the test cases. This qualifies as academic misconduct. We will know if you have edited the test cases - if you do this, we’ll give you a 0 for the entire exam ! 

  6. Your code is saved once you run it - we can only see it if it’s saved. If you modify the code, make sure you run it again. Do not move on to the next question without running your code or else it won’t be saved.

  7. For MCQs, make sure you submit your answer. Do not move on to the next question, your answer is not saved automatically. You can always modify your answers if needed.

  8. If you are using console.log for debugging. Please make sure you remove/comment in when you run your code. 
  9. You can revisit your code/answers and modify them if needed within the test duration.  

  10. Once you click on submit test, your test will close and your attempt will be saved for marking. If you accidentally do this, please contact us asap via the Zoom chat. Please be aware that, it takes time to fix this issue. 

  11. Finally, you are encouraged but not required to stay on the Zoom call with your video off and your microphone muted. We’ll use this for troubleshooting problems with the exam, questions, and also any errata/clarifications. If you leave the Zoom call, you may not get access to this information. Please ask any questions you have via chat to Karthik/TAs.

Thanks, 

Pritam

Assignment 5 Grades released
12/09/20 2:41 PM

Hi all,

Assignment 5 grades have been uploaded. Let us know via private posts (within a week from the date you received the grades) if you have any questions.

Thanks, Junbin


Assignment 5 Released
11/20/20 10:10 AM

Hi Everyone,

The instructions for assignment 5 is now available here.

You can also find the link in the “Resources” tab on Piazza.

Due date: Dec 3, 2020, 23:59 PST

Thank you, Junbin


Update 2020-11-26:

Minor Update in Test #4.1 - added check for parsing multiple cookies (see @812)

Assignment 3 grades released
11/18/20 5:54 PM

Hi all,

Assignment 3 grades have been uploaded. Let us know via private posts (within a week from the date you received the grades) if you have any questions.

Thanks,

NJ

Midterm Marks released
10/28/20 5:56 PM

Hi All, 

The midterm marks have been posted on canvas. The mean is 15.39/26 (59.19%), and 6 people got full marks. Please find below the mark distribution. 

 

Mean

15.39

59.19%

Median

16

61.54%

Min

3

11.54%

Max

26

100.00%

Standard Dev.

5.761

22.16%

Thanks, 

Pritam

Midterm Exam Instructions
10/22/20 6:07 PM

Hi All, 

Please take note of the following instructions for the mid-term exam: 

1) The exam will be conducted on HackerRank (as mentioned in the previous post). We ask you to use the same HR account (i.e. email) you used for the programming proficiency test (PPT). If anyone has difficulty accessing HR or has problems with your account please contact us by today. 

2) We will be available on Zoom to administer the exam and clarify issues if any during the exam. You are required to join the zoom call on the exam day. 

3) We will release the exam link and a password to access the test on zoom, (this will be different than the PPT, you won't receive a test invite on email).

Thanks, 

Pritam  

Assignment 3 Released
10/16/20 2:19 PM

Hi Everyone,

The instructions for assignment 3 is now available here.

You can also find the link in the "Resources" tab on Piazza.

Due date: Nov 5, 2020, 23:59 PST

Thank you,

-----

Update 2020-10-18:

Task 4C has been updated, to clarify that you need to use the "socket" object you created in Task 4A in "chatView".

Staff Office Hours
NameOffice Hours
Karthik Pattabiraman
When?
Where?
Kumseok Jung
When?
Where?
Junbin ZHANG
When?
Where?
Pritam Dash
When?
Where?
Niranjhana Narayanan
When?
Where?