Internet and Cloud Computing

Module code: CO4219

Module co-ordinator: Thomas Erlebach

Internet-based communication has become essential for our society and economy. Furthermore, the advent of cloud computing has revolutionised the way in which data is stored and processed. In the first part of this module we will cover basic concepts of networking such as internet architecture, the sliding window protocol for reliable transfer, routing in the internet, and end-to-end protocols (TCP and UDP). You will also learn how to carry out calculations to predict network performance.

The second part of the module will focus on cloud computing. We will cover the principles of cloud computing, the MapReduce programming model for large-scale data processing, the implementation of MapReduce programs using Hadoop, and security considerations relevant to cloud computing.

Topics covered

  • Introduction to basic networking concepts, including discussion of ISO/OSI network model with seven layers and TCP/IP network model with four layers. Basics of the socket programming interface.
  • Performance analysis including calculations with transmission rates, bandwidth, throughput and latency.
  • Overview of Internet architecture and mechanisms for routing and internetworking.
  • Principles, architecture of cloud computing, including aspects of fault-tolerance, privacy and security.
  • Scalable distributed computing using the MapReduce programming model, and implementation in Java using the Hadoop framework.


  • 28 hours of lectures
  • 6 hours of surgeries
  • 2 hours of labs
  • 3 hours of problem classes
  • 1 hour of lass tests


  • Coursework (40%)
  • Written exam (60%)