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;
- Analyse the technical and economic benefits of the techniques and tools used to scale internet applications to serve variable and very high user loads;
- 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;
- Cloud Computing Architectures: SaaS, IaaS, PaaS, Serverless Computing;
- Web Frameworks: Angular, React and Vue (Model-View-Controller Paradigm), Cloud-based Internet Applications, Database Services, Load Balancing, Containers, Orchestration;
- Decentralised Internet Applications: Edge Computing, Federated Learning, Serverless Decentralized 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 | Development of an Internet Application. Document the development process in both written and video format. | LO2, LO3, LO5, LO6 | 40% | Week 4 | Week 6 |
Test 1 | Multiple-choice quiz or short practical programming questions or both on the technologies used to develop Internet Applications. The test will be a supervised, time limited, closed book format. | LO1, LO2, LO4, LO5 | 30% | Week 9 | Week 9 |
Test 2 | Multiple-choice quiz or short practical programming questions or both on Edge Computing and Decentralised Internet Applications. The test will be a supervised, time limited, closed book format. | LO1, LO2, LO4, LO5 | 30% | Week 12 | 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: | 33 hours |
Lecture/tutorial | 22 hours |
Laboratory | 11 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 | 115 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 (socket communications, web protocols, etc).
Module Co-requisites
N/A