Module Code: |
H9ACS |
Long Title
|
Advanced Client Side Development
|
Title
|
Advanced Client Side Development
|
Module Level: |
LEVEL 9 |
EQF Level: |
7 |
EHEA Level: |
Second Cycle |
Module Coordinator: |
Jonathan McCarthy |
Module Author: |
Jonathan McCarthy |
Departments: |
School of Computing
|
Specifications of the qualifications and experience required of staff |
|
Learning Outcomes |
On successful completion of this module the learner will be able to: |
# |
Learning Outcome Description |
LO1 |
Evaluate optimisation strategies, using design patterns with multiple encoding alternatives |
LO2 |
Critically review frameworks, tools, languages, and controls available for developing client-side rich Internet application |
LO3 |
Assess the constraints imposed by mobile devices on client side scripting |
LO4 |
Integrate the latest programming paradigms, frameworks and toolkits to create interactive client side applications |
LO5 |
Critically analyse the advantages of the separation of presentation, processing and business logic over the MVC and client-side architectural patterns. |
LO6 |
Identify and evaluate the security vulnerabilities associated with client side frameworks. |
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 |
Module Content & Assessment
Indicative Content |
Data Transfer Strategies (10%)
• Investigate the theoretical framework of an asynchronous data retrieval paradigm, e.g. Ajax.
• Enhance the client experience using optimised strategies
• Evaluate optimisation strategies, using design patterns
• Explore the advantages and disadvantages of alternative encoding strategies for digitised documents, e.g. JSON
|
Ubiquitous Computing (10%)
• Investigate the impact of resource constrained devices and unreliable telecommunications with client side scripting
• Design strategies for scripting on resource constrained devices
• Examine the potential of location based products within e Business.
|
Client-Side Libraries, Toolkits and Frameworks (15%)
• Investigate multiple paradigms for client side development (e.g. HTML5 and APIs such as Geolocation, Local Storage, and Canvas)
• Investigate the advantages and disadvantages of client side frameworks (e.g. jQuery)
• Explore internationalisation strategies (e.g. static string internationalisation)
• Develop optimised client applications compatible with all browsers (including mobile browsers)
• Evaluate and assess performance related issues within web applications.
|
Rich Internet Applications (RIA) (15%)
• Evaluate state of the art Rich Internet Applications Frameworks
• Differentiate between RIA mark-up languages (e.g. HTML v MXML v XAML)
• Summarise IDE tools, reviewing how refactoring/debugging tools support large projects
• Differentiate how alternative RIA frameworks may be positioned within a distributed model (e.g. Silverlight and the .NET framework)
• Critically analyse the position of RIA within the architectural patterns (in particular a comparison of the MVC to the ViewModel or MVVM model).
|
RIA User Interface Design (15%)
• Solve user interface design tasks using RIA framework components and state of the art 3rd part components (e.g. StackPanels, WebGL with the HTML5 Canvas)
• Develop responsive web applications (e.g. Using modernizer.js and grids for mobile devices)
• Experiment with animations to solve interaction design tasks
• Integrate rich multimedia. Stream and encode media to create enriched interactive applications.
|
Consuming Data and Services with RIAs (15%)
• Investigate networking protocols to enable communication and consumption of services (e.g., RESTful applications)
• Examine how RIA is positioned within the web services (a comparison of architectural patterns such as SOA, SaaS, participation-collaboration, and synchronized web and communication technologies such as HTTP, XML, SOAP, SPARQL)
• Implement asynchronous web development paradigms
• Experiment with serialisation encoding strategies for transporting digitized documents (JSON v XML)
• Compare the efficiency of sockets vs. client polling for different scenarios.
|
Security Considerations (10%)
• Explore and analyse security issues and vulnerabilities with client side technologies
• Evaluate strategies for securely managing sensitive logic and data (e.g. obfuscated code)
• Critically review and assess industry standard solutions for transporting data securely
• Investigate how cryptographic protocols are applied to locally stored data (e.g. SHA1 hashing algorithm).
|
Unit Testing and Deployment Strategies (10%)
• Investigate debugging and testing strategies. Experiment with state of the art tools to compare how testing strategies are applied to web applications (e.g. Using QUnit)
• Design distributed deployment strategies to share business logic by web applications
• Evaluate deployment of applications on target platforms
|
Assessment Breakdown | % |
Coursework | 100.00% |
AssessmentsFull Time
Coursework |
Assessment Type: |
Continuous Assessment (0200) |
% of total: |
50 |
Assessment Date: |
n/a |
Outcome addressed: |
1,2,3,5,6 |
Non-Marked: |
No |
Assessment Description: Continuous assessment examinations will assess learner’s knowledge and analytical skills in regard to the evaluation of the technologies introduced. |
|
Assessment Type: |
CA 1 (0380) |
% of total: |
50 |
Assessment Date: |
n/a |
Outcome addressed: |
4,5 |
Non-Marked: |
No |
Assessment Description: Project |
|
No End of Module Assessment |
Reassessment Requirement |
Coursework Only
This module is reassessed solely on the basis of re-submitted coursework. There is no repeat written examination.
|
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 |
No Description |
2 |
Every Week |
2.00 |
Tutorial |
No Description |
1 |
Every Week |
1.00 |
Independent Learning |
No Description |
7.5 |
Every Week |
7.50 |
Total Weekly Contact Hours |
3.00 |
Workload: Part Time |
Workload Type |
Workload Description |
Hours |
Frequency |
Average Weekly Learner Workload |
Lecture |
No Description |
2 |
Every Week |
2.00 |
Tutorial |
No Description |
1 |
Every Week |
1.00 |
Independent Learning |
No Description |
7.5 |
Every Week |
7.50 |
Total Weekly Contact Hours |
3.00 |
Module Resources
Recommended Book Resources |
---|
-
Peter Lubbers. (2010), Pro HTML5 Programming: Powerful APIs for Richer Internet Application Development, Apress.
-
Bob Brumfield et al. (2011), Project Silk, Microsoft.
-
David Herman. Effective JavaScript: 68 Specific Ways to Harness the Power of JavaScript,, Addison-Wesley Professional.
| Supplementary Book Resources |
---|
-
Mark Pilgrim. (2010), HTML5 Up and Running, O’Reilly.
-
James Governor. (2009), Web 2.0 Architectures: What Entrepreneurs and Information Architects Need to Know, O’Reilly.
-
Bill Scott and Theresa Neil. (2009), Designing Web Interfaces: Principles and Patterns for Rich Interactions, O’Reilly.
-
Earle Castledine and Craig Sharkie. (2010), jQuery: Novice to Ninja, Sitepoint.
| Recommended Article/Paper Resources |
---|
-
Microsoft Silverlight documentation.
-
Jesse James Garrett (2005), Ajax: A New
Approach to Web Applications.
-
Google Code University (2011) ‘AJAX’.
-
Spolsky, J. (2011) ‘Jole on Software’.
-
Atwood, J. (2011) ‘Coding Horror:
Programming and Human Factors’.
-
Learning jQuery (2011) ‘Tips,
techniques, and tutorials for the jQuery
JavaScript library’.
-
jQuery (2011) ‘jQuery Tutorials’.
-
Google Code University (2011) ‘Google:
HTML, CSS, and Javascript from the
Ground Up’.
-
Ollson, T. and O’Brien, P. (2011)
‘SitePoint Reference (CSS, HTML and
JavaScript)’.
-
Mozilla Developers Network (2011)
‘Popular Topics for Web Developers’.
-
New Review of Hypermedia and Multimedia.
-
Human-Computer Interaction.
-
IEEE Internet Computing.
-
User Modelling and User-Adapted
Interaction.
| This module does not have any other resources |
---|
|