- Computer Networks -


| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9| 10 | 11 | 12 | 13 | 14 |


Week 1 (29 September - 05 October 2025)


Week 1'-2' (!!!See Discord)- Programare cursuri in urmatoarele doua saptamani


  • !!!Course:
    • Network Architecture
      • Organizational aspects:Joi, 02.10.2025
      • 2E: 10-12- Online (link pe Discord)
      • 2A: 12-14 - sala C1
      • 2B: 14-16 - sala C2

    • Network Level (I)
      • Organizational aspects: Luni, 06.10.2025
      • 2B: 08-10 - Online (link pe Discord)
      • 2E: 10-12 - sala C210 + link pe Discord (hibrid)
      • 2A: 14-16 - sala C2

    • Transport Level
      • Organizational aspects:
      • 8-10 - Online; Joi, 09.10.2025
      • 10-12 - Online; Joi, 09.10.2025
      • 8-10 - Online; Sambata 11.10.2025


Week 2


  • Laboratory: Process Management & Inter-process communication via signals
    • Concurrent execution of two parent and child processes, using fork() primitive: fork.c
    • Example using fork(), execlp(), wait(): exec.c
    • Example: when capturing a SIGUSR2 signal, the /etc/services file content will be displayed: sig.c

Week 3


Week 4

  • Course:
    • [Online] Network Programming (part I). Please follow the meeting schedule posted on Discord.

  • Laboratory:
    • First mandatory homework presentation and uploading. Follow the teacher's specifications and don't upload your homework without her/his approval.
    • The use of some commands referring to network level (/sbin/ip, ping, /usr/sbin/traceroute) and transport level (netstat);
    • Discussions on fragments from a computer network (don't forget about the links provided at the course): arp-frames.txt, icmp-frames.txt, tcp-frames.txt;

Week 5


  • Course:
    • Course was recoverd in advance in Week 1-2'.

  • Laboratory: TCP/IP implementation (iterative server and a client).
    • TCP iterative server, accompanied by a client. The server receives a name from the client and turns back Hello name. The client takes the name from the standard input, sends it to the server, then expects the server's response:
      servTcpIt.c; cliTcpIt.c; Makefile.


Week 6


  • Course:
    • Network Programming (part II)
    • Example:
      • An UDP iterative server, with a UDP client. The server receives a name from the client and replies with Hello name. The client reads a name from the standard input, sends it to the server, and waits for the reply.
        servUdp.c; cliUdp.c; Makefile.

  • Laboratory: TCP/IP concurrent server implementation.


Week 7


  • Course:

  • Laboratory: TCP/IP concurrent server implementation.


Week 8

Week 9


  • Course:
    • Domain Name System

  • Laboratory: TCP/IP server and client implementations, with I/O multiplexing using select().
    • Example: TCP server and a client application. The server receives a name from the client and replies with Hello name. The client reads the name from the standard input, sends it to the server, then waits for the reply. Sources: servTcpCSel.c; cliTcp.c; Makefile

  • Homework 2 (mandatory): specifications (RO), specifications (EN)


Week 10


  • Course:
    • Application level

  • Laboratory: UDP server and client implementations.
    • Example: An UDP iterative server, with a UDP client. The server receives a name from the client and replies with Hello name. The client reads a name from the standard input, sends it to the server, and waits for the reply.
      servUdp.c; cliUdp.c; Makefile.


Week 11


  • Course:
    • P2P Paradigm
    • RPC Paradigm

  • Laboratory: Second mandatory homework presentation and uploading. Follow the teacher's specifications and don't upload your homework without her/his approval. Please pay attention to the file naming convention.

  • Optional:
    • Optional Course: OOB Communication (RO)
    • Example: OOB (out-of-band) data transmission between TCP/IP servers and clients, using select()
      • Example: a TCP server and a client. The clients sends messages to the server, among which, from time to time, some OOB data is sent. The server uses select() to receive standard data and OOB data.
        clientTcpOobSelect.c; serverTcpOobSelect.c;
      • Example: a TCP server and a client. The clients sends messages to the server, among which, from time to time, some OOB data is sent. The server treats the SIGURG signal to identify the OOB data.
        clientTcpOobSigurg.c; serverTcpOobSigurg.c;
      • Example: a TCP server and a client. The clients sends messages to the server, among which, from time to time, some OOB data is sent. The server uses the sockatmark() function to identify the OOB data.
        clientTcpOobSockat.c; serverTcpOobSockat.c;


Week 12


  • Course:
    • Network Level (II)

  • Laboratory:
    • TCP/IP concurrent server implementation using threads. Example:
      A concurrent server that creates a thread for each connected client: servTcpConcTh2.c; cliTCPNr.c
      A prethreaded server, which uses mutexes for protecting accept(): servTcpPreTh.c; cliTcpNr.c

    • Project Development or Project Presentation (and uploading; follow the teacher's specifications and don't upload your project without her/his approval and please pay attention to the file naming convention). Very important: the project can be presented and evaluated only once.


Week 13


  • Course:
    • Wireless Networks

  • Laboratory: Application development using the following functions: gethostbyname() | getaddrinfo(); gethostbyaddr() | getnameinfo().
    • Example: a program that uses gethostbyname(): exgethostbyname.c;
    • RPC Example
    • Project Development or Project Presentation (and uploading; follow the teacher's specifications and don't upload your project without her/his approval and please pay attention to the file naming convention). Very important: the project can be presented and evaluated only once.


Week 14


  • Course:
    • Computer Networks - security aspects

  • Laboratory: Project Presentation and uploading. Follow the teacher's specifications and don't upload your project without her/his approval and please pay attention to the file naming convention.



  • The project is rated as ongoing evaluation and cannot be presented during the evaluation or re-evaluation session.