Modules Taught

In my work for the University of Salford, I have created and delivered modules in a variety of web-development and software engineering related areas.

Advanced Web Development

This is a 20 credit module where the students learn about how to create a large scale web application and API. Using Symfony 3 (and prior to this Symfony 2) as the basis they learn about dependency injection, web security, object-relational mapping, service based architecture and REST APIs with OAuth 2.

Client Side Programming

A new module in 2016, Client Side Programming is a 20 credit module which covers the creation of a single-page application along with more generic software development principles such as unit testing and version control. For this module the students develop a client side application using Angular 2 with TypeScript, and write behavioural tests for the application. The students are also taught about Git and how to approach the concepts of version control with collaborative development.

Mobile Development

I taught the cross-platform section of this module, which used Cordova to create a JavaScript based mobile application. In this it covered how to develop a cross-platform mobile app, the problems that are likely to be encountered and how to go about consuming a third party API.

Advanced Programming

This is an MSc module, and I developed and taught the section about REST API development. Here we covered the concepts of creating a RESTful API, what makes an API RESTful and REST like, the design decisions that are likely to be encountered and also discussed areas where REST may not be suited. Silex was used to allow students to quickly create an API which conformed to REST specifications.

Server Side Programming

In 2010 I acquired this module and updated it for PHP 5. Here the students learnt how to develop simple PHP applications along with database access. This involved introducing the MVC design pattern, and using PDO for database interaction.

Web Page Design

In 2011 I updated the notes for this module to HTML 5 and CSS 3. This was a first year module and covered the DOM, semantic web, new elements in HTML 5, introduction to CSS and media queries.

Additional Lectures

As well as developing these modules I have delivered guest lectures on the following topics:

  • Introduction to Git and distributed version control systems
  • Introduction to NoSQL with MongoDB
  • REST API Design
  • Geospatial data