Module Identifier CS15820  
Module Title WEB PROGRAMMING  
Academic Year 2007/2008  
Co-ordinator Dr Lynda A Thomas  
Semester Semester 2  
Other staff Dr Adrian D Shaw, Mr David J Smith, Dr Lynda A Thomas, Mr Richard C Shipman  
Pre-Requisite CS12230 or CS12320  
Mutually Exclusive CS10210, CS25810  
Course delivery Lecture   44 Hours.  
  Practical   11 x 2 hours  
Assessment
Assessment TypeAssessment Length/DetailsProportion
Semester Exam1.5 Hours Written Exam  60%
Semester Assessment Assessed coursework An average student should carry out the work to an acceptable standard during weekly practical sessions. Twice this amount of time is allocated in the breakdown below. 3 assignments worth 10%, 15% and 15%.40%
Supplementary Assessment Will take the same form under the terms of the Department's policy.   
Further details http://www.aber.ac.uk/compsci/ModuleInfo/CS15820  

Learning outcomes

On successful completion of this module students should be able to:
1. Describe the architecture of the web and publication of material on the web.

2. Explain the distinction between structure, content and presentation of web material and the benefits of maintaining that distinction.

3. Describe the client-side environment and its potential in providing web features.

4. Describe the server-side environment and its potential in providing web features.

5. Explain the role and potential of databases in providing web features.

6. Describe the main features of XML and XSL in the context of the web.

7. Build simple web pages by writing HTML and control presentation using CSS.

8. Write simple EcmaScript code, embedded in HTML, to interact with the browser, generate content, and check input.

9. Write and deploy an applet.

10. Write and deploy simple server-side code embedded in HTML and in the cgi-bin environment.

11. Write and deploy a servlet.

12. Write code to generate web pages from a database.

13. Write server-side code that maintains a session.

Aims

Brief description

This module introduces the crucial technologies and architectures for the production of web material. The communications basis of the web, structure and presentation of content, client-side code and server-side code are covered. Students will have the opportunity to develop their technical understanding and their practical skills.

Content

Each item represents 1 week, comprising 4 one-hour lectures and 2 hours of practical.

1. Introduction Outline of the architecture of the web and the associated technologies: HTTP; servers; server environments; browsers, browser helper applications; static and dynamic content. Importance of standards, 'rrowser wars?. Introduction of a running case study. Version control. Information architectures.

2. Content, structure and presentation HTML, CSS. HTML as XML. Documents as trees.

3. Client-side code - I EcmaScript: interaction with browsers; content generation; input checking.

4. Client-side code - Applets: the API; the JVM.

5. Server-side code Content generation. The server-side environment: HTTP methods; HTTP parameters.

6. Code embedded in HTML Server-side includes. A suitable general language.

7. cgi-bin coding A suitable language. HTML generation. Operating system and Internet service access.

8. Servlets The API, containers. JSP.

9. Database access HTML embedding; cgi-bin; applets; servlets. Dynamic generation of web pages.

10. Session maintenance HTTP parameters; cookies; session IDS.

11. XML HTML as a DTD. DTDs and schemas. XML and CSS. HTML extension. XPath and XSLT. XML for representing web content and structure. Dynamic generation of web pages.

Module Skills

Problem solving Many aspects of web functionality can be provided in more than one way or are intrinsically complex to develop. Students will need to apply knowledge to effective solutions.  
Research skills No  
Communication The web is a communication medium. Many feature for effective communication are covered and good application of them will be emphasised.  
Improving own Learning and Performance Detail of technologies will have to be learned from professional technical sources, give strategic guidance in lectures. Effective use of these resources requires good browsing/reading strategies.  
Team work No  
Information Technology Yes  
Application of Number No  
Subject Specific Skills Production of well structured content. Application of presentation stylestyle. Production of client- and server-side code.  

Reading Lists

Books
** Recommended Text
Harvey M. Deitel, Paul J. Deitel, Andrew B. Goldberg (2004) Internet & World Wide Web How to Program, 3/E Prentice Hall 0131450913

Web Page/Sites
Extensive internet resources, particularly www.w3c.org. Identified during lectures

Notes

This module is at CQFW Level 4