Birla Institute of Technology & Science, Pilani
Network Programming and Client-Server Programming

Ce cours n'est pas disponible en Français (France)

Nous sommes actuellement en train de le traduire dans plus de langues.
Birla Institute of Technology & Science, Pilani

Network Programming and Client-Server Programming

Inclus avec Coursera Plus

Obtenez un aperçu d'un sujet et apprenez les principes fondamentaux.
niveau Débutant

Expérience recommandée

2 mois à compléter
à 10 heures par semaine
Planning flexible
Apprenez à votre propre rythme
Obtenez un aperçu d'un sujet et apprenez les principes fondamentaux.
niveau Débutant

Expérience recommandée

2 mois à compléter
à 10 heures par semaine
Planning flexible
Apprenez à votre propre rythme

Ce que vous apprendrez

  • Write advanced C programs for OS and network-level tasks, including inter-process communication, threading, and synchronisation techniques.

  • Develop high-performance servers and distributed applications using client-server models, remote procedure calls, and socket programming.

  • Ensure efficient communication between hosts, processes, and threads while applying concurrency, synchronisation, and programming principles.

Compétences que vous acquerrez

  • Catégorie : Network Troubleshooting
  • Catégorie : System Programming
  • Catégorie : Distributed Computing
  • Catégorie : Network Protocols
  • Catégorie : Web Servers
  • Catégorie : Microservices
  • Catégorie : OS Process Management
  • Catégorie : Servers
  • Catégorie : Application Programming Interface (API)
  • Catégorie : Web Services
  • Catégorie : File Transfer Protocol (FTP)
  • Catégorie : Network Performance Management
  • Catégorie : Software Development
  • Catégorie : Debugging
  • Catégorie : System Design and Implementation
  • Catégorie : Computer Networking
  • Catégorie : Network Architecture
  • Catégorie : Scalability
  • Catégorie : Systems Architecture
  • Catégorie : TCP/IP

Détails à connaître

Certificat partageable

Ajouter à votre profil LinkedIn

Récemment mis à jour !

novembre 2025

Enseigné en Anglais

Découvrez comment les employés des entreprises prestigieuses maîtrisent des compétences recherchées

 logos de Petrobras, TATA, Danone, Capgemini, P&G et L'Oreal

Il y a 10 modules dans ce cours

In this module, you will learn the basics of computer networks and their architecture, the founding principle of the Internet and its architecture, addressing schemes at the data link layer (i.e, MAC address), network layer (i.e., IPv4 address), and transport layer (i.e., port numbers), and finally, you will have your first program that has the ability to communicate over a network.

Inclus

11 vidéos5 lectures10 devoirs1 laboratoire non noté

In this module, you will learn the concept of process and its representations, requirements and mechanisms of interprocess communications, the use of signal, pipe, message queue, shared memory for interprocess communication, the concept of synchronisation, and the use of semaphores for process synchronisation.

Inclus

14 vidéos4 lectures16 devoirs1 laboratoire non noté

In this module, your will learn BSD networking and hosts in the networks, testing connections between hosts and presence of hosts. You will also explore an advanced network simulation tool, named "mininet", for simulating networks. You will learn various networking APIs, APIs for clients and servers, IPv6 compatible APIs. Finally, TCP/IP big picture, basics of TCP, UDP, SCTP and IP, tracing and debugging simple programs and programs with system calls, sock and tcpdump will be covered.

Inclus

12 vidéos5 lectures14 devoirs

In this module, you will learn UDP sockets and their usage to develop Echo client-server program, TCP sockets and their usage to develop Echo client-server program, and SCTP sockets and their usage in client-server programs.

Inclus

9 vidéos4 lectures11 devoirs

In this module, you will learn the mechanism to measure server performance, simulating a large number of clients, measuring performance of a large variety of server design options, like TCP iterative server, concurrent server, server with preformed child processes without file locking, server with thread, servers with preformed child processes and file locking, servers with thread locking, develop HTTP client and server programs.

Inclus

12 vidéos4 lectures14 devoirs

