SylabUZ

Generate PDF for this page

Network Programming - course description

General information
Course name Network Programming
Course ID 11.3-WI-INFD-PS
Faculty Faculty of Computer Science, Electrical Engineering and Automatics
Field of study Computer Science
Education profile academic
Level of studies Second-cycle studies leading to MSc degree
Beginning semester winter term 2022/2023
Course information
Semester 3
ECTS credits to win 4
Course type obligatory
Teaching language polish
Author of syllabus
  • dr inż. Tomasz Gratkowski
Classes forms
The class form Hours per semester (full-time) Hours per week (full-time) Hours per semester (part-time) Hours per week (part-time) Form of assignment
Laboratory 30 2 18 1,2 Credit with grade
Lecture 15 1 9 0,6 Credit with grade

Aim of the course

  • zapoznanie studentów z podstawowymi technikami wytwarzaniem aplikacji sieciowych   
  • ukształtowanie  podstawowych  umiejętności  w  zakresie  projektowania  i  wytwarzania aplikacji sieciowych w języku Java 

Prerequisites

Scope

Wprowadzenie:  Wysokopoziomowy  mechanizm  dostępu  do  zasobów  sieci  globalnej  - Internet.  Programy  sieci  WWW.  Interaktywne  aplety  Javy.  Dynamiczne  strony  WWW. Stosowanie serwerów aplikacyjnych. Sieciowe rozwiązania korporacyjne. Obiekty zasobów 
URL.  Połączenia  sieciowe  wykorzystujące  interfejs  programowy  URL,  URLConnection, HttpURLConnection.  

Połączenia komunikacyjne  niezawodnym  strumieniem  TCP.  Model  interakcji klient-serwer. Pojęcie gniazd sieciowych - interfejs Socket, ServerSocket. Komunikacja z wykorzystaniem protokołu    UDP.  Programy  klient  -  serwer  wykorzystujące  UDP.  Gniazda  UDP  -  interfejs DatagramSocket.  Pojęcie  pakietu  datagramu  -  interfejs    DatagramPacket.  Pojęcie Broadcastingu  i  Multicatingu  -  interfejs  MulticastSocket.  Zasady  tworzenie  protokołów sieciowych warstw aplikacji modelu TCP/IP. 

Programowanie usług sieci Internet. Wykorzystanie dedykowanych pakietów języka Java do budowy  rozproszonych  usług  sieciowych.  Architektura  oparta  na  usługach  (SOA)  oraz użycie stylu architektonicznego REST (JAX-RS). Zastosowanie protokołu SOAP (JAX-WS). Interakcyjne używanie odległych maszyn. 

Dostęp  do  sieciowych  zasobów  danych.  Zasady  budowania  wielowarstwowych  systemów sieciowych. 

Teaching methods

wykład: wykład konwencjonalny/tradycyjny 
laboratorium: ćwiczenia laboratoryjne 

Learning outcomes and methods of theirs verification

Outcome description Outcome symbols Methods of verification The class form

Assignment conditions

Wykład - warunkiem zaliczenia jest uzyskanie pozytywnej oceny z egzaminu pisemnego lub testu. 
Laboratorium  -  warunkiem  zaliczenia  jest  uzyskanie  pozytywnych  ocen  ze  wszystkich  ćwiczeń laboratoryjnych, przewidzianych do realizacji w ramach programu laboratorium. 
Składowe oceny końcowej = wykład: 50% + laboratorium: 50% 

Recommended reading

  1. Stevens W.R.: UNIX. Programowanie usług sieciowych. Tom 1 - API: gniazda i XTI; Wydawnictwa Naukowo-Techniczne, 2002.   
  2. Burns B.: Projektowanie systemów rozproszonych. Wzorce i paradygmaty dla skalowalnych, niezawodnych usług, Helion, 2018
  3. Harold  E.  R.,  Java  Network  Programming,  4th  Edition,  Developing  Networked  Applications. O'Reilly, 2013 

Further reading

  1. Horstmann C. S., Cornell G.: Java. Podstawy. Wydanie IX, Helion, 2013. 
  2. Horstmann  C.  S.,  Cornell  G.:  Java.  Techniki  zaawansowane.  Wydanie  IX,  Helion, 2013. 
  3. The Java Tutorial / ORACLE. 
  4. The Java EE Tutorial / ORACLE. 
  5. Stevens  W.R:  TCP/IP.  Tom  1:  Protokoły  -  Biblia;  Oficyna  Wydawnicza  READ  ME, 1998. 
  6. Comer D. E., Sieci komputerowe i intersieci. Wydanie V, Helion, 2012. 
  7. Rychlicki-Kicior K., Java EE 6. Programowanie aplikacji WWW, Helion, 2012. 
  8. Erl, Th., SOA., Koncepcje, technologie i projektowanie, 2014.
  9. Rotem-Gal-Oz A., Wzorce SOA, Helion, 2013
  10. Sharma S., Mikrousługi w Javie. Poradnik eksperta, Helion, 2017
  11. Rhuan Rocha, Joao Purificacao J.: Java EE 8. Wzorce projektowe i najlepsze praktyki, Helion, 2019
  12. Burns B.: Tao mikrousług. Projektowanie i wdrażanie, Helion, 2019

Notes


Modified by dr inż. Tomasz Gratkowski (last modification: 20-04-2022 17:19)