| Module Code | CSU44000 |
| Module Name | Internet Applications |
| ECTS Weighting [1] | 5 ECTS |
| Semester Taught | Semester 1 |
| Module Coordinator/s | Dr. Viet Quoc Pham |
Module Learning Outcomes
On successful completion of this module, students will be able to:
- Describe the context from which Internet applications emerged and evolved;
- Describe the architectural elements that make up typical Internet applications;
- Construct a rudimentary Internet applications using common tools and frameworks;
- Evaluate cloud/edge computing technologies and their application to Internet applications;
- Apply distributed machine learning techniques to decentralised Internet settings and evaluate their performance, scalability, and privacy implications;
- Apply professional engineering best practice to the development of Internet Applications including the appropriate use of documentation and reference materials.
Module Content
What is an Internet Application and how have these evolved?
- Key Technologies: HTML, CSS, HTTP/HTTPS, JavaScript, Node.JS, Node Package Managers.
- Environment: Client Side (Browser) and Server, Using Node.JS, NPM and Support Tools.
- Web Frameworks: Angular, React, Vue (Model-View-Controller Paradigm).
- Cloud Computing: Cloud Computing Architectures (SaaS, IaaS, PaaS), Database Services, Load Balancing, Orchestration.
- Edge Computing: Cloud Edge Computing, Computing Continuum.
- Decentralised Internet Applications: Privacy-preserving Federated Learning, Federated Machine Unlearning, Decentralised Machine Learning, Web3.
Teaching and Learning Methods
A mix of lectures involving slides and tutorials will be used to introduce and reinforce key concepts of Internet Applications. As part of the module, students will complete regular labs on enabling technologies for Internet applications.
Assessment Details
| Assessment Component | Brief Description | Learning Outcomes Addressed | % of Total | Week Set | Week Due |
| Programming Assignment 1 | The assignment is based on coursework covered in the first half of the semester and is to develop an Internet Application. | LO2, LO3, LO6 | 40% | Week 4 | Week 6 |
| Programming Assignment 2 | The assignment is based on coursework from the second half of the semester and builds a distributed Internet Application. | LO4, LO5, LO6 | 10% | Week 10 | Week 11 |
| Test | Multiple-choice quiz or short practical programming questions or both on Internet Applications and their enabling technologies. The test will be a supervised, time limited, closed book format. | LO1, LO2, LO4, LO5 | 30% | Week 12 | Week 12 |
| Coursework | In-class quizzes to complete over the course of the semester to check the progress. | LO1, LO2, LO4, LO5 | 20% | NA | Week 12 |
Reassessment Details
Multiple choice quiz or short practical programming questions or both on the technologies used to develop Internet applications including decentralised Internet applications. The test will be a supervised, time limited, closed book format.
Contact Hours and Indicative Student Workload
| Contact Hours (scheduled hours per student over full module), broken down by: | 34 hours |
| Lecture/tutorial | 22 hours |
| Laboratory | 12 hours |
| Tutorial or seminar | 0 hours |
| Independent Study (outside scheduled contact hours), broken down by: | 82 hours |
| Preparation for classes and review of material (including preparation for examination, if applicable) | 41 hours |
| Completion of assessments (including examination, if applicable) | 41 hours |
| Total Hours | 116 hours |
Recommended Reading List
Please see recommendations on the module Blackboard pages.
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 (web protocols, cloud edge computing, etc.) and in basic machine learning (edge AI, federated learning, etc.).
Module Co-requisites
N/A