... | @@ -2,23 +2,28 @@ |
... | @@ -2,23 +2,28 @@ |
|
|
|
|
|
## Summary
|
|
## 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.
|
|
Part 1 of this 2 part module is mainly concerned with data stores, SQL, and the basic architecture of common web applications. In the process, you will also be introduced to server-side scripting using the PHP language. The second part of the course will build on knowledge acquired in part 1, this time focusing primarily on server-side scripting, application design, and networks.
|
|
|
|
|
|
---
|
|
---
|
|
|
|
|
|
## Learning aims
|
|
## Learning aims
|
|
|
|
|
|
By the end of this course, you will all be able to:
|
|
By the end of this course, you will all be able to:
|
|
* Describe the common structure of database-driven web applications
|
|
* Explain the differences between dynamic, data-driven web applications and static websites
|
|
* Set up a LAMP development environment
|
|
* Describe the common structure of data-driven web applications
|
|
|
|
* Identify components of common software stacks used to develop dynamic web applications such as LAMP and MAMP
|
|
* Store, access and manipulate data with SQL
|
|
* Store, access and manipulate data with SQL
|
|
* Access data with a scripting language (PHP) and database API
|
|
* Access data with a scripting language (PHP) and database API
|
|
* Create a simple data-base driven web application
|
|
* Design a schema for a web-based application
|
|
|
|
* Program a simple data-driven web application
|
|
* Identify and describe potential threats to security and integrity of data
|
|
* Identify and describe potential threats to security and integrity of data
|
|
* Back-up and restore a database
|
|
* Back-up and restore a database
|
|
* Identify non-relational alternatives and new database technologies
|
|
* Identify a variety of alternative database technologies and describe their key differences
|
|
|
|
* Query a document-based data store (MongoDB)
|
|
|
|
|
|
Some of you will also be able to:
|
|
Some of you will also be able to:
|
|
* Perform advanced database queries
|
|
* Perform advanced database queries in SQL
|
|
|
|
* Understand performance characteristics of particular equivalent relational expressions and methods for optimising queries
|
|
* Demonstrate independent learning and effective problem-solving strategies
|
|
* Demonstrate independent learning and effective problem-solving strategies
|
|
* Critically evaluate a programming solution
|
|
* Critically evaluate a programming solution
|
|
* Explain the advantages/disadvantages of different database technologies
|
|
* Explain the advantages/disadvantages of different database technologies
|
... | @@ -26,6 +31,7 @@ Some of you will also be able to: |
... | @@ -26,6 +31,7 @@ Some of you will also be able to: |
|
---
|
|
---
|
|
|
|
|
|
## Prerequisites
|
|
## Prerequisites
|
|
|
|
|
|
### Essential
|
|
### Essential
|
|
* Basic IT literacy
|
|
* Basic IT literacy
|
|
|
|
|
... | @@ -37,16 +43,21 @@ Some of you will also be able to: |
... | @@ -37,16 +43,21 @@ Some of you will also be able to: |
|
|
|
|
|
## Structure
|
|
## Structure
|
|
* 10 x 1.5 hr lectures
|
|
* 10 x 1.5 hr lectures
|
|
* 10 x 1.5 hr lab sessions
|
|
* 10 x 2 hr lab sessions
|
|
* Coursework (small project ~5 hrs)
|
|
* Coursework (exp. ~5 hrs per week)
|
|
|
|
* Independent study (exp. ~5 hrs per week)
|
|
|
|
|
|
|
|
**Total expected study time:** 15 hours per week
|
|
|
|
|
|
---
|
|
---
|
|
|
|
|
|
## Assessment
|
|
## 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.
|
|
The whole module (terms 1 & 2) consists of:
|
|
|
|
* 80% exam
|
|
|
|
* 20% coursework
|
|
|
|
|
|
|
|
Coursework in **term 1** will consist of a series of **laboratory exercises** which will be submitted together as a **small project**. In term 2 you will complete a separate small project. Each coursework component is equally weighted and thus **worth 10% of the module** as a whole.
|
|
|
|
|
|
---
|
|
---
|
|
|
|
|
... | @@ -57,10 +68,10 @@ Coursework in term 1 will consist of assessed laboratory exercises, whereas in t |
... | @@ -57,10 +68,10 @@ Coursework in term 1 will consist of assessed laboratory exercises, whereas in t |
|
* Hyper-Text Transfer Protocol (HTTP)
|
|
* Hyper-Text Transfer Protocol (HTTP)
|
|
+ Introduction to databases
|
|
+ Introduction to databases
|
|
* Relational model
|
|
* Relational model
|
|
* Databse design
|
|
* Common software solution stacks
|
|
* Popular database management systems
|
|
* Popular database management systems
|
|
* Setting up a LAMP development environment
|
|
|
|
+ Database design
|
|
+ Database design
|
|
|
|
* Keys and other constraints
|
|
+ Data definition and manipulation in MySQL
|
|
+ Data definition and manipulation in MySQL
|
|
* Defining a schema
|
|
* Defining a schema
|
|
* Inserting and retrieving records
|
|
* Inserting and retrieving records
|
... | @@ -78,13 +89,15 @@ Coursework in term 1 will consist of assessed laboratory exercises, whereas in t |
... | @@ -78,13 +89,15 @@ Coursework in term 1 will consist of assessed laboratory exercises, whereas in t |
|
+ Advanced data selection
|
|
+ Advanced data selection
|
|
* Sorting
|
|
* Sorting
|
|
* Table joins
|
|
* Table joins
|
|
|
|
* Equivalent relational expressions
|
|
|
|
* Query optimisation
|
|
+ Transactions and locking
|
|
+ Transactions and locking
|
|
+ Database administration
|
|
+ Database administration
|
|
* Security
|
|
* Security
|
|
* Backing-up/restoring data
|
|
* Backing-up/restoring data
|
|
+ Alternative database technologies
|
|
+ Alternative database technologies
|
|
* Non-relational model
|
|
* Row vs column data stores
|
|
* Current and future trends
|
|
* Non-relational database technologies
|
|
|
|
|
|
---
|
|
---
|
|
|
|
|
... | @@ -96,8 +109,14 @@ For this course you will rely heavily on online resources to help you solve prob |
... | @@ -96,8 +109,14 @@ For this course you will rely heavily on online resources to help you solve prob |
|
|
|
|
|
Developing good research and problem solving skills is part and parcel of being a developer, so do not get disheartened when something doesn't work first time!
|
|
Developing good research and problem solving skills is part and parcel of being a developer, so do not get disheartened when something doesn't work first time!
|
|
|
|
|
|
## Seeking extra help from the tutor
|
|
## Getting extra help from the tutor
|
|
|
|
|
|
You can book slots with your tutor for extra help by going to:
|
|
You can book slots with Sorrel by going to:
|
|
https://sorrelharriet.youcanbook.me/
|
|
https://sorrelharriet.youcanbook.me/
|
|
|
|
|
|
|
|
Drop in hours are Thursdays 14:00-16:00. Start of term and approaching deadlines tend to be busy, so either plan well ahead, or form groups.
|
|
|
|
|
|
|
|
Her office is located in 29 St James, Room 6.
|
|
|
|
|
|
|
|
You can also email questions to s.harriet@gold.ac.uk, or post questions on the 'Gold Overflow' forum: https://learn.gold.ac.uk/mod/forum/view.php?id=358269
|
|
|
|
|