CS312 – Web Applications Development

Credits 20
Level 3
Semester 1
Prerequisites CS207 Advanced Programming
CS209 User & Data Modelling
Availability Possible elective
Contact Lectures: 15| Videos: 7 | 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


Web application design with reference to alternative architectures;

Client-side technologies:

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

Server-side technologies:

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

Integration of client and server-side applications that exploit databases;

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, privacy and legal aspects (common privacy and security attacks (e.g. cookies; injection attacks))

Awareness of the role of Web development platforms and content management systems (e.g. Drupel, WordPress and Angular)

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.

Learning PHP, MySQL, and JavaScript (4th edition), Robin Nixon, O’Reilly, 2014, ISBN 978-1491918661

Further Reading:
Don’t Make Me Think: A Common Sense Approach to Web Usability Revisited, Steve Krug, 2013,978-0321965516
Responsive Web Design with HTML5 and CSS3,Ben Frain, 2012, 978-1849693189
The Principles of Beautiful Web Design, Jason Beaird & James George, 2014, 978-0992279448