Search our site
Search our site

Database Driven Application Development

  • Module code: CI5320
  • Year: 2019/0
  • Level: 5
  • Credits: 30
  • Pre-requisites: None
  • Co-requisites: None

Summary

This module seeks to establish the skills required to build full-stack database-driven web applications. You will learn how to design, build and query databases according to user information needs using logical data models and structured query language (SQL). You will also learn how to design and build scalable interactive applications that are delivered over the web and integrated with a backend database.

Aims

The aims of this module are:

  • to develop theoretical and practical knowledge to design, develop and manage data models using modern database management systems
  • to equip students with the skills required to build modern, scalable web-based applications that interface with a database back-end
  • to expose students to group- and pair-working approaches as used in professional web application development

Learning outcomes

On successful completion of the module, students will be able to:

  • design a conceptual data model that captures an organisation's data requirements for a database
  • convert conceptual models to physical models (eg. relational data model) and apply normalization
  • rapidly build efficient and effective databases using SQL and write queries to retrieve data
  • articulate the role of data administration, security and recovery processes in database management systems.
  • create dynamic web applications using at least one server-side technology (eg. PHP) and at least one client-side technology (eg. JavaScript) that use appropriate APIs to query and store data in a database
  • build a modular web application that is scalable and demonstrates an understanding of how the different components should interrelate

Curriculum content

  • data modelling
  • conceptual designs and their transformation into physical models
  • relational database theory and its use in database design
  • transactions, integrity and recovery
  • database design considerations: data types, views
  • SQL and querying data
  • current developments in database technologies (e.g, NoSql, cloud computing)
  • data administration and recovery processes in database management systems
  • building dynamic web applications using server side scripting platform(s) e.g. PHP
  • web application design patterns, separation of concerns and scalable application development for the web
  • using APIs to access a database backend
  • object to relational database mapping
  • Javascript and JQuery
  • AJAX and web services
  • security: vulnerabilities and how to avoid them
  • user experience considerations for web applications
  • accessibility and other legal/ethical considerations for web applications

Teaching and learning strategy

The module uses a mix of lectures and practical workshops to simulate an industry environment. The primary means of guiding and facilitating students' learning is either through one 4-hour lab-based session, or one 2-hour lecture and one 2-hour workshop each week. Group activities may be used to simulate industry methodologies eg. Pair Programming. These are designed to complement group activities in other modules which simulate a wider team context. Attendance at such sessions is mandatory due to the nature of the work and simulated industry environment. During workshop sessions students have the opportunity to either work on summative coursework tasks or to engage with practical activities designed to complement lectures and help establish key skills and concepts discussed. The Pair Programming activities also offer an opportunity for peer-learning and allow students to establish alternate support structures. Practical activities broadly follow the coursework tasks so as to provide a scaffolding for student learning and maximise their chances of success. During weekly sessions academic staff will adopt the role of "line managers" again mirroring industry practice; this embeds ongoing feedback and feedforward.

Breakdown of Teaching and Learning Hours

Definitive UNISTATS Category Indicative Description Hours
Scheduled learning and teaching Lectures, practical workshops, coursework and supplemental activities 100
Guided independent study Continuation of coursework and supplemental activities; additional learning and reading 200
Total (number of credits x 10) 300

Assessment strategy

There are three strands of assessment: two related courseworks and one examination. Both courseworks are practical projects in which students build artefacts similar to those that would be required in industry context.

The first coursework involves the design and implementation of a database based on a case study. Students will be expected to produce appropriate modelling and design artefacts and then use these as a basis to implement their data model in an appropriate database management system. The second coursework builds upon the first, and involves the design and development of a fully interactive, functional web application which (potentially) uses the implemented data model as a backend (alternatively, students may chose to build a new data model if they prefer). Coursework projects may be conducted as a group activity, using industry methods such as Pair Programming, as it is rare for industry professionals to operate alone. Procedures will be in place to ensure students receive appropriate credit for their individual contribution to their group, to provide a regulated channel to register any issues that might arise, and to enable "line managers" (ie. academic staff) to intervene should an "employee" (student) not be contributing appropriately.

A final written examination allows students to demonstrate their understanding of theoretical concepts, as well as their own individual progress.

Mapping of Learning Outcomes to Assessment Strategy (Indicative)

Learning Outcome Assessment Strategy
1) Design a conceptual data model that captures an organisation's data requirements for a database Practical Coursework / Examination
2) Convert conceptual models to physical models (eg. relational data model) and apply normalization Practical Coursework / Examination
3) Rapidly build efficient and effective databases using SQL and write queries to retrieve data Practical Coursework / Web application project / Examination
4) Articulate the role of data administration, security and recovery processes in database management systems. Examination
5) Create dynamic web applications using at least one server-side technology (e.g. PHP) and at least one client-side technology (e.g. JavaScript) that use appropriate APIs to query and store data in a database Web application project / Examination
6) Build a modular web application that is scalable and demonstrates an understanding of how the different components should interrelate Web application project / Examination

Elements of Assessment

Description of Assessment Definitive UNISTATS Categories Percentage
Practical coursework (with written report) Coursework 25%
Web application project Coursework 25%
Two hour written examination (closed book) Examination 50%
Total (to equal 100%) 100%

Achieving a pass

It IS NOT a requirement that any element of assessment is passed separately in order to achieve an overall pass for the module.

Bibliography core texts

Thomas Connelly, Carolyn Begg (2015) Database Systems: A practical guide to Design, Implementation and Management, 6th edition. Pearson.

Welling, L and Thomson, L, (2016), "PHP and MySQL Development", 4th Edition, Pearson

Bibliography recommended reading

Peter Rob, Carlos Coronel and Keeley Crockett, (2011), Database Systems: Design, Implementation & Management, International edition, Thomson Learning.

Alice Rischert (2009), Oracle SQL by Example, 4th edition, Prentice Hall

Find a course

Course finder

Find a course
>