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
- More infoCourse page on website of École Polytechnique
- Contact a coordinator
- About studying within the Euroteq alliancehttps://euroteq.eurotech-universities.eu/initiatives/building-a-european-campus/course-catalogue/
- LevelMaster
- InstructorsThomas Clausen
- Mode of deliveryOnline - at a specific time
