CSU44000 – Internet Applications

Module CodeCSU44000
Module Name Internet Applications
ECTS Weighting [1]5 ECTS
Semester TaughtSemester 1
Module Coordinator/s  Prof. Donal O’Mahony

Link to presentation introducing module CSU44000

Module Learning Outcomes

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

  1. Understand the context from which Internet Applications emerged and evolved;
  2. Develop a familiarity with the architectural elements that make up typical internet applications;
  3. Acquire the ability to construct a rudimentary Internet Application using common tools and Frameworks (such as Javascript and Vue);
  4. Understand how Cloud Computing can be used to deploy internet applications along with the cost trade-offs involved;
  5. Understand the techniques and tools used to scale internet applications to serve variable and very high user loads;
  6. Make use of appropriate documentation and reference material. Consider the ethical and engineering issues regarding data security, integrity and sovereignty.

Module Content

Note that this course is running in this new format for the first time in 2019/20 and content may be adjusted slightly as the course progresses.

What is an Internet Application and how have these evolved?

  • Key Technologies: Javascript, Node Package Managers Execution;
  • Environment: Client Side (Browser) and Server Using Node.JS, NPM and support tools Cloud Computing Architectures – SaaS, IaaS, PaaS, Serverless Computing A simple Cloud-based Internet Application;
  • Web Frameworks: Angular, React and Vue – The Model-View-Controller paradigm Web Based Development – Git & Github Database Services Load Balancing, Scaling & Monitoring.

Teaching and Learning Methods

A mix of lectures involving slides and video materials. A small number of supervised labs will be held.

Assessment Details

Assessment ComponentBrief Description Learning Outcomes Addressed% of TotalWeek SetWeek Due
Assignment 1Simple Internet Application
Development
LO1, LO2, LO315%Week 5Week 7
Assignment 2Deployment of Internet Application in a Cloud ContexLO3, LO450%Week 9Week 11
Assignment 3Development of a Simple
Serverless (Function-as-a-Service) Service
All15%Week 10Week 10
Assignment 4Quiz on the Decentralized InternetLO4, LO520%Week 12Week 12

Reassessment Details

Examination (3 hours, 100%).

Contact Hours and Indicative Student Workload

Contact Hours (scheduled hours per student over full module), broken down by: 33 hours
Lecture22 hours
Laboratory11 hours
Tutorial or seminar0 hours
Other0 hours
Independent Study (outside scheduled contact hours), broken down by:77 hours
Preparation for classes and review of material (including preparation for examination, if applicable)36 hours
Completion of assessments (including examination, if applicable)41 hours
Total Hours110 hours

Recommended Reading List

N/A

Module Pre-requisites

Prerequisite modules: N/A

Other/alternative non-module prerequisites: Students are expected to be competent programmers in some block-structured language and capable of learning Javascript without special instruction. A basic knowledge of UNIX command line usage will be assumed as will a strong proficiency in basic internet technology (socket communications, web protocols, etc).

Module Co-requisites

N/A

Module Website

Blackboard

Links to classes for the first two weeks (for students who may wish to switch to this module):

Video Introduction to the module by Course Presenter

Guest Link to Course Room for 1st 2 weeks