CP3101B Web Programming and Applications

This module is offered as part of the CP3101 Topics in Computing series. It introduces software development on the web. Topics include networking, clients and servers, HTTP protocol and cookies, HTML5 forms, CSS, dynamically served pages using PHP, DOM, Object Oriented Javascript and Jquery, and combining Javascript and PHP to build an Ajax web application. We will also investigate the use of Javascript, HTML5 canvas, sensor API and mobile platform to build responsive mobile applications. Some advanced topics may be discussed such as web security and investigation of an MVC web framework such as Django or Codeigniter.

Contact information

Instructor: Arnold Rosenbloom
Office: COM2 #03-54
Telephone: 6516 8403
e-mail: dcsalr@comp.nus.edu.sg
Web-page: http://www.cs.toronto.edu/~arnold/cp3101b
Lecture: Tue 10-12 LT19 COM2-Level 1
Tutor: TBA
Labs: Mon 10-12, 12-2 (large MAC lab)
Office hours: Tue 12-1 (or by appointment, to be changed)

My Style/Philosophy

Marking Scheme

ComponentCounts for
Assignments (3 or 4)50%
Labs10%
Final40%
Marking will typically be assigned as follows: Top 10-20% of marks assigned for creative additions. Remaining mark attributed along the lines of... 5/5 = simple clear obvious solution, requires minimal documentation because it is simple. Well named variables, methods etc. well organized and clear code. 4/5 = it works, but is long, not efficient, not well documented, poor naming, not clear 3/5 = concepts are there but not put together, major conceptual misunderstanding in code 2/5 = depends on whether it is closer to 3 or 1 1/5 = looks like a solution from a distance (ie. something that looks like a c program addressing the problem for a c assignment) Recommended Text:
None, we will use the web. If this makes you uncomfortable, then...
Sebesta, Robert W.Programming the World Wide Web, Addison Wesley