Concordia University

SOEN 287: Web Programming (3 Credits)

Winter 2017
Course Outline/Syllabus

 

Section    Instructor            E-mail                                                               Office                      

S                   N. Acemian          nancy.acemian@concordia.ca         EV 3.153
W                M.Taleb                                                                                              EV 3.235
U                  Y. Yan                     
yuhong@encs.concordia.ca                     EV 3.237_ (Coordinator)

 

Individual instructorÕs office hours are posted on each sectionÕs course Moodle web pages accessible via the portal.

 

Section

Lecture Time and Place

Instructor

Contact

Office

U

Tuesday and Thursday

14:45-16:00

FG B040

Yuhong Yan

yuhong@cse.concordia.ca

Tel: ext 8715

EV3.227

(Office hour:

Monday

15:00-16:00)

Tut

U UA

Tuesday

16:45-17:55

 

Florian  Bobier-Boisvert

florian.bobier.boisvert@gmail.com

 

Tut

U UB

Thursday

16:15-17:55

 

Florian  Bobier-Boisvert

florian.bobier.boisvert@gmail.com

 

Marker

Yongping Gao

 

Gaoyongping1999@gmail.com

 

 

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.

 

Course Calendar Description

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 (client-side) in web applications. Lectures: three hours per week. Tutorial: two hours per week.

 

Course Objectives and Content

This is an introduction course on Web programming.

The course will include discussions and explanations of 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 Learning Outcomes (CLO)

Upon successful completion of this course, students will be able to:

CLO 1.     Have gained factual knowledge on Web site development.

CLO 2.     Be able to analyze and evaluate different technical solutions when developing a
                   Web site and apply the learned techniques properly.

CLO 3.     Be able to cultivate creative and innovative ideas when developing Internet
                   applications.

 

CEAB Attribute Assessment

As part of either the Computer Science or Software Engineering program curriculum, the content of this course includes material and exercises related to the teaching and evaluation of graduate attributes. Graduate attributes are skills that have been identified by the Canadian Engineering Accreditation Board (CEAB) and the Canadian Information Processing Society (CIPS) as being central to the formation of Engineers, computer scientists and information technology professionals.
As such, the accreditation criteria for the Software Engineering and Computer Science programs dictate that graduate attributes are taught and evaluated as part of the courses.

The following is the list of graduate attributes covered in COMP 248, along with a description of how these attributes are incorporated in the course:

¥     Knowledge-base: 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 (client_side) in web applications. (CLO 1)

¥     Design: Design and implementation of web-based systems using different basic architectures and design principles. (CLO 2)

¥     Use of Engineering tools: Use of appropriate software development tools and languages to develop web applications both on client and server side. (CLO 3)

 

Required Text Book

Programming the World Wide Web by Robert W. Sebesta, 8th edition, Pearson, 2014. The book is available in 2 formats:

¥       Hard Copy: ISBN: 978-0-13-377598-3

¥       Digital Copy: ISBN: 978-0-13-377612-6

 

Computing Facilities

You should obtain a computer account, if you donÕt already have one, from the help desk at H-960 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.

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

 


 

Course Web Page

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. Be sure to consult the web page frequently.

 

Tutorials

Tutorials will take place every week starting from the second week. Tutorial attendance is strongly encouraged.  The tutorials will reinforce the material seen during the lectures with examples and practical exercises. 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.

 

Assignments/Examinations

a)     Assignments.

There will be 4 assignments. The assignment descriptions are made available on the course webpage. All assignment questions must be downloaded from the course web page and submitted electronically. Instructions on submitting assignments will be available on the course web page.  The assignment schedule can be found in the tentative course schedule on page 5 of this handout.

Please Note:

-        No late assignments will be accepted.

-        Assignment submitted in the incorrect location and/or not in the proper format will not be considered.

 

b)     Examinations

á       Midterm Exam: There will be one term test in week 7 on Thursday March 3. The test will take place during regular lecture times. There are no make-up term tests.

 

á       Final Examination: 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

 4 Assignments   

20%

(2x4% + 2x6%)

1 Term Test  

35%

 

1 Final Exam

45%

 

 

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, submit at least 60% of the assignments, and attend both the midterm tests and the final exam.

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

3.     Although we encourage discussion of the assignment questions among students, you should be aware of the University regulations concerning plagiarism described in 16.3.13 of the undergraduate Calendar. All students should become familiar with the UniversityÕs Code of Conduct located at http://www.concordia.ca/students/academic-integrity/code.html .
In cases where cheating or plagiarism is suspected, the case will be forwarded directly to the appropriate university office for consideration. Please do not assume that you get Òsecond chancesÓ when it comes to cheating. Once is often enough to damage your academic career.

 

How to study in this course:

-        If certain concepts are unclear to you, seek help right away.  Ask your TA during the tutorial and/or your instructor for help. Make use of your instructorÕs office hours; book an appointment with your instructor if the office hours are not suitable.

-        Programming is not a Òspectator sportÓ. You need to get your hands dirty by trying the examples discussed in class and doing the assignments.

Classroom behavior

á       Please arrive on time, as late arrivals are distracting to your peers.

á       NO cell phones or pagers. If your cell phone or pagers ring during class, you will be asked to leave the classroom for the rest of that class period.

á       No walking in and out of the classroom once class has started.

 

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

 

Special Needs:

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

 

Academic Support:

If you are experiencing difficulties that are affecting your studies, Concordia offers many on-campus free of charge services. You can find a list of resources at the Student Success Centre

 Website:  http://www.concordia.ca/students/success.html

 


 

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

Week of

Chapter

Topics

Notes and Events

1

Jan. 9-12

1

Fundamentals

 

2

Jan. 16-20

1, 2

Fundamentals, HTML

Tutorials Starts

3

Jan. 23-27

2, 3

HTML, CSS

 

4

Jan. 30 Ð Feb.3

3, 4

CSS, JavaScript

Assignment 1 due

5

Feb. 6 Ð 10

4, 5

JavaScript

 

6

Feb. 13 Ð 17

5

JavaScript

Assignment 2 due

 

 

Feb. 20 Р 24

 

Spring Break

 

7

Feb. 27 Ð Mar. 3

6

Dynamic HTML with JavaScript

Midterm

8

Mar. 6 Ð 10

6

Dynamic HTML with JavaScript

 

9

Mar. 13 Ð 17

6

Dynamic HTML with JavaScript

 

10

Mar. 20 Ð 24

9

PHP: syntax

Assignment 3 due

11

Mar. 27 - 31

9

form handling

 

12

Apr. 3 - 7

9

PHP: patterns, File I/O, cookies

 

13

Apr. 10 - 14

9

PHP: sessions

Assignment 4 due

 

Assignment handouts will indicate the exact due date.