Skip to main content

Server-Side Web Programming

Overview

  • Credit value: 15 credits at Level 6
  • Convenor: Ian Hollender
  • Assessment: programming tasks (40% and 60%)

Module description

In this module you will learn the basics of procedural and object-orientated PHP and how to use the language to produce well-engineered server-side websites and applications, following a separation of concerns design philosophy. You will have the opportunity to develop user login authenticated single point of entry websites, following a model view controller design pattern, utilising file and database access, form data processing, and cookie and session control.

Indicative syllabus

  • Introduction to web technology and development environments: basic web page, HTML validation, FTP and database connections
  • Dynamic web pages: direct HTML generation and templating - simple headings, paragraphs and images.
  • Dynamic web pages: lists and tables
  • File handling and processing
  • Connecting web pages to databases
  • Web forms: generating and data processing
  • Web forms: data validation and dynamic error reporting
  • Implementing stateful server interactions using cookies and sessions
  • The model view controller (MVC) design pattern

Learning objectives

By the end of this module you will be able to:

  • understand the difference between client-side and server-side script programming for web development
  • demonstrate proficiency in PHP syntax, including variables, constants and comments
  • apply Boolean logic and decision-making process
  • develop and utilise PHP built-in and user-defined functions effectively
  • dynamically create, validate and process HTML forms
  • work with dates and Unix timestamps in applications
  • implement data storage and retrieval using cookies
  • maintain state between web pages using sessions
  • write secure code to protect against common vulnerabilities
  • understand and apply the MVC design pattern in web applications
  • connect web pages to databases and perform CRUD operations
  • understand and apply the MVC design pattern in web applications
  • generate dynamic web pages using direct HTML generation and templating techniques
  • validate HTML and ensure web pages meet web standards
  • implement dynamic error reporting and data validation in web forms
  • utilise the secure shell to publish and manage web applications
  • perform file-handling operations, including opening, reading, writing and managing directories
  • connect web pages to databases and perform CRUD operations
  • develop problem-solving skills through debugging and optimising code.