Module Code: |
H8CADEV |
Long Title
|
Cloud Application Development
|
Title
|
Cloud Application Development
|
Module Level: |
LEVEL 8 |
EQF Level: |
6 |
EHEA Level: |
First Cycle |
Module Author: |
Alex Courtney |
Departments: |
School of Computing
|
Specifications of the qualifications and experience required of staff |
Master’s and/or PhD degree in computing or cognate discipline. May have industry experience also.
|
Learning Outcomes |
On successful completion of this module the learner will be able to: |
# |
Learning Outcome Description |
LO1 |
Identify and apply web application frameworks and design patterns to cloud based solutions. |
LO2 |
Demonstrate conceptual, technical and practical skills in the analysis, design, implementation and deployment of a SaaS application to a suitable Platform as a Service. |
LO3 |
Demonstrate a clear understanding of Test-Driven Development, including Unit, Functional, Integration and System Testing. |
LO4 |
Apply and evaluate continuous integration and delivery strategies to handle their application running in a cloud platform. |
Dependencies |
Module Recommendations
This is prior learning (or a practical skill) that is required before enrolment on this module. While the prior learning is expressed as named NCI module(s) it also allows for learning (in another module or modules) which is equivalent to the learning specified in the named module(s).
|
No recommendations listed |
Co-requisite Modules
|
No Co-requisite modules listed |
Entry requirements |
Learners should have attained the knowledge, skills and competence gained from stage 3 of the BSc (Hons) in Computing.
|
Module Content & Assessment
Indicative Content |
Programming Language
Understanding programming language type. Programming fundamentals (from language syntax, variables, loops, conditionals through to data structures). Designing reusable code
|
Introduction to Cloud Computing
What is Cloud Computing?. Cloud Service Models (Infrastructure as a Service (IaaS), Platform as a Service (PaaS), Software as a Service (SaaS)). Cloud Deployment Models (public cloud, private cloud, community cloud, hybrid cloud). Main Cloud Services (e.g. compute, storage, databases); Examples of cloud services offered by different cloud providers (e.g. Amazon Web Services, Microsoft Azure, Google Cloud Platform, IBM Cloud)
|
Web Application Frameworks
Introduction to Web frameworks. Models (investigating abstraction support available through framework, constructing models and relationships between models, understanding validation supports). Views (exploring how views are rendered within chosen framework to support multiple outputs). Controllers (investigating how controllers orchestrate communication within the application). Dynamic content generation (in particular for CRUD functionality). Creating scheduled tasks
|
Design Patterns
Understanding the importance of Design Patterns, including their historical evolution. Creational Design Patterns. Structural Design Patterns. Behavioural Design Patterns
|
Test Driven Development
Understanding a test-driven development approach. Testing framework support within Web App Frameworks. Unit Testing. Functional Testing. Integration Testing. Systems Testing. Comparison of testing environments
|
Front-end development for SaaS applications
The Client Layer. Browser-Based Clients. Native Applications
|
Web Application Deployment
Investigate service level agreements. Deploying SaaS applications to Public Cloud platforms. Monitoring SaaS applications
|
Continuous Delivery
Vagrant Development Environments. Automatic IaaS provisioning. Fundamentals of managing services with Chef and Puppet. Maintaining systems using Chef and Puppet. Working with Docker Containers. Maintaining Docker Containers
|
Assessment Breakdown | % |
Coursework | 100.00% |
AssessmentsFull Time
Coursework |
Assessment Type: |
Formative Assessment |
% of total: |
Non-Marked |
Assessment Date: |
n/a |
Outcome addressed: |
1,2,3,4 |
Non-Marked: |
Yes |
Assessment Description: The formative assessment will consist of ongoing independent practical tasks in the form of designing and implementing different deliverables for a prototype SaaS application. Oral feedback will be provided throughout these activities. |
|
Assessment Type: |
Project |
% of total: |
100 |
Assessment Date: |
n/a |
Outcome addressed: |
1,2,3,4 |
Non-Marked: |
No |
Assessment Description: The project will enable learners to design, implement, evaluate and deploy a SaaS application to a public Cloud platform. |
|
No End of Module Assessment |
Reassessment Requirement |
Repeat examination
Reassessment of this module will consist of a repeat examination. It is possible that there will also be a requirement to be reassessed in a coursework element.
|
Reassessment Description Coursework Only This module is reassessed solely on the basis of re-submitted coursework. There is no repeat written examination. Learners who fail this module will be afforded an opportunity to take the repeat module assessment where all learning outcomes will be assessed.
|
NCIRL reserves the right to alter the nature and timings of assessment
Module Workload
Module Target Workload Hours 0 Hours |
Workload: Full Time |
Workload Type |
Workload Description |
Hours |
Frequency |
Average Weekly Learner Workload |
Lecture |
Classroom & Demonstrations (hours) |
24 |
Every Week |
24.00 |
Tutorial |
Other hours (Practical/Tutorial) |
36 |
Every Week |
36.00 |
Independent Learning |
Independent learning (hours) |
190 |
Every Week |
190.00 |
Total Weekly Contact Hours |
60.00 |
Module Resources
Recommended Book Resources |
---|
-
David A. Black,Joseph Leo. (2019), The Well-Grounded Rubyist, Manning Publications, p.584, [ISBN: 978-1617295218].
-
Bala Paranj. (2017), Test Driven Development in Ruby, Apress, p.244, [ISBN: 978-1484226377].
| Supplementary Book Resources |
---|
-
Stephane Jourdan,Pierre Pomes. Infrastructure as Code (IAC) Cookbook, [ISBN: 978-1-78646-491-0].
-
Armando Fox,David Patterson. Engineering Software as a Service, [ISBN: 978-0984881246].
| This module does not have any article/paper resources |
---|
This module does not have any other resources |
---|
|