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.
The aims of this module are:
On successful completion of the module, students will be able to:
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.
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 |
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.
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 |
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% |
It IS NOT a requirement that any element of assessment is passed separately in order to achieve an overall pass for the module.
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
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