In this module, you will learn the basics of Telnet and its command structure, Telnet client and server programs, basics of FTP and its process model, FTP client and server programs, advantage of concurrency in server programs, and example implementations of a simple iterative and concurrent web search engines.

Inclus

11 vidéos4 lectures13 devoirs

In this module, you will learn about the types of socket operation, types of I/O models, blocking and non-blocking I/O models, signal-driven and asynchronous I/O models. Finally, you will revisit str_cli() Function and then go on to develop a better str_cli() function.

Inclus

10 vidéos4 lectures12 devoirs

In this module, you will learn the basics of remote procedure call, concept of door and use it for remote procedure call within a host, understand the function definitions and data structures used in door, get introduced to Sun RPC and use it to build up client-server applications.

Inclus

11 vidéos4 lectures13 devoirs

In this module, you will explore the process of building distributed applications through the use of remote procedure calls (RPC). You will gain a deep understanding of how RPC allows communication between different systems over a network by invoking functions or procedures on remote servers as if they were local. The module will also cover how to represent and transmit data across networks in a way that is independent of any specific programming language, ensuring compatibility between different systems. Additionally, you will learn to work with popular RPC frameworks, gaining hands-on experience in implementing, managing, and optimising these frameworks for effective communication in distributed environments.

Inclus

14 vidéos4 lectures16 devoirs

In this module, you will explore the core challenges faced when designing distributed systems, focusing on the complexities that arise from ensuring communication, consistency, fault tolerance, and scalability across multiple interconnected systems. You will delve into the various design approaches and architectural patterns used to address these challenges, such as client-server models, peer-to-peer networks, and hybrid architectures. Through these discussions, you will gain an understanding of the trade-offs involved in making design decisions, such as balancing performance with fault tolerance, or consistency with availability, which are critical in creating reliable and efficient distributed systems. The module will also cover distributed file systems, specifically the Network File System (NFS) and the Andrew File System (AFS). You will learn how NFS enables remote file access over a network, providing a seamless experience similar to local file access, and how AFS uses a more sophisticated approach with caching and replication mechanisms to improve performance and fault tolerance. By the end of the module, you will have a deeper appreciation for the complexities of distributed system design and the strategies employed to manage the inherent trade-offs in real-world applications.

Inclus

14 vidéos4 lectures16 devoirs

Instructeur

BITS Pilani Instructors Group
Birla Institute of Technology & Science, Pilani
30 Cours45 651 apprenants

Offert par

En savoir plus sur Computer Security and Networks

Pour quelles raisons les étudiants sur Coursera nous choisissent-ils pour leur carrière ?

Felipe M.
Étudiant(e) depuis 2018
’Pouvoir suivre des cours à mon rythme à été une expérience extraordinaire. Je peux apprendre chaque fois que mon emploi du temps me le permet et en fonction de mon humeur.’
Jennifer J.
Étudiant(e) depuis 2020
’J'ai directement appliqué les concepts et les compétences que j'ai appris de mes cours à un nouveau projet passionnant au travail.’
Larry W.
Étudiant(e) depuis 2021
’Lorsque j'ai besoin de cours sur des sujets que mon université ne propose pas, Coursera est l'un des meilleurs endroits où se rendre.’
Chaitanya A.
’Apprendre, ce n'est pas seulement s'améliorer dans son travail : c'est bien plus que cela. Coursera me permet d'apprendre sans limites.’
Coursera Plus

Ouvrez de nouvelles portes avec Coursera Plus

Accès illimité à 10,000+ cours de niveau international, projets pratiques et programmes de certification prêts à l'emploi - tous inclus dans votre abonnement.

Faites progresser votre carrière avec un diplôme en ligne

Obtenez un diplôme auprès d’universités de renommée mondiale - 100 % en ligne

Rejoignez plus de 3 400 entreprises mondiales qui ont choisi Coursera pour les affaires

Améliorez les compétences de vos employés pour exceller dans l’économie numérique

Foire Aux Questions

¹ Certains travaux de ce cours sont notés par l'IA. Pour ces travaux, vos Données internes seront utilisées conformément à Notification de confidentialité de Coursera.