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