CONCORDIA UNIVERSITY

 

DEPARTMENT OF COMPUTER SCIENCE AND SOFTWARE ENGINEERING

 

SOEN287 - Introduction to Web Applications

Fall 2010

 

INSTRUCTORS and LECTURE TIME

Section

Lecture Time and Place

Instructor

Contact

Office

Q

Tuesday and Thursday

8:45-10:00

Yuhong Yan

yuhong@cse.concordia.ca

Tel: ext 8715

EV3.227

(Office hour:

Tue, Thur, 10:30-12:00)

Tut QA

Tuesday

10:15-11:55

Mikhail Levkovsky

mlevkovsky@yahoo.ca

 

Tut QB

Thursday

18:15-19:55

Haritos Kavallos

h_kavall@encs.concordia.ca

 

Marker

 

Min Chen

 

minchen2008halifax@yahoo.com

 

 

Course Description

This is an introduction course on Web programming. It covers the following topics: Internet architecture and protocols; Web applications through clients and servers; markup languages; client-side programming using scripting languages; static website contents and dynamic page generation through server-side programming; preserving state in Web applications.

Please notice that Web programming and Web application is a very wide domain. Many techniques are used to build a complex online business system.  The following topics are NOT covered in this course, but in some other courses:

 

Course Objectives

To provide the computer science and software engineering students with basic knowledge and skills of Web programming. Though this course, the students

 

 

Background Knowledge

Prerequisite: COMP 248 Oriented Programming I.

You should have basic programming skills. In particular, you should have a good understanding of expressions, statements, methods, parameters, and arrays. You are assumed zero background on Web programming.

 

 

Required Text Book & Other Tools

·         i-Clicker which you need to bring to every class.

Both are available at the Concordia bookstore. Some topics are from external web references to be provided.

 

Computing Facilities

You will use the Computer Science PC lab located at HXXX (TBD) running Red Hat Linux. You can pick up your computer account from the ENCS Service Desk at H960 or EV-007.182. This account will give you access to the laboratories. For more information on CSE Computer accounts please visit the website: http://www.encs.concordia.ca/helpdesk/access.html. 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.

 

If you have a computer at home and prefer to use it, you may do so.

 

Tutorials

The tutorials will reinforce the material seen during the lectures with examples and exercises. Tutorials begin on the second week of classes. Tutorials are always in a lab. You are allowed to use your own laptop in the tutorial sessions to profit from your own settings in your computer.

 

Web Pages

Many resources for the course (lecture slides, assignments and solutions, example programs . . .) will be available on the course web site in a Moodle website which is accessible through MyConcordia portal at www.myconcordia.ca.

 

Usage of i-Clickers

i-Clickers are considered to be a good tool to enhance interaction and engagement in the classroom, and are welcomed by the students. Please bring your i-Clicker to the lectures. In each lecture, you are asked some multiple choice questions. The results are recorded.

 

Assignments/Course Project/ Examinations

a) Course Assignments.

There will be 4 assignments. All assignments will have a programming component; some of them may have a theoretical component as well. Assignments are to be submitted electronically only in the course Web site - no paper submission. All assignment handouts will be available on the course webpage.

 

b) Course Project

The course project is to build a Web site step by step. You can choose a topic interesting to you or you can repeat the work as our demo site. You are guided to design the functions and content of the Web site step by step. At the end of each development phase, you deliver partially the finished functions. At the end, you will have a complete Web site.


c)
Examinations

·         There will one midterm test in week 8 or 9 of the course. Exact date will be announced. The test will take place during regular lecture times. There is no make-up term test.

 

·         The final examination lasts three hours, and will be administered during the examination period at the end of the term.  The final examination covers all material seen during the term.

 

Evaluation Scheme

Assignments (4) 12% (4 × 3% )

Course project (4 deliverables)  20% (4 × 5%)

Midterm exam        20%

i-Clicker participation     5% (Participation rate (75% - 100%], not count the correct rate, or Participation rate [50%- 75%], the correct rate > 80%)

Final exam         43%

1.      In order to pass the course, you must pass the final exam by getting over 50% of the marks, regardless of your grade in other required components.

2.      In order to pass the course, you should submit a least 60% of the assignments and course deliverable, and attend both the midterm exam and the final exam.

3.      The assignment deadline may be extended when multiple requests are received. However, this will delay the post of answers and feedbacks for further study. Penalty of delay will be applied by 20%/day. After answer is posted, un-submitted assignment is counted as 0. Please avoid mistakes when you submit assignments (partial upload, wrong files, etc.)

4.      There is no standard relationship between percentages and letter grades assigned.

 

Important Guidelines

·    Cell phones are STRICTLY PROHIBITED in classroom during the lectures.

·    Please check your emails very often, preferably each day. Many notices are sent out by email.

·    Please come to class on time. Classes start with important topics first.

·    If you want to download slides before the lecture, please notice that these slides do not include the i-clicker questions and answers. The actually slides used in the classroom with i-clicker questions and answers will be posted after each lecture.

·    This course covers a wider scope of knowledge than a normal course, due to the nature of Web programming. You are encouraged to check the real world industrial practices in this domain. Our assignments/project/exams are bounded to the scope covered by the textbook and the lectures. However, some research on the Internet is expected to investigate a solution to the assignments and project.

·    Extra assignments will be given for students to practice their programming skills. These assignments will not be marked, however, will be considered when it is fail or pass situation.

·    This course is for beginners in Web programming. And the content of the course is determined by the curriculum committee. If you find you’ve learned many topics in a Cegep program, you are encouraged to discuss with me and seek for new challenges to suit your needs.

·    The university encourages undergraduate students get involved in research. Students are encouraged to discuss with me about this.

 

 

Note:

If you have any special needs please contact your instructor to discuss the situation.

 

 

TENTATIVE 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-Sept 7, 9

1

Fundamentals

 

#2-Sept 14, 16

2

XHTML

 

#3-Sept 21, 23

3

CSS

Assignment 1 due

Sept 20: DNE (full refund) or Register

#4-Sept 28, 30

4

JavaScript

Project Phase 1 due

#5-Oct 5, 7

4, 5

JavaScript

 

#6-Oct 12, 14

5, 6

Dynamic XHTML with JavaScript

Assignment 2 due

#7-Oct 19, 21

6

Dynamic XHTML with JavaScript

Project Phase 2 due

#8-Oct 26

      Oct 28

 

9

Midterm exam

Basics of PHP

Midterm

#9-Nov 2, 4

9

PHP: form handling, patterns, cookies, sessions

Assignment 3 due

Nov 2: DISC (academic withdraw)

#10-Nov 9, 11

9, 7

more PHP, Introduce to XML

Project Phase 3 due

#11-Nov 16, 18

7

Introduce to XML

 

#12-Nov 23, 25

10

Introduction to Ajax

 

#13- Nov 30,  

        Dec 2

10

More complicate applications

Assignment 4 due

#14-Dec 7, 9

 

Make up classes (if necessary)

Project Phase 4 due

 

 

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