Hlavní stránka | Seznam oborů/specializací | Seznam všech skupin předmětů | Seznam všech předmětů | Seznam rolí                Návod

Předmět je základní jednotka výuky, jejímž prostřednictvím si student osvojí ucelenou část souboru znalostí a dovedností, potřebnou pro zvládnutí studijního oboru/specializace. Za věcný obsah předmětu zodpovídá garant předmětu. Časovou náročnost předmětu zhruba vyjadřuje atribut předmětu rozsah kontaktní výuky. Například rozsah = 2+2  značí, že předmět bude mít týdně dvě hodiny přednášek a dvě hodiny cvičení týdně. Na závěr semestru musí vyučující provést vyhodnocení, nakolik si ten který student osvojil poznatky a dovednosti, kterých měl během výuky nabýt. Jakým způsobem toto hodnocení vyučující provedou určuje atribut způsob zakončení. U předmětu lze definovat, že předmět je zakončen pouze zápočtem(Z), klasifikovaným zápočtem(KZ), pouze zkouškou(ZK), nebo zápočtem a zkouškou(Z,ZK). Náročnost úspěšného absolvování předmětu je vyjádřena ECTS kreditními body. Výuka předmětu probíhá během semestru. Opakovaně se předmět vyučuje vždy v zimním(Z), nebo v letním(L) semestru každého akademického roku. Výjimečně může předmět být nabízen studentům v obou semestrech(Z,L). Za organizační zajištění výuky zodpovídá přiřazená katedra, která zejména vytvoří časový rozvrh předmětu a zajistí pro předmět vyučující. Někteří přednáší a zkouší, jiní vedou cvičení a udělují zápočty.
Obsahová náplň a další organizační informace, týkající se předmětu je popsána pomocí různých popisných textů(anotace, týdenní osnova, literatura, apod.)
$DODATEK_POPIS
BIE-SIP.21 Network Programming Rozsah kontaktní výuky: 2P+2C
Vyučující: Fesl J. Způsob zakončení: Z
Zodpovědná katedra: 18104 ECTS Kredity: 5 Semestr: Z

Anotace:
The course covers fundamental topics of programming network applications. It consists of 4 parts. The introductory part is focused on low-level programming using BSD sockets. The second part is devoted to designing communication protocols and their verification. The third part introduces the principles and applications of middleware technologies. The final part introduces basic modern models of distributed computing - P2P and blockchain. All topics will be first explained theoretically and then practices in computer labs using a chosen programming language environment.

Osnovy přednášek:
1. Network interface programming - protocols TCP and UDP.
2. Network interface programming - blocking and nonblocking operations.
3. Network interface programming - group-oriented communications.
4. Secure network applications - protocols SSL and TLS.
5. Best practices for programming of secure networks applications.
6. Design and implementation of network protocols.
7. Prototyping and verification of network protocols.
8. Middleware technologies - remote procedure calls.
9. Middleware technologies - producer/consumer concept.
10. Implementation of network applications, debugging and best practices for their implementation.
11. Design and implementation of peer-to-peer network applications.
12. The blockchain model and its application for programming of network applications.
13. Debugging of distributed network applications.

Osnovy cvičení:
The exercises correlate with the syllabus of lectures and demonstrate the current topic practically.
1. Network interface programming - protocols TCP and UDP.
2. Network interface programming - blocking and nonblocking operations.
3. Network interface programming - group-oriented communications.
4. Secure network applications - protocols SSL and TLS.
5. Best practices for programming of secure networks applications.
6. Design and implementation of network protocols.
7. Prototyping and verification of network protocols.
8. Middleware technologies - remote procedure calls.
9. Middleware technologies - producer/consumer concept.
10. Implementation of network applications, debugging and best practices for their implementation.
11. Design and implementation of peer-to-peer network applications.
12. The blockchain model and its application for programming of network applications.
13. Debugging of distributed network applications.

Literatura:
1. Stevens R. W. et al : Unix Network Programming, Volume 1: The Sockets Networking API (3rd Edition). Addison-Wesley, 2004. ISBN 978-0131411555.
2. Stevens R. W. : Unix Network Programming, Volume 2: Interprocess Communications (2nd Edition). Addison-Wesley, 1998. ISBN 978-0132974295.
3. Raval S. : Decentralized Applications: Harnessing Bitcoin's Blockchain Technology. OReilly, 2016. ISBN 978-1491924549.
4. Colouris G. : Distributed Systems: Concepts and Design (5th Edition). Addison-Wesley, 2011. ISBN 978- 0132143011.

Požadavky:

Chybí webová strana předmětu

Předmět je zahrnut do těchto studijních plánů:
Plán Obor Role Dop. semestr
BIE-PV.21 Computer Systems and Virtualization 2021 V 5
BIE-TI.21 Computer Science 2021 V 5
BIE-SI.21 Software Engineering 2021 V 5
BIE-PS.21 Computer Networks and Internet 2021 PS 5
BIE-IB.21 Information Security 2021 (Bachelor in English) V 5
BIE-PI.21 Computer Engineering 2021 V 5


Stránka vytvořena 29. 4. 2024, semestry: Z/2023-4, Z/2019-20, L/2021-2, L/2020-1, L/2022-3, Z/2021-2, L/2019-20, Z/2022-3, Z/2020-1, L/2023-4, Z/2024-5, připomínky k informační náplni zasílejte správci studijních plánů Návrh a realizace: J. Novák, I. Halaška