CS312 – Web Applications Development

TIMETABLE TEACHING MATERIAL
Credits 20
Level 3
Semester 1
Prerequisites CS207 Advanced Programming
CS209 User & Data Modelling
Availability Possible elective
Contact Lectures: 22 | Tutorials: 0 | Labs: 33
Assignments: 70 | Self study: 75
Assessment 50% classwork, 50% written 2-hour examination
Resit Resit is by a 2-hour examination.
Lecturer Dr Mark Dunlop

General Aims

To help the student gain an understanding of the technologies used in the development of N-tier Internet-based applications.

Learning Outcomes

On completion of the class, a student should be able design and develop realistic web-based applications that include client-side programming and server-side functionality with database components.

In particular, the student should learn:

  • to understand the typical topology of internet applications
  • to develop accessible and secure internet-based applications that make use of:
    • client-side technologies
    • server-side technologies
    • back-end technologies for storing server-side data
    • distributed web applications

Syllabus

Web application design with reference to alternative architectures;

Client-side technologies:

  • Page mark-up and visual styling (XHTML and CSS)
  • Form verification and checking (JavaScript)
  • Simple image handling (JavaScript, XHTML, DOM, CSS)
  • Asynchronous communication with the server-side (AJAX)

Server-side technologies (for example, Java Servlets, CGI, SSI, PHP/JSP/ASP):

  • Dynamic page generation (CGI, PHP)
  • Handling client-side submissions (PHP)
  • Database integration (MySQL, PHP)

Integration of client and server-side applications that exploit databases (for example, MySQL, JDBC);

Developing realistic web applications that combine a range of client-side technologies and server-side programming with database management, taking account of:

  • software engineering practices (design and maintenance issues, team-based development)
  • web interface design issues (for example, the separation of content from functionality, cross-platform considerations);
  • human-computer interaction / usability considerations
  • accessibility guidelines (ability to deliver information in a clear and concise fashion; consideration of special needs and internationalisation);
  • web security and privacy (common privacy and security attacks (e.g. cookies; injection attacks))

Web development platforms and content management systems (e.g. Drupel)

Recommended Text/Reading*

* This list is indicative only – the class lecturer may recommend alternative reading material. Please do not purchase any of the reading material listed below until you have confirmed with the class lecturer that it will be used for this class.

Core Web Application Development with PHP and MySQL. Marc Wandscheider Pearson Education, 2006, ISBN 8131701654 | Stocked at Amazon (Other retailers are available)

Sams Teach Yourself Ajax, JavaScript, and PHP All in One. Phil Ballard and Michael Moncur Sams, 2008, ISBN 0672329654 | Stocked at Amazon (Other retailers are available)