Moduł oferowany także w ramach programów studiów:
Informacje ogólne:
Nazwa:
Programowanie sieciowe i cyberbezpieczeństwo
Tok studiów:
2018/2019
Kod:
JIS-2-034-GK-s
Wydział:
Fizyki i Informatyki Stosowanej
Poziom studiów:
Studia II stopnia
Specjalność:
Grafika komputerowa i przetwarzanie obrazów
Kierunek:
Informatyka Stosowana
Semestr:
0
Profil kształcenia:
Ogólnoakademicki (A)
Język wykładowy:
Polski
Forma i tryb studiów:
Stacjonarne
Strona www:
 
Osoba odpowiedzialna:
dr inż. Gach Grzegorz (grzegorz.gach@motorolasolutions.com)
Osoby prowadzące:
Krótka charakterystyka modułu

Moduł pozwala nabyć wiedzę oraz umiejętności konieczne do implementacji aplikacji sieciowych w C++. Przedmiot przygotowany i prowadzony przez pracowników Motorola Solutions Systems Polska.

Opis efektów kształcenia dla modułu zajęć
Kod EKM Student, który zaliczył moduł zajęć wie/umie/potrafi Powiązania z EKK Sposób weryfikacji efektów kształcenia (forma zaliczeń)
Wiedza
M_W002 Student zna zasady działania bezpiecznych aplikacji sieciowych zaimplementowanych w języku C++. IS2A_W06, IS2A_W02 Wykonanie projektu
Umiejętności
M_U001 Student potrafi zaimplementować bezpieczną aplikację sieciową wykorzystując język C++. IS2A_U05, IS2A_U02 Wykonanie ćwiczeń laboratoryjnych,
Wykonanie projektu
M_U002 Student potrafi oszacować podatność aplikacji sieciowej napisanej w języku C++ na ataki. IS2A_U01 Wykonanie projektu
Kompetencje społeczne
M_K001 Student potrafi zespołowo zrealizować projekt bezpiecznej aplikacji sieciowej w języku C++. IS2A_K02 Wykonanie projektu
Matryca efektów kształcenia w odniesieniu do form zajęć
Kod EKM Student, który zaliczył moduł zajęć wie/umie/potrafi Forma zajęć
Wykład
Ćwicz. aud
Ćwicz. lab
Ćw. proj.
Konw.
Zaj. sem.
Zaj. prakt
Zaj. terenowe
Zaj. warsztatowe
Inne
E-learning
Wiedza
M_W002 Student zna zasady działania bezpiecznych aplikacji sieciowych zaimplementowanych w języku C++. + - - - - - - - - - -
Umiejętności
M_U001 Student potrafi zaimplementować bezpieczną aplikację sieciową wykorzystując język C++. - - + + - - - - - - -
M_U002 Student potrafi oszacować podatność aplikacji sieciowej napisanej w języku C++ na ataki. - - - + - - - - - - -
Kompetencje społeczne
M_K001 Student potrafi zespołowo zrealizować projekt bezpiecznej aplikacji sieciowej w języku C++. - - - + - - - - - - -
Treść modułu zajęć (program wykładów i pozostałych zajęć)
Wykład:

Na wykładach zostaną omówione aspekty teoretyczne oraz praktyczne związane z programowaniem sieciowym w języku C++:

  • niezbędne API
  • podstawowe informacje o popularnych protokołach, takich jak UDP, TCP, DNS, HTTP
  • możliwe rodzaje ataków na aplikacje ze szczególnym uwzględnieniem aplikacji sieciowych napisanych w C++
  • dobre praktyki tworzenia oprogramowania odpornego na przedstawione ataki
  • podstawy protokołów szyfrowania danych TLS

Ćwiczenia laboratoryjne:

Podczas ćwiczeń laboratoryjnych będą rozwiązywane zadania bezpośrednio związane z materiałem aktualnie omawianym na wykładach. Praktyczne wykorzystanie wiedzy z wykładów pozwoli na jej utrwalenie oraz pogłębienie poprzez zdobycie doświadczenia w implementacji. Praca pod okiem prowadzącego pozwoli na rozwianie wątpliwości związanych z praktycznym zastosowaniem omawianych zagadnień.

Każde z ćwiczeń laboratoryjnych zostanie ocenione przez prowadzącego jako zaliczone lub niezaliczone.

Ćwiczenia projektowe:

Zajęcia projektowe będą realizowane w kilkuosobowych grupach. Celem każdej z grup będzie opracowanie od podstaw aplikacji sieciowej. Oznacza to, że każda z grup samodzielnie zaprojektuje, zaimplementuje oraz udokumentuje swoją aplikację. Wykonanie zadania będzie wymagało połączenia wszystkich zagadnień omawianych na wykładach, co pozwoli studentom skonsolidować i utrwalić zdobytą wiedzę i umiejętności.

Każdy student otrzyma indywidualną ocenę z projektu. W projekcie oceniany będzie produkt końcowy, kod, projekt, dokumentacja, a także indywidualny wkład studenta w projekt oraz zadania dodatkowe.

Nakład pracy studenta (bilans punktów ECTS)
Forma aktywności studenta Obciążenie studenta
Sumaryczne obciążenie pracą studenta 78 godz
Punkty ECTS za moduł 3 ECTS
Udział w wykładach 14 godz
Udział w ćwiczeniach laboratoryjnych 16 godz
Udział w ćwiczeniach projektowych 8 godz
Wykonanie projektu 32 godz
Przygotowanie do zajęć 8 godz
Pozostałe informacje
Sposób obliczania oceny końcowej:

Warunkiem koniecznym do uzyskania pozytywnej oceny jest zaliczenie wszystkich ćwiczeń laboratoryjnych. Ocena końcowa będzie indywidualną oceną projektu.

Wymagania wstępne i dodatkowe:
  • Wymagana jest dobra znajomość języka C++.
  • Wymagana jest podstawowa znajomość sieci TCP/IP
Zalecana literatura i pomoce naukowe:

Nie podano zalecanej literatury lub pomocy naukowych.

Publikacje naukowe osób prowadzących zajęcia związane z tematyką modułu:

Nie podano dodatkowych publikacji

Informacje dodatkowe:

Przedmiot przygotowany i prowadzony przez pracowników Motorola Solutions Systems Polska.