Computer Networking & Distributed Applications (with project)

CSC_42M01_EP
Computer Science and ICT, Data, AI

About this course

Practically every time we interact with a computer program — on our computer, tablet, smartphones, SmartTVs or our refrigerators … or, for some reason on our also connected toaster oven — we’re in reality interacting with a distributed application.

The device we hold in our hands for sending an email (or, into which we slide our sliced toast … ) will, at the very least, communicate with a server, somewhere out there in “the cloud” — and, most often, comunicate with a whole host of servers, and computers … and does so through what we call “The Internet”.

A corollary to this is that every relevant modern application is a distributed aplication, which uses the Internet and the cloud — and, in a nutshell, the purpose of this MODAL is to teach you how to competently develop those.

That implies, of course, discovering how the net works (pun intended), what a protocol is, what a system is, and what the different acronyms that you might encounter really means: TCP/IP, SMTP, NAT, NATP, etc. It also implies writing programs which communicate over the Internet — who knows, maybe you will be getting the impulse to starting the next Google or FaceBook during this course?

This course will consist of a set of activities, organised through "learning flows". These activities are:

  • Video Capsules, which introduce key technological concepts for conceiving network systems.
  • Quizzes, which will help you verify if you have learned the key technological concepts and -- if not -- will help you identify which you will need to study further.
  • Tutorials, which will take you "from neophyte" to a competent networker, and which will teach you how to write communicating programs, and have them talk to each other across the Internet.
  • A Project, which will allow you to, more autonomously, apply the competencies that you have learned.

Course Evaluation & Grading:

  • Up for grabs: 100 points

  • Quizzes & Tutorials: 30 points

  • Project: 70 points

  • Letter-grades:

  • > 50 points ➔ C

  • A, B, C distributed in accordance with the “note de cadrage” from the DE

  • Any instance of plagiarism will be met with an F.

  • The grade F, will be used for all scores ≤50%

  • Nummerical grades:

  • Highest point score (assuming >80) ➔ 20/20

  • >50 points: ➔ ≥ 10/20

  • Other point-scores mapped to [0;20] distributed to be in accordance with the “note de cadrage” from the DE

Learning outcomes

Upon successful completion of the course, a student will be able to:

  • Describe the basic architecture of the Internet
  • Understand the functional roles of key physical components (switch, hub, router, ..) of a computer network
  • Understand the functional roles of key logical components (DHCP server, DNS server, …) of a computer network
  • Develop simple networked programs (clients) in C, which communicate with computers (servers) across a computer network
  • Develop simple servers, in C, capable of concurrently handling connections from multiple clients.
  • Autonomously conceive of, design, and implement, a non-trivial distributed application, communicating across the Internet

Examination

  • Up for grabs: 100 points

  • Quizzes & Tutorials: 30 points

  • Project: 70 points

  • Letter-grades:

  • > 50 points ➔ C

  • A, B, C distributed in accordance with the “note de cadrage” from the DE

  • Any instance of plagiarism will be met with an F.

  • The grade F, will be used for all scores ≤50%

  • Nummerical grades:

  • Highest point score (assuming >80) ➔ 20/20

  • >50 points: ➔ ≥ 10/20

  • Other point-scores mapped to [0;20] distributed to be in accordance with the “note de cadrage” from the DE

Resources

Activities

Video capsules, Asynchronous Learning Flows, Flipped Classrooms

Additional information

course
6 ECTS
  • Level
    Master
  • Instructors
    Thomas Clausen
  • Mode of delivery
    Online - at a specific time

Starting dates

  • 20 Nov 2026

    ends 12 Feb 2027

    Language
    Enrolment starts 15 May
    Register between 15 May - 15 Jul
These offerings are valid for students of TUM (Germany)