Web Programming Step by Step, by Marty Steep, Jessica Miller and Victoria Kirst
.... Class. October 15. AJAX, JSON, Web Architectures, REST API. 6. Tutorial.
CSC309: Programming on the Web, Fall 2015
General Information Instructor: Mashiyat, Ahmed Shah Email:
[email protected] Office Hours: Thursdays, 3pm4pm, Office: BA 3289 (or by appointment) Course Website: http://www.cs.toronto.edu/~mashiyat/csc309/index.htm Discussion forum: https://piazza.com/class/iea8t9q0fbj1d0 Section L0101 Class: Thursdays, 1pm3pm, Room: SS2117 Tutorial: Tuesdays, 2pm3pm, Rooms: BA3012, WB144, FG139 Section L0201 Class: Monday and Wednesday, 3pm4pm, Room: BA1170 Tutorial: Friday, 3pm4pm, Rooms: BA2139, BA1240 Overview This course provides an introduction to the technologies used for developing Web applications. We discuss technologies for static and dynamic content generation, including Ntier, MVC architectures, and mobile supported web development. We also cover general web design principles, security, and web performance. Recommended Readings Web Programming Step by Step, by Marty Steep, Jessica Miller and Victoria Kirst Standard documents from: http://www.w3.org, and http://nodejs.org/api/ Prerequisites Prerequisite of CSC343 is waived. Students who don’t have CSC209 need to show experience in developing programs of significant size. Marking Course grade will be determined by five assignments and a final exam as follows:
Weight %
Out
Due
A1 (HTML5 & CSS3)
Individual
5
September 18
September 25
A2 (JavaScript & Canvas)
Individual
15
September 25
October 9
A3 (Web Service)
Individual
10
October 9
October 23
A4 (CURD App)
Individual
15
October 23
November 6
A5 (Large App)
4 person Team
20
November 6
December 4
Final Exam
35 (Pass mark: above 40%)
TBA
Assignment/Project Policies ● Assignments will be posted on the course web page. ● All deliverables should be submitted electronically (through markus). ● Assignments are due at 11.59 pm on their due date. Submit early to avoid last minute submission related problems . Email submission will not be be accepted unless markus is down. Email submission at the eleventh hour will be considered as late submission. 1. Late coursework . You can turn in your assignment up to 2 days late , but this will cost you 10% of the maximum grade for every day you are late (i.e., an assignment turned 2 days late can get a maximum of 12/15). No assignment will be accepted after 2 days, and will be given a grade of 0. If you are struggling with an assignment, talk to the instructor or the TA’s for help well before the deadline. 2. Remarking. You have up to 5 days from the time the marked assignment is available for handback to ask for a remark. No assignment will be remarked after this period. Details will be posted on the course’s newsgroup. If you are still dissatisfied after talking to the TA, then email the instructor to set an appointment. 3. Communications . Your best bet for getting questions answered quickly is to post to the course discussion group. If you think your question is not appropriate for the newsgroup, feel free to email the instructor. Please make sure to include “CSC309” in the subject line of your email. Finally, before you email the instructor, please check the newsgroup; your question may have already been answered. 4. Cheating/Plagiarism . The policy of your faculty or school will be in effect. You are encouraged to discuss problems with your classmates; however, all work that you submit must be your own. When you submit an assignment with your name on it, you are certifying that you have done the work on that assignment yourself. Remember that the penalty for cheating is always worse than handing in the assignment late.
Class Schedule ( Section L0101) Week
Section L0101
Topic
1
Tutorial
September 15
No Tutorial
Class
September 17
Introduction, HTTP, HTML, Page Layout, and CSS
2
Tutorial
September 22
Assignment 1 Problem Solving
Class
September 24
HTML5, CSS3 , Media Queries, DOM
September 25
Assignment 1 Due, 11.59 PM
3
Tutorial
September 29
Page Inspection
Class
October 1
Javascript, JQuery, HTML Canvas
4
Tutorial
October 6
Assignment 2 Problem Solving
Class
October 8
Twitter Bootstrap, Responsive design, User Experience
October 9
Assignment 2 Due, 11.59 PM
5
Tutorial
October 13
NodejsMongoDB Setup
Class
October 15
AJAX, JSON, Web Architectures, REST API
6
Tutorial
October 20
Assignment 3 Problem Solving
Class
October 22
HTML Forms, Server-Side Programming, NodeJS
October 23
Assignment 3 Due, 11.59 PM
7
Tutorial
October 27
Testing with Mocha
Class
October 29
ExpressJS, AngularJS
8
Tutorial
November 3
Assignment 4 Problem Solving
Class
November 5
Sessions and Cookies, Performance
November 6
Assignment 4 Due, 11.59 PM
9
Tutorial
November 10
November break, No Tutorial
Class
November 12
MongoDB Schema Design, Databases
10
Tutorial
November 17
Git, Social Coding
Class
November 19
Web Security
11
Tutorial
November 24
Performance
Class
November 26
Cloud Computing, From Project to Product, Web Search Engine
12
Tutorial
December 1
Assignment 5 Problem Solving
Class
December 3
Review, informal Discussion, what’s Next?
December 4
Assignment 5 Due, 11.59 PM
TBA
Final Exam
Class Schedule ( Section L0201) Week
Section L0201
Topic
1
Class
September 14,16
Introduction, HTTP, HTML, Page Layout, and CSS
Tutorial
September 18
No tutorial
2
Class
September 21, 23
HTML5, CSS3 , Media Queries, DOM
Tutorial
September 25
Assignment 1 Problem Solving
September 25
Assignment 1 Due, 11.59 PM
3
Class
September 28, 30
Javascript, JQuery, HTML Canvas
Tutorial
October 2
Page Inspection
4
Class
October 5, 7
Twitter Bootstrap, Responsive design, UX
Tutorial
October 9
Assignment 2 Problem Solving
October 9
Assignment 2 Due, 11.59 PM
5
Class
October 12, 14
AJAX, JSON, Web Architectures, REST API
Tutorial
October 16
NodejsMongoDB Setup
6
Class
October 19, 21
HTML Forms, Server-Side Programming, NodeJS
Tutorial
October 23
Assignment 3 Problem Solving
October 23
Assignment 3 Due, 11.59 PM
7
Class
October 26, 28
ExpressJS, AngularJS
Tutorial
October 30
Testing with Mocha
8
Class
November 2, 4
Sessions and Cookies, Performance
Tutorial
November 6
Assignment 4 Problem Solving
November 6
Assignment 4 Due, 11.59 PM
9
Class
November 9
November break, No Class
Class
November 11
MongoDB Schema Design, Databases
Tutorial
November 13
Git, Social Coding
10
Class
November 16, 18
Web Security
Tutorial
November 20
Performance
11
Class
November 23, 25
Cloud Computing, From Project to Product,
Tutorial
November 27
Assignment 5 Problem Solving
12
Class
Nov. 30, Dec. 2
Web Search Engine, Review
Tutorial
December 4
No tutorial
December 4
Assignment 5 Due, 11.59 PM
13
Class
December 7
informal Discussion, what’s Next?
TBA
Final Exam