Module Descriptors
SERVER-SIDE PROGRAMMING
COMP50016
Key Facts
Digital, Technology, Innovation and Business
Level 5
30 credits
Contact
Leader: Fiona Knight
Hours of Study
Scheduled Learning and Teaching Activities: 78
Independent Study Hours: 222
Total Learning Hours: 300
Pattern of Delivery
  • Occurrence A, Stoke Campus, UG Semester 1 to UG Semester 2
  • Occurrence B, Asia Pacific Institute of Information Technology Sri Lanka (Colombo), UG Semester 1 to UG Semester 2
  • Occurrence C, Asia Pacific Institute of Information Technology Sri Lanka (Colombo), UG Semester 1 to UG Semester 2
  • Occurrence D, Asia Pacific Institute of Information Technology Sri Lanka (Colombo), UG Semester 3 to UG Semester 2
  • Occurrence D, Asia Pacific Institute of Information Technology Sri Lanka (Colombo), UG Semester 3 to UG Semester 1
  • Occurrence E, Asia Pacific Institute of Information Technology Sri Lanka (Colombo), UG Semester 2 to UG Semester 3
  • Occurrence E, Asia Pacific Institute of Information Technology Sri Lanka (Colombo), UG Semester 2 to UG Semester 1
  • Occurrence F, Digital Institute London, UG Semester 1 to UG Semester 2
  • Occurrence G, Asia Pacific Institute of Information Technology Sri Lanka (Kandy), UG Semester 1 to UG Semester 2
  • Occurrence H, Asia Pacific Institute of Information Technology Sri Lanka (Kandy), UG Semester 3 to UG Semester 1
  • Occurrence I, Asia Pacific Institute of Information Technology Sri Lanka (Kandy), UG Semester 1 to UG Semester 2
  • Occurrence J, Asia Pacific Institute of Information Technology Sri Lanka (Kandy), UG Semester 2 to UG Semester 3
Sites
  • Asia Pacific Institute of Information Technology Sri Lanka (Colombo)
  • Asia Pacific Institute of Information Technology Sri Lanka (Kandy)
  • Digital Institute London
  • Stoke Campus
Assessment
  • Individual Practical Assignment - 10-minute demonstration weighted at 20%
  • Individual Practical Assignment 20-minute demonstration weighted at 80%
Module Details
Module Learning Outcomes
1. DEMONSTRATE A CRITICAL UNDERSTANDING OF THE FUNCTIONALITY THAT IS USED IN SERVER-SIDE WEB APPLICATION FRAMEWORKS.
Knowledge and Understanding,
Communication

2. DESIGN, IMPLEMENT, TEST AND DEMONSTRATE A FLEXIBLE, ROBUST AND SECURE SERVER-SIDE WEB APPLICATION SOLUTION.
Analysis,
Application,
Communication

3. APPLY APPROPRIATE WEB APPLICATION TESTING STRATEGIES AND EXPLAIN THE IMPORTANCE OF THEIR USE.
Knowledge and Understanding

4. DEMONSTRATE A CRITICAL UNDERSTANDING OF THE SECURITY ISSUES THAT AFFECT WEB APPLICATIONS AND IMPLEMENT AN APPROPRIATE STRATEGY TO COUNTER POTENTIAL RISKS.
Problem Solving
Module Additional Assessment Details
Assessment 1 is linked to Learning Outcome 1.
Implement, test and demonstrate common components of web application functionality.

Assessment 2 is linked to Learning Outcomes 1 to 4.
Design, implement, test and demonstrate a web application.
Module Indicative Content
Server-side programming
Object oriented design and programming
Connection to a database
Manipulation of a relational database using a server-side programming language
Managing data persistence
Agile approaches to web development
Securing web applications
Testing strategies
Unit testing and testing methods
Introduction to development tools such as source control and a project dependency manager

Module Learning Strategies
26 hours of lectures to introduce key topics and concepts.
52 hours of tutor-assisted practical sessions. In the practical sessions you will get hands-on experience of the principles taught in the lectures.
Module Texts
Zandstra, M. (2016) “PHP Objects, Patterns, and Practice.” 5th edition. Apress. ISBN: 9781484219959
Lockhart, J. (2015) “Modern PHP: New Features and Good Practices.” O’Reilly Media. ISBN: 9781491905012
Stauffer, M. (2016) “Laravel – Up and Running.” O’Reilly Media. ISBN: 9781491936085
Module Resources
PHP7 & MySQL
Composer
Jetbrains PHPStorm (or alternative IDE for PHP)
http://php.net/
Module Special Admissions Requirements
None
Web Descriptor
This module focuses on industry standard web application development.
You will be introduced to methods, tools, and frameworks that will provide you an experience of contemporary server-side web development practices.
You will experience various ‘good practice’ code development techniques and practices including SOLID principles, design patterns, unit testing, dependency management, source control, and web application security.
In the first semester, the focus is on PHP and Laravel. In the second semester you will go on to look at Vue/React and how to use them with a server-side application. You will then finish by looking at Java, NetBeans, and JavaServer Faces.