|
|
# Databases, Networks & the Web - Part 1
|
|
|
|
|
|
## Summary
|
|
|
|
|
|
Part 1 of this 2 part module is mainly concerned with databases and the basic architecture of common web applications, although you will also be introduced to the PHP scripting language in the process. The second part of the course will build on knowledge acquired in part 1, this time focusing primarily on PHP programming and networks.
|
|
|
|
|
|
---
|
|
|
|
|
|
## Learning aims
|
|
|
|
|
|
By the end of this course, you will all be able to:
|
|
|
* Describe the common structure of database-driven web applications
|
|
|
* Set up a LAMP development environment
|
|
|
* Store, access and manipulate data with SQL
|
|
|
* Access data with a scripting language (PHP) and database API
|
|
|
* Create a simple data-base driven web application
|
|
|
* Identify and describe potential threats to security and integrity of data
|
|
|
* Back-up and restore a database
|
|
|
* Identify non-relational alternatives and new database technologies
|
|
|
Some of you will also be able to:
|
|
|
* Perform advanced database queries
|
|
|
* Demonstrate independent learning and effective problem-solving strategies
|
|
|
* Critically evaluate a programming solution
|
|
|
* Explain the advantages/disadvantages of different database technologies
|
|
|
|
|
|
---
|
|
|
|
|
|
## Prerequisites
|
|
|
### Essential
|
|
|
* Basic IT literacy
|
|
|
|
|
|
### Beneficial
|
|
|
* Programming experience (any language)
|
|
|
* Markup languages (e.g. HTML, XML, JSON)
|
|
|
|
|
|
---
|
|
|
|
|
|
## Structure
|
|
|
* 10 x 1.5 hr lectures
|
|
|
* 10 x 1.5 hr lab sessions
|
|
|
* Coursework (small project ~5 hrs)
|
|
|
|
|
|
---
|
|
|
|
|
|
## Assessment
|
|
|
* 80% exam (worth 40% of entire module)
|
|
|
* 20% coursework (worth 10% of entire module)
|
|
|
|
|
|
Coursework in term 1 will consist of assessed laboratory exercises, whereas in term 2 you will be given a project.
|
|
|
|
|
|
---
|
|
|
|
|
|
## Topics
|
|
|
|
|
|
+ What is a web application?
|
|
|
* 3 tiered application model
|
|
|
* Hyper-Text Transfer Protocol (HTTP)
|
|
|
+ Introduction to databases
|
|
|
* Relational model
|
|
|
* Databse design
|
|
|
* Popular database management systems
|
|
|
* Setting up a LAMP development environment
|
|
|
+ Database design
|
|
|
+ Data definition and manipulation in MySQL
|
|
|
* Defining a schema
|
|
|
* Accessing
|
|
|
+ Introduction to PHP
|
|
|
* Syntax
|
|
|
* Data types
|
|
|
* Selection and iteration
|
|
|
* Functions
|
|
|
+ Accessing data with PHP
|
|
|
* Popular database APIs
|
|
|
* Connect and query database with mysqli
|
|
|
+ Data manipulation with PHP
|
|
|
* Form handling
|
|
|
* Inserting and updating data
|
|
|
+ Advanced data selection
|
|
|
* Sorting
|
|
|
* Table joins
|
|
|
+ Transactions and locking
|
|
|
+ Database administration
|
|
|
* Security
|
|
|
* Backing-up/restoring data
|
|
|
+ Alternative database technologies
|
|
|
* Non-relational model
|
|
|
* Current and future trends
|
|
|
|
|
|
---
|
|
|
## Recommended texts/other resources |