|
# Databases, Networks & the Web - Part 1
|
|
# Databases, Networks & the Web
|
|
|
|
|
|
## Summary
|
|
## Summary
|
|
|
|
|
|
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.
|
|
Term 1 of this 30 credit 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.
|
|
|
|
|
|
---
|
|
In the Term 2, you will build on knowledge acquired in term 1, this time focusing primarily on server-side scripting, application design, and networks.
|
|
|
|
|
|
## Learning aims
|
|
|
|
|
|
|
|
By the end of this course, you will all be able to:
|
|
|
|
* Explain the differences between dynamic, data-driven web applications and static websites
|
|
|
|
* 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
|
|
|
|
* Access data with a scripting language (PHP) and database API
|
|
|
|
* 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
|
|
|
|
* Back-up and restore a database
|
|
|
|
* 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:
|
|
|
|
* 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
|
|
|
|
* Critically evaluate a programming solution
|
|
|
|
* Explain the advantages/disadvantages of different database technologies
|
|
|
|
|
|
|
|
---
|
|
---
|
|
|
|
|
|
## Prerequisites
|
|
## Module prerequisites
|
|
|
|
|
|
### Essential
|
|
### Essential
|
|
* Basic IT literacy
|
|
* Basic IT literacy
|
... | @@ -53,15 +31,43 @@ Some of you will also be able to: |
... | @@ -53,15 +31,43 @@ Some of you will also be able to: |
|
|
|
|
|
## Assessment
|
|
## Assessment
|
|
|
|
|
|
The whole module (terms 1 & 2) consists of:
|
|
The whole module consists of:
|
|
* 80% exam
|
|
* 80% exam
|
|
* 20% coursework
|
|
* 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.
|
|
Coursework in **term 1** will consist of a series of **laboratory exercises** which will be submitted together as a **small project**. The deadline is expected to be **Friday 9th December**.
|
|
|
|
|
|
|
|
In **term 2** you will complete a separate **small project** (deadline TBC).
|
|
|
|
|
|
|
|
Each coursework component is equally weighted and thus **worth 10% of the module** as a whole.
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
## Term 1 Learning Objectives
|
|
|
|
|
|
|
|
By the end of **term 1**, you will all be able to:
|
|
|
|
* Explain the differences between dynamic, data-driven web applications and static websites
|
|
|
|
* 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
|
|
|
|
* Access data with a scripting language (PHP) and database API
|
|
|
|
* 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
|
|
|
|
* Back-up and restore a database
|
|
|
|
* 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:
|
|
|
|
* 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
|
|
|
|
* Critically evaluate a programming solution
|
|
|
|
* Explain the advantages/disadvantages of different database technologies
|
|
|
|
|
|
---
|
|
---
|
|
|
|
|
|
## Topics
|
|
## Term 1 Topics
|
|
|
|
|
|
+ What is a web application?
|
|
+ What is a web application?
|
|
* 3 tiered application model
|
|
* 3 tiered application model
|
... | @@ -101,22 +107,30 @@ Coursework in **term 1** will consist of a series of **laboratory exercises** wh |
... | @@ -101,22 +107,30 @@ Coursework in **term 1** will consist of a series of **laboratory exercises** wh |
|
|
|
|
|
---
|
|
---
|
|
|
|
|
|
## Recommended texts/other resources
|
|
## Recommended Reading
|
|
|
|
|
|
For this course you will rely heavily on online resources to help you solve problems you will invariably encounter. Utilising forums such as Gold Overflow (on learn.gold) and Stack Overflow are highly recommended, as are the official reference guides for MySQL 5.5 and PHP 5:
|
|
For this course you will rely heavily on online resources to help you solve problems you will invariably encounter. A couple you should definitely make use of are:
|
|
+ https://dev.mysql.com/doc/refman/5.5/en/
|
|
+ Official MySQL (v5.5) documentation: https://dev.mysql.com/doc/refman/5.5/en/
|
|
+ http://php.net/manual/en/langref.php
|
|
+ Official PHP documentation: http://php.net/manual/en/langref.php
|
|
|
|
|
|
|
|
Also highly recommended are:
|
|
|
|
+ Module forum: https://learn.gold.ac.uk/mod/forum/view.php?id=358269
|
|
|
|
+ Stack Overflow: http://stackoverflow.com/
|
|
|
|
+ Tutorials Point: http://www.tutorialspoint.com/sql/
|
|
|
|
|
|
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!
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
## Getting extra help from the tutor
|
|
## Getting extra help from the tutor
|
|
|
|
|
|
You can book slots with Sorrel 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.
|
|
**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.
|
|
Her office is located in **29 St James, Room 6** (first floor, first door on left).
|
|
|
|
|
|
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
|
|
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
|
|
|
|
|
|
|
|
**We hope you enjoy the module!** |
|
|
|
\ No newline at end of file |