Course detail
Computer Communications and Networks
FIT-IPKAcad. year: 2022/2023
There are several recurring themes from the IPK project evaluation for the 2022/2023 academic year:
- the lectures and teaching of Assoc. Ryšavý and Dr. Veselý is positively evaluated
- the lack of clarity of the project assignments is negatively evaluated
- the organisation of the projects is negatively evaluated
- the possibility of defending projects is positively evaluated
- the score ratio of the documentation and implementation part of the projects is evaluated negatively
- the conduct of the practitioners is negatively evaluated
- positive evaluation of the exam
Now to the measures of the above points, which are planned to be implemented in 2023/2024:
- No changes, perhaps only the presentations will be supplemented with more references to the reference literature.
- Project assignments are in Gitea (last year specifically here https://git.fit.vutbr.cz/NESFIT/IPK-Projekty). In order to make the assignment clearer, the plan is to split the first and second project assignments into two separate repositories.
- As in the previous year, students will be encouraged to communicate with the tutors via BUT Moodle. Where it makes sense to do so, responses on Moodle will be accompanied by a link to a commit modifying the assignment.
- The first project will also now have optional defences. Those who do not voluntarily attend the defences will receive a breakdown of scores for specific categories, accompanied by practitioner commentary where appropriate.
- In previous years, projects could typically score 7 points for documentation, 3 points for code work, and 10 points for implementation. In the new edition, the ratio will be 4 points for documentation, 3 points for code work, 13 points for implementation.
- The IPK project practitioners faced a lot of unpleasant situations in 2023/2024. These included, for example: a) increased aggression by students toxicly amplifying each other's frustrations on Discord; b) the appearance of racist and Nazi symbols written by students on shared evaluation Excel sheets; c) the near physical insulting of one practitioner during complaints. Even so, supervised PhD students will continue to be encouraged by academic staff to participate in teaching activities on the IPK course. On his own initiative, colleague Ing. Koutenský intends to minimize his participate in teaching activities at the school.
- No changes.
Language of instruction
Number of ECTS credits
Mode of study
Guarantor
Department
Learning outcomes of the course unit
Student acquaints basic concepts and principles of computer communications and computer networks and will be aware of communication functions and their implementations in common computer networks. The student will learn how to deal with documents that describe the specification of communication protocols. The student will learn how to implement networking applications.
Prerequisites
Ability to write a computer program in one of the following programming languages: C/C++, Python, C#, Java. Knowledge of operating systems.
Co-requisites
Planned learning activities and teaching methods
Assesment methods and criteria linked to learning outcomes
- Project #1 - max 20 pts.
- Project #2 - max 20 pts.
- The final exam - max 60 pts.
Course curriculum
Work placements
Aims
The aim is to understand the basic concepts and principles of computer communications and computer networks; to be aware of communication functions and their implementations in common computer networks.
Specification of controlled education, way of implementation and compensation for absences
Recommended optional programme components
Prerequisites and corequisites
Basic literature
Kurose J.F., Ross K.W.: Computer Networking, A Top-Down Approach Featuring the Internet (8th edition). Addison-Wesley, 2021. (EN)
PETERSON, Larry L.; DAVIE, Bruce S. Computer networks: a systems approach. Elsevier, 2011. (EN)
Recommended reading
John Goerzen, Tim Bower, Brandon Rhodes. Foundations of Python Network Programming: The comprehensive guide to building network applications with Python. Apress, 2011. (EN)
Elearning
Classification of course in study plans
Type of course unit
Lecture
Teacher / Lecturer
Syllabus
- Introduction to computer networks
- Network applications
- Application layer
- Network application programming
- Transport layer
- Network Layer I (Addressing)
- Network Layer II (Protocols and Communications)
- IPv6 protocol
- Multicast
- Routing I (Local Area Networks)
- Routing II (Internet)
- Link layer (LAN technology, Ethernet, Wifi)
- Recapitulation
Project
Teacher / Lecturer
Syllabus
- Implementation of a client-server communication
- Implementation of networking application
Elearning