Module also offered within study programmes:
General information:
Name:
Network Programming and Cybersecurity
Course of study:
2018/2019
Code:
JIS-2-034-GK-s
Faculty of:
Physics and Applied Computer Science
Study level:
Second-cycle studies
Specialty:
Grafika komputerowa i przetwarzanie obrazów
Field of study:
Applied Computer Science
Semester:
0
Profile of education:
Academic (A)
Lecture language:
Polish
Form and type of study:
Full-time studies
Course homepage:
 
Responsible teacher:
dr inż. Gach Grzegorz (grzegorz.gach@motorolasolutions.com)
Academic teachers:
Module summary

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.

Description of learning outcomes for module
MLO code Student after module completion has the knowledge/ knows how to/is able to Connections with FLO Method of learning outcomes verification (form of completion)
Social competence
M_K001 Student potrafi zespołowo zrealizować projekt bezpiecznej aplikacji sieciowej w języku C++. IS2A_K02 Execution of a project
Skills
M_U001 Student potrafi zaimplementować bezpieczną aplikację sieciową wykorzystując język C++. IS2A_U05, IS2A_U02 Execution of laboratory classes,
Execution of a project
M_U002 Student potrafi oszacować podatność aplikacji sieciowej napisanej w języku C++ na ataki. IS2A_U01 Execution of a project
Knowledge
M_W002 Student zna zasady działania bezpiecznych aplikacji sieciowych zaimplementowanych w języku C++. IS2A_W06, IS2A_W02 Execution of a project
FLO matrix in relation to forms of classes
MLO code Student after module completion has the knowledge/ knows how to/is able to Form of classes
Lecture
Audit. classes
Lab. classes
Project classes
Conv. seminar
Seminar classes
Pract. classes
Zaj. terenowe
Zaj. warsztatowe
Others
E-learning
Social competence
M_K001 Student potrafi zespołowo zrealizować projekt bezpiecznej aplikacji sieciowej w języku C++. - - - + - - - - - - -
Skills
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. - - - + - - - - - - -
Knowledge
M_W002 Student zna zasady działania bezpiecznych aplikacji sieciowych zaimplementowanych w języku C++. + - - - - - - - - - -
Module content
Lectures:

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

Laboratory classes:

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.

Project classes:

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.

Student workload (ECTS credits balance)
Student activity form Student workload
Summary student workload 78 h
Module ECTS credits 3 ECTS
Participation in lectures 14 h
Participation in laboratory classes 16 h
Participation in project classes 8 h
Completion of a project 32 h
Preparation for classes 8 h
Additional information
Method of calculating the final grade:

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

Prerequisites and additional requirements:
  • Wymagana jest dobra znajomość języka C++.
  • Wymagana jest podstawowa znajomość sieci TCP/IP
Recommended literature and teaching resources:

Recommended literature and teaching resources not specified

Scientific publications of module course instructors related to the topic of the module:

Additional scientific publications not specified

Additional information:

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