Module Details

Module Code: SOFT8039
Title: Progressive Web Applications
Long Title: Progressive Web Applications
NFQ Level: Advanced
Valid From: Semester 1 - 2017/18 ( September 2017 )
Duration: 1 Semester
Credits: 5
Field of Study: 4814 - Computer Software
Module Delivered in: 1 programme(s)
Module Description: A web application can be defined as code that is running inside a web browser with an application-like interface that interacts with some server-side software. Progressive Web Apps also provide a native-like experience to the user. In this module the student will learn the skills required to create these applications. They will learn how to create the application-like interfaces, to facilitate communication and storage strategies, to deploy their applications on a variety of devices and environments, and to use the native features of those devices.
 
Learning Outcomes
On successful completion of this module the learner will be able to:
# Learning Outcome Description
LO1 Create application-like interfaces using web standards.
LO2 Employ the native APIs and features of the devices running the client-side code.
LO3 Develop web applications that can access persistent data in online, low bandwidth and offline environments.
LO4 Adapt their applications for current methods of web application distribution.
Dependencies
Module Recommendations

This is prior learning (or a practical skill) that is strongly recommended before enrolment in this module. You may enrol in this module if you have not acquired the recommended learning but you will have considerable difficulty in passing (i.e. achieving the learning outcomes of) the module. While the prior learning is expressed as named MTU module(s) it also allows for learning (in another module or modules) which is equivalent to the learning specified in the named module(s).

Incompatible Modules
These are modules which have learning outcomes that are too similar to the learning outcomes of this module. You may not earn additional credit for the same learning and therefore you may not enrol in this module if you have successfully completed any modules in the incompatible list.
No incompatible modules listed
Co-requisite Modules
No Co-requisite modules listed
Requirements

This is prior learning (or a practical skill) that is mandatory before enrolment in this module is allowed. You may not enrol on this module if you have not acquired the learning specified in this section.

No requirements listed
 
Indicative Content
Native App Interfaces
Creating app-like web pages. Single page applications. Viewport settings. Icons. Design guidelines. Responsive Web Design, Discoverability/SEO.
Application Behaviour
Web Application Manifest, Homescreen Installation, Native APIs (Incl. geolocation, device orientation, push notifications, audio/video capture). User input and control mechanisms (mouse, keyboard, touchscreen, drag and drop). Performance
Storing Data & Working Offline
Synchronous vs Asynchronous storage. IndexDB, locastorage object, Service Workers, Promises, Caching API
Distributing Web Apps
Types of Web Applications: Native vs Web Applications. App Stores. Saas, Native Wrappers, Mobile Webview Apps. Hybrid Web Apps. Progressive Web Apps: Linkability, Installability, Discoverability, Security, Retention, Responsiveness, Progressive Enhancement
Module Content & Assessment
Assessment Breakdown%
Coursework100.00%

Assessments

Coursework
Assessment Type Project % of Total Mark 30
Timing Week 7 Learning Outcomes 1,2
Assessment Description
Build a specified interactive web application interface that adapts to the environments it is deployed in and utilises the native features of the device.
Assessment Type Essay % of Total Mark 25
Timing Week 10 Learning Outcomes 1,2,3,4
Assessment Description
An example essay title would be identify and discuss the applications and implications of progressive web applications.
Assessment Type Project % of Total Mark 45
Timing Week 13 Learning Outcomes 1,2,3,4
Assessment Description
An example assessment would be to build a specified client-server web application that can operate in offline, online or low bandwidth conditions.
No End of Module Formal Examination
Reassessment Requirement
Coursework Only
This module is reassessed solely on the basis of re-submitted coursework. There is no repeat written examination.

The University reserves the right to alter the nature and timings of assessment

 

Module Workload

Workload: Full Time
Workload Type Contact Type Workload Description Frequency Average Weekly Learner Workload Hours
Lecture Contact Lecture delivering theory underpinning learning outcomes. Every Week 2.00 2
Lab Contact Lab to support learning outcomes. Every Week 2.00 2
Independent & Directed Learning (Non-contact) Non Contact Independent Study. Every Week 3.00 3
Total Hours 7.00
Total Weekly Learner Workload 7.00
Total Weekly Contact Hours 4.00
Workload: Part Time
Workload Type Contact Type Workload Description Frequency Average Weekly Learner Workload Hours
Lecture Contact Lecture delivering theory underpinning learning outcomes. Every Week 2.00 2
Lab Contact Lab to support learning outcomes. Every Week 2.00 2
Independent & Directed Learning (Non-contact) Non Contact Independent Study. Every Week 3.00 3
Total Hours 7.00
Total Weekly Learner Workload 7.00
Total Weekly Contact Hours 4.00
 
Module Resources
Recommended Book Resources
  • Tal Ater. (2017), Building Progressive Web Apps: Bringing the Power of Native to the Browser, O'Reilly, [ISBN: 9781491961650].
Supplementary Book Resources
  • David Flanagan. (2011), JavaScript: The Definitive Guide, 6. O'Reilly, [ISBN: 9780596805524].
  • Ethan Marcotte, Jeremy Keith. (2014), Responsive Web Design, 2. A Book Apart, [ISBN: 9781937557188].
  • Russ Ferguson, Christian Heilmann. (2013), Beginning JavaScript with DOM Scripting and Ajax, 2. Apress, [ISBN: 9781430250920].
This module does not have any article/paper resources
Other Resources
 
Module Delivered in
Programme Code Programme Semester Delivery
CR_KWEBD_8 Bachelor of Science (Honours) in Web Development 8 Mandatory