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

 

GRADING SCHEME

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.

 

TEXTBOOKS                        

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.

 

 

ASSIGNMENTS

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.

 

PROJECT

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)

 

TUTORIAL

The tutorials are an integral part of the course and will be used to review course topics, discuss systems programming and also material relevant to the programming assignments. Tutorials will also be used to discuss solutions of assignments. All problems related to the assignments and team project should be addressed to the marker/tutor.

 

LABORATORY

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.

 

 

 

 

 

TENTATIVE SET OF TOPICS AND SCHEDULE

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".