CONCORDIA UNIVERSITY
DEPARTMENT OF COMPUTER SCIENCE AND SOFTWARE ENGINEERING
SOEN287 - Introduction to Web Applications
Winter 2010
INSTRUCTORS and LECTURE TIME
Section |
Lecture Time and Place |
Instructor |
Contact |
Office |
U |
Tuesday and Thursday 14:45-16:00 H-509 |
Terrill Fancott (Coordinator) |
fancott@cse.concordia.ca ext 3063 |
EV3.118 |
S |
Tuesday and Thursday 8:45-10:00 H-431 |
Yuhong Yan |
yuhong@cse.concordia.ca ext 8715 |
EV3.227 (Office hour: Mon, Tues 16:00-17:30) |
COURSE WEBSITE
Course website is hosted on the Moodle system and accessible through the MyConcordia portal www.myconcordia.ca. The website will host ALL documents (slides, assignments, sample code, grades …) related to this course and you MUST visit it regularly. All assignments and lab exercises shall be submitted through the Moodle system.
COURSE OBJECTIVES
The objective of this course is to introduce students to internet and web programming. This
course will focus on how HTML, JavaScript, a server-side programming language (Perl), database, and XML work together to enable three-tier Web applications and will demonstrate that the core concepts do not depend upon a particular platform or programming. Typical coverage is as follows.
· Internet and Web Programming: Internet architecture and protocols. Web applications through HTTP clients and servers.
· HTML and CGI Programming: Concept of markup languages. HTML, XHTML, CSS, and XML and their role in Web development. Perl programs to generate HTML output dynamically.
· Browser objects and their manipulation using JavaScript. Ajax and asynchronous Web requests.
· Web Application Design: Preserving state in Web applications using session and persistent cookies. Security issues and caching of state files. Using MySQL and PHP to access to access server-side data.
PREREQUISITE
COMP248: Object-Oriented Programming I
Assignments : 15% Team project : 15%
Mid-term Examination : 20%
Final Examination : 50%
Please note that there is no standard relationship between the numerical percentages and the final letter grades given in this course, except that higher numerical percentages correspond to better grades.
Programming the World Wide Web 2009 (5th Edition) by Robert W. Sebesta, Addison Wesley, 2009, ISBN: 0136076637.
Some topics are from its previous version:
Programming the World Wide Web 2009 (4th Edition) by Robert W. Sebesta, Addison Wesley, 2007, ISBN: 0321489691.
There will be both programming assignments and theory assignments. A team project will be the main exercise in the second part of the course. No late submission will be accepted. Students must obtain more than 50% in the assignments and the team project in order to pass the course.
Students are encouraged to study in groups and discuss with each other. However, copying is strictly prohibited and all assignments suspected to be copies would not receive any marks and students who are found copying will face severe consequences. Students should be aware of the University's code of conduct (academic) as specified in section 17.10.3 of the 2008–2009 Undergraduate Calendar, especially the parts concerning cheating, plagiarism, and the possible consequence of violating this code.
The project will be done by a team of two persons. The project topic will be assigned after the mid-term break. The project will be marked according to the following criteria:
5% - Code structure, quality and organization. (Marked for the team)
5% - Viva-voce conducted individually. Questions will be asked specifically on those parts of the code you have developed individually. (Marked individually)
5% - Final Project Document + related submissions (Marked for the team)
You will use the Computer Science PC lab located at H831 running Red Hat Linux. You can pick up your computer account from the ENCS Service Desk at H960. Some basic information about the Linux operating system can be found in The Linux Users Guide by Larry Greenfield (available in the course web page at www.cs.concordia.ca/~comp229). More information about Linux is available at the website http://www.linuxdoc.org.
The list below provides a summary of the material that will be covered during the course as well as a tentative schedule. Please check course webpage for any changes.
Week of |
Chapter |
Topics |
Notes and Events |
#1-Jan4 |
1,2 |
Fundamentals, XHTML |
|
#2-Jan11 |
3,4 |
CSS, JavaScript |
|
#3-Jan18 |
5, 6 |
Dynamic XHTL with JavaScript |
|
#4-Jan25 |
(8*) |
Perl |
|
#5-Feb1 |
(8*) |
Perl |
|
#6-Feb8 |
(8*) |
Regular Expressions |
|
#7-Feb15 |
(9*) |
Using Perl for CGI programming |
|
#8-Feb22 Spring Break – No Classes |
|||
#9-Mar1 |
7 |
Introduce to XML Midterm exam |
Midterm |
#10-Mar8 |
9 |
Overview of PHP |
|
#11-Mar15 |
9 |
PHP: Form handling, Cookies, Session Tracking |
|
#12-Mar22 |
10 |
Introduce to Ajax |
|
#13-Mar29 |
13 |
Database Access with PHP and MySQL |
University close on April 2 |
#14-Apr5 |
|
Make up classes (if necessary) |
University close on April 5 |
*: chapters are from the 4th Edition of the book
Note from University Administration
"In the event of extraordinary circumstances beyond the
University's
control, the content and/or evaluation scheme in this course is subject
to change".