King Fahd University of Petroleum & Minerals

College of Computer Sciences and Engineering



SWE 444: Internet and Web Applications Development (3-0-3)

Fall Semester 2008-2009 (081)

N.B. All course material and related resources are made available

through WebCT and will be added here soon.

I. Course Information

 << download the syllabus in pdf >>

Dr. El-Sayed El-Alfy

Office: 22-108,

Phone: 03-860-1930,

E-mail: alfy@kfupm.edu.sa,

URL: http:faculty.kfupm.edu.sa/ics/alfy

Office Hours: SMW@10:00-11:00AM or by appointment

 

Web Engineering fundamentals: requirements, analysis modeling, design modeling, testing.
Internet basics for web applications. Technologies and tools for developing web applications:
markup languages, styling, data description and transformation, client and server side
programming. Web services. Advances in web engineering.

 

To provide students with conceptual and practical knowledge, and skills required to develop web applications and web services.

 Upon completion of the course, you should be able to:

1. Perform analysis modeling and design modeling for web applications.
2. Identify candidate tools and technologies for developing web applications.
3. Develop user-interfaces for web applications.
4. Describe and transform data using XML and its related technologies.
5. Develop web applications and web services.
 

  1. H. M. Deitel, P. J. Deitel, and A. B. Goldberg, Internet and World Wide Web How to Program, 4/e, Pearson Education Inc., 2008.

  2. H. M. Deitel, et al., XML How to Program, First Edition, Pearson Education Inc., 2001.

  3. Roger Pressman, Software Engineering: A Practitioner's Approach, 6/e, McGraw-Hill Higher Education, 2005. Chapters 16-20

  4. Roger Pressman, Web Engineering: A Practitioner's Approach, McGraw-Hill Higher Education, 2008.

  5. G. Kappel, B. Pröll, S. Reich, and W. Retschitzegger (eds), Web Engineering - The Discipline of Systematic Development of Web Applications, John Wiley & Sons, 2006. http://eu.wiley.com/WileyCDA/WileyTitle/productCd-0470015543,descCd-tableOfContents.html and http://www.web-engineering.at/eng/
     

Assignments &  Quizzes

10 %

Major Exam 1:

   (Date: Nov. 19, 2008@7:00-9:00PM & Room: TBA)  

15 %

Major Exam 2:

   (Date: Dec. 31, 2008@7:00-9:00PM & Room: TBA)

20 %

Final Exam:

   (semi-comprehensive) [Date: as announced by the registrar]

25 %

Term Project (Group of 3 or 2): Download Guidelines.

30 %

M1.    Web Engineering Fundamentals [~3 Lectures]

a.  Introduction to web applications & web engineering

b.  Requirements gathering & planning for web engineering

c.  Analysis modeling for web Applications

d.  Design modeling for web applications (quality dimensions, architectural design)

e.  Design modeling for web applications (interface design, content design)

f.  Testing web applications

M2.   Internet Basics for Web Applications [~4 Lectures]

a.  Introduction to the Internet

b.  Client-server basics

c.  HTTP

d.  Web security

e.  Search engines

M3.   Markup Languages and Styling [~6 Lectures]

a.  HTML

b.  XHTML

c.  CSS (Cascading Style Sheets)

M4.   Client-Side Scripting (JavaScript) [~3 Lectures]

M5.   Data Description and Transformation (XML, XSL, XSLT, DTD, DOM, XSD) [~8 Lectures]

M6.   Server-Side Programming [7 Lectures]

M7.   Web Services, Web Servers (Hosting) [~4 Lectures]

M8.   Advances in Web Engineering [~4 Lectures]

 

Note: Material will be updated as necessary.

Week

Lect.

Date

Lecture Topics

Assignments,  Quizzes & Exams

Additional Readings

Additional Activities

1 1 Oct 11 Getting Started      
2 Oct 13 Internet Basics for Web Developers (1)
3 Oct 15 Internet Basics for Web  Developers (2)
2 4 Oct 18 Internet Basics for Web  Developers (3)   Howstuffworks How Web Servers Work  
5 Oct 20 Markup Languages & HTML

 

Howstuffworks How Web Pages Work

 

Introduction to HTML

HTML Tutorial ***

HTML 4.01 Specification

 

download:

MapEdit

Quiz - From EchoEcho.Com!

 

HTML Quiz from w3schools

 

Big List of HTML Tags

 

 
6 Oct 22 Markup Languages & HTML (cont.)

hw1 assigned

design your website using HTML

(have your personal account at http://student.kfupm.edu.sa/)

see also:

http://www.kfupm.edu.sa/webhelp/

Student Pres.: [Opera] [IE7]
3 7 Oct 25 Markup Languages & HTML (2)    
8 Oct 27  XHTML

 XHTML

XHTML Tutorial

W3C XHTML2 Working Group

XHTML Quiz from w3schools

9 Oct 29 CSS (part 1)

 hw1 due 

 CSS Tutorial

Introduction - CSS tutorial ***

Cascading Style Sheets (CSS) 

Cascading Style Sheets (CSS)

CSS Zen Garden

 

Examples:

CSS fixed menus

more: CSS tips & tricks

 

 

4 10 Nov 1 CSS (part 2)    Student Pres.: [Google Chrome]

See also: Google Chrome Comic Book

11 Nov 3 CSS (part 3)    Download and try this CSS editor [TopStyle]
12 Nov 5 CSS (part 4) hw2

re-design your personal website using XHTML & CSS

 
5 13 Nov 8 Scripting Languages Quiz1 on lectures 1-8 (in class)

sample exams

JavaScript Tutorial - EchoEcho.Com ***

JavaScript tutorials, scripts, answers and much more JavaScript

14 Nov 10 Cont.  Howstuffworks How Internet Cookies Work  

 

15 Nov 12 Cont.    WDVL Authoring JavaScript  
6 16 Nov 15  DOM

 

 

 

 

 

HTML DOM Tutorial

DOM - MDC 

W3C Document Object Model

HTML and DHTML Reference

 

 

Student Pres.: Expression Web

Tools:

Mozilla DOM inspector,

IE Developer Toolbar

 

17 Nov 17  Form Object and Input Validation Using Regular Expressions      
18 Nov 19  XML (Part1)

Major 1 at 7:00-9:00PM, Room: 24-112

Material from Lectures 1 - 15

sample exams

 

7 19 Nov 22   XML (Part2) hw2 due

through webct

XML Tutorial

Extensible Markup Language (XML) 1.0 (Fourth Edition)

Extensible Markup Language (XML)

20 Nov 24 XSL & XSLT project proposal due

 

W3Schools' tutorial

Investigating XSLT- The XML transformation language

21 Nov 26 cont. Student Pres: Adobe Flex

 

Resource: http://www.adobe.com/devnet/flex/videotraining/

https://freeriatools.adobe.com/flex/

8 22 Nov 29 XPath XPath Tutorial
23 Dec 1  No class. One time off for major1.

School Break (Dec. 3 to Dec. 13) -- No Classes

Read this book

Web Design -- A Complete Introduction

9
10 24 Dec 15  Document Type Definitions (DTDs)   DTD Tutorial

sample chapters

 XML Validator: SOAtest
25 Dec 17  XML Schema Definition (XSD)   XML Schema Tutorial

XML Schema Reference

 
26 Dec 18 XML DOM   XML DOM Tutorial  
11 27 Dec 20 XForms XForms Tutorial
28 Dec 22 XLink, XPointer & XQuery XLink and XPointer Tutorial

XQuery Tutorial

29 Dec 24 Server-Side Programming (part 1) [2spp], [4spp] ASP Tutorial

http://msdn.microsoft.com/net/aspnet/default.asp

12 30 Dec 27 Server-Side Programming (part 2) [2spp], [4spp] ASP Tutorial

http://msdn.microsoft.com/net/aspnet/default.asp

Student Pres.
31 Dec 29 Server-Side Programming (part 3) [2spp], [4spp] ASP Tutorial

http://msdn.microsoft.com/net/aspnet/default.asp

32 Dec 31 Server-Side Programming (part 4) [2spp], [4spp]

Major 2 at 7:00-9:00PM, Room: 22-119

Material: JavaScript, XML, XSL/XSLT, XPath, DTD, XSD, DOM, XForms

sample exams

13 33 Jan 3 Server-Side Programming (part 5) [2spp] [4spp] ASP Tutorial

http://msdn.microsoft.com/net/aspnet/default.asp
 

34 Jan 5 Server-Side Programming (part 6) [2spp], [4spp] ASP Tutorial

http://msdn.microsoft.com/net/aspnet/default.asp

 

ASP.NET 3.5 Unleashed Book

35 Jan 7 Web Engineering (part 1): Introduction  [2spp], [4spp] Roger Pressman, Software Engineering: A Practitioner's Approach, 6/e, McGraw-Hill Higher Education, 2005. Chapters 16-20

 

UML-based Web Engineering (UWE)
http://www.pst.ifi.lmu.de/projekte/uwe/
 

14 36 Jan 10 Web Engineering (part 2): Requirements Engineering  [2spp], [4spp]
37 Jan 12 Web Engineering (part 3): Analysis and Modeling [2spp], [4spp]
38 Jan 14 Web Engineering (part 4): Design and Architecture [2spp], [4spp]
15 39 Jan 17 Web Engineering (part 5): Usability and Accessibility [2spp], [4spp] hw3 assigned Usability and accessibility- best friends or worst enemies-

Usability, Accessibility and Markup

Web Design Tips + Web Usability & Accessibility

Web usability The basics

 

Most Important Web Usability Issues

 

40 Jan 19 AJAX

[2spp], [4spp]

Gentle Reminder about Course Evaluation  

AJAX Tutorial

Getting Started - MDC

Ajax and XMLHttpRequest Tutorial

 

Another Ajax Tutorial

Ajax (programming) - Wikipedia

Ajax Help and Tutorials

 

CodeProject AJAX and PHP Building Responsive Web Applications - Chapter 1 AJAX and the Future of Web Applications. Free source code and programming help

Ajax Resource Center

Open Directory - Computers Programming Languages JavaScript AJAX

Safari Books Online - 9780137142309 - Deitel® Developer Series AJAX, Rich Internet Applications, and Web Development for Programmers

 

41 Jan 21 ASP.NET AJAX

 

[2spp], [4spp]

AJAX The Official Microsoft ASP.NET Site

ASP.NET AJAX Control Toolkit 

 

Student Pres.: UWE

 

16 42 Jan 24 Introduction to Web Services hw3 due (through WebCT) Web Services Tutorial

 

Web Services with ASP.NET

 

ASP.NET Web Services QuickStart Tutorial

Student Pres.: PHP

Related Resources:

A Course on PHP (ppt slides) ***

PHP Tutorial

PHP Hypertext Preprocessor

PHP - on Wikipedia

PHP Hot Scripts

The PHP Resource Index

Deitel PHP Resource Center

Remembering Users with Cookies and Sessions (pdf)

 

43 Jan 26 Developing, Testing and Consuming Web Services  with ASP.NET

[2spp], [4spp]

44 Jan 28 e-commerce and Web Security

[2spp], [4spp]

Gentle Reminder: Learning Outcomes Survey (on WebCT)

 

Quiz 2: on ASP.NET

Web Security

Web Application Security Consortium

Web Security Centre

Web Security, Privacy & Commerce O'Reilly Media

17 45 Jan 31

Jan 30 before 10pm: Submit a softcopy of the report through WebCT

Jan 31: Project Presentations and Discussions & Hand-in a CD that has the final report, ppt presentation, all software modules, other resources.

The final report must include a description of the project objectives, motivations, requirements, use cases, system and content architecture, navigation model, UI, implementation hints (explaining important fragments only),  suggestions for further improvements, citation of the resources and general information about the team members and their role in the project. You may include any other information that you think is needed to your report.

The report should not include a full list of the code.

The softcopy of the code should have proper comments to enhance its readability.

Publish the website for the project on your account before the presentation and make sure it is functioning properly (you should test it and fix all errors early enough before coming to the class)

 

18   Feb 9 Final Exam at 7:00PM-9:00PM, Room: TBA by the registrar

<< sample exams >>

 

The Material for the Final Exam 
As mentioned before the final is semi-comprehensive. So regarding direct questions, there will be

* around 80% from the material that has not been assigned for major I nor for major II (i.e. starting from lecture 29 onwards; see above).

* the other 20% approx. will be from the other material before that.
 

++ Type of questions is similar to major 1 and major 2; check also the sample exams in the website.

 

 

                           

 

Course Website & Participation: Students are required to periodically check the course website and download course material as needed. Several resources will be posted through the website as well. Keys to quizzes and exams are generally discussed during class as time permits but solutions will not be posted. WebCT will be used for communication and interaction, posting and submitting assignments, posting grades, posting sample exams, etc. Also it is expected that you get benefit of the discussion board by raising questions or answering questions put by others (up to 5% bonus will be granted based on your active participation and the usefulness of the material you post).

Attendance: Regular attendance is a university requirement; hence attendance will be checked at the beginning of each class. Two late attendances will be considered as one absence. Missing more than 9 lectures will result in a DN grade without prior warning. To avoid being considered as absent, an official excuse must be shown no later than one week of returning to classes.

No make up quizzes or exams will be given.

Re-grading policy: If you have a complaint about any of your grades, discuss it with the instructor no later than a week of distributing the grades (except for the final). Only legitimate concerns on grading should be discussed.

Office Hours: Students are encouraged to use the office hours to clarify any part of the material that is not clear; however the instructor will only provide hints if it is an assigned task but not solve it.

Term Project: Form groups of three or two students (but three is more preferable), pick up a relevant and non-trivial web application, discuss it with your instructor, then go through all different phases of software development; innovative ideas are highly encouraged. All group members are expected to know all the details about the project. (More information about deliverables on WebCT).

Academic Honesty: Students are expected to abide by all the university regulations on academic honesty. Cheating will be reported to the Department Chairman and will be severely penalized. Although collaboration and sharing knowledge is highly encouraged, copying others’ work without proper citation, either in part or full, is considered plagiarism. Whenever in doubt, review the university guidelines or consult the instructor.

Courtesy: Students are expected to be courteous toward the instructor and their classmates throughout the duration of this course. Talking while someone else is speaking will not be tolerated. Furthermore, all cell phones must be turned off during class. In addition, students are expected to be in class on time. Late arrivals will disrupt the class session. If you are 15 minutes late, you will be marked as absent and will not be permitted to enter the class. More importantly, you are not allowed to leave the class unless it is an urgent matter. To contact your instructor, please use email through WebCT whenever possible and avoid using phone calls or written notes. When necessary to send an email through the university email system, please indicate SWE444-081 in the "Subject" field of your email, e.g. SWE444-081: Question about chapter 1.

888  Best of luck!!  888


 

II. Some Useful Resources on the Web

 

 

 

 

 

 

more will be added soon ........................................