Uniwersytet Marii Curie-Skłodowskiej w Lublinie - Centralny System Uwierzytelniania
Strona główna

Programowanie aplikacji sieciowych

Informacje ogólne

Kod przedmiotu: MFI-I.3L.097
Kod Erasmus / ISCED: (brak danych) / (brak danych)
Nazwa przedmiotu: Programowanie aplikacji sieciowych
Jednostka: Instytut Informatyki
Grupy:
Strona przedmiotu: https://umcs.rusinek.online
Punkty ECTS i inne: 0 LUB 4.00 (w zależności od programu) Podstawowe informacje o zasadach przyporządkowania punktów ECTS:
  • roczny wymiar godzinowy nakładu pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się dla danego etapu studiów wynosi 1500-1800 h, co odpowiada 60 ECTS;
  • tygodniowy wymiar godzinowy nakładu pracy studenta wynosi 45 h;
  • 1 punkt ECTS odpowiada 25-30 godzinom pracy studenta potrzebnej do osiągnięcia zakładanych efektów uczenia się;
  • tygodniowy nakład pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się pozwala uzyskać 1,5 ECTS;
  • nakład pracy potrzebny do zaliczenia przedmiotu, któremu przypisano 3 ECTS, stanowi 10% semestralnego obciążenia studenta.

zobacz reguły punktacji
Język prowadzenia: polski
Wymagania wstępne:

* Podstawowa znajomość architektury sieci (Technologie sieciowe).

* Znajomość jednego z języków programowania (C, Java, Python).

Godzinowe ekwiwalenty punktów ECTS:

Godziny kontaktowe (z udziałem nauczyciela akademickiego)

Wykład 15

Laboratorium 30

Konsultacje 5


Łączna liczba godzin z udziałem nauczyciela akademickiego 50

Liczba punktów ECTS z udziałem nauczyciela akademickiego 2


Godziny nie kontaktowe (praca własna studenta)

Samodzielne rozwiązywanie zadań 30

Przygotowanie się do laboratorium 10

Przygotowanie się do egzaminu 10


Łączna liczba godzin niekontaktowych 50

Liczba punktów ECTS za godziny niekontaktowe 2


Sumaryczna liczba punktów ECTS dla modułu 4

Sposób weryfikacji efektów kształcenia:

Warunkiem zaliczenia przedmiotu jest udział studenta w przewidzianych planem studiów zajęciach dydaktycznych oraz uzyskanie pozytywnych ocen z prac objętych tymi zajęciami.


1. Zaliczenie laboratorium (max. 100 pkt):

a) kartkówki (30 pkt) - W01-04,U02,

b) aktywność w trakcie zajęć (30 pkt) - U01-04,

c) zadania do rozwiązania w domu (15 pkt) - U01-04, K01, K02, K04,

d) projekt zaliczeniowy (25 pkt) - U01-04, K03.

Próg zaliczenia 51% punktów.


2. Egzamin pisemny (20 pytań) - W01-04, K01, K02, K04.

Próg zaliczenia 51% punktów

Pełny opis:

Programowanie aplikacji sieciowych to przedmiot, który łączy wiedzę oraz umiejętności z obszarów sieci oraz programowania. Wykład porusza tematykę protokołów komunikacji, czyli zbioru ścisłych reguł i kroków postępowania,

które są automatycznie wykonywane przez urządzenia komunikacyjne w celu

nawiązania łączności i wymiany danych. Szczegółowo zostaną omówione wybrane protokoły z modelu OSI. Następnie student zapozna się z procesem projektowania i implementowania własnego protokołu oraz analizy nieznanego mu protokołu w celu stworzenia programu klienta lub serwera dla danego protokołu. W ostatniej części zajęć student pozna zaawansowane mechanizmy wykorzystywane do tworzenia serwerów oraz programów klienckich dla szeregu protokołów warstwy aplikacji.

Zakres treści:

1. Modele komunikacji

1.1 Model OSI

1.2 Model TCP/IP

2. Protokoły komunikacyjne

2.1 ARP

2.2 IP

2.3. TCP

2.4. UDP

2.5 DNS

2.6. SMTP/IMAP/POP3

2.7. HTTP

3. Architektury sieci

4. Programowanie sieciowe za pomocą gniazd

5. Analiza protokołu

5.1. KNX

6. Projektowanie protokołu

7. Mechanizmy zaawansowane

7.1. Serwery wielowątkowe

7.2. Serwery zdarzeniowe

7.3. Szyfrowana komunikacja

Literatura:

Skrypt dostarczony w ramach wykładu oraz dostępny na stronie: https://github.com/damianrusinek/classes-pas.

James Forshaw, "Attacking Network Protocols", no starch press, 2018, ISBN-13: 978-1-59327-750-5

Efekty uczenia się:

WIEDZA

W01 - wie, w jaki sposób system operacyjny obsługuje połączenia sieciowe (K_W01,K_W07)

W02 - zna i rozumie mechanizmy obsługi połączeń sieciowych w co najmniej jednym języku wysokiego poziomu (K_W02)

W03 - zna i rozumie algorytmy przetwarzania danych przez popularne protokoły sieciowe (K_W05)

W04 - zna i rozumie sposoby przechowywania danych w procesach sieciowych (K_W06)

UMIEJĘTNOŚCI

U01 - ma umiejętność tworzenia algorytmów realizujących znane i własne protokoły sieciowe (K_U03, K_U06, K_U10, K_U11)

U02 - ma umiejętność projektowania, implementowania oraz wdrażania własnych protokołów sieciowych (K_U05, K_U10, K_U11)

U03 - ma umiejętność zapewnienia poufności i bezpieczeństwa danych w aplikacjach sieciowych (K_U04, K_U11)

U04 - ma umiejętność tworzenia użytkowych klientów protokołów sieciowych (K_U08)

KOMPETENCJE SPOŁECZNE

K01 - jest gotów na poznawanie nowych protokołów sieciowych w celu pogłębienia wiedzy (K_K01)

K02 - jest gotów do krytycznej oceny własnej wiedzy (K_K02)

K03 - jest gotów do pracy w zespole (K_K03)

K04 - jest gotów do pogłębiania wiedzy poprzez analizę dokumentacji protokołów sieciowych oraz innych technicznych źródeł w języku angielskim (K_K06)

Zajęcia w cyklu "Semestr letni 2022/2023" (zakończony)

Okres: 2023-02-27 - 2023-06-25
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin więcej informacji
Wykład, 15 godzin więcej informacji
Koordynatorzy: Marcin Smolira
Prowadzący grup: Filip Postępski, Marcin Smolira
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Egzamin
Laboratorium - Zaliczenie na ocenę
Wykład - Egzamin

Zajęcia w cyklu "Semestr letni 2023/2024" (zakończony)

Okres: 2024-02-26 - 2024-06-23
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin więcej informacji
Wykład, 15 godzin więcej informacji
Koordynatorzy: Marcin Smolira
Prowadzący grup: Filip Postępski, Marcin Smolira
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Egzamin
Laboratorium - Zaliczenie na ocenę
Wykład - Egzamin
Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Uniwersytet Marii Curie-Skłodowskiej w Lublinie.
kontakt deklaracja dostępności mapa serwisu USOSweb 7.1.1.0-308cda04f (2024-12-03)