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.