Software for Communication Systems

Data is displayed for the academic year: 2025./2026.

Course Description

Web programming languages (e.g., HTML5, Java Script, PHP, CSS). Asynchronous and real-time web, Web scalabity and quality of service, REST architectural style, RESTful API design, HTTP, AJAX, and websocket protocol, Semantic web, Microservices. Port and socket, Socket application programming interface (API). User Datagram Protocol (UDP) server and client. Transmission Control Protocol (TCP) server and client. Hypertext Transfer Protocol (HTTP) and File Transfer Protocol (FTP). Case studies focused on Java network programming and network programming in Python. Design of core DBMS functions. Relational Database design. Application programming interfaces for relational databases, object-relational mappers. SQL (data definition, query formulation, constraints, integrity), selections, projections, select-project-join, aggregates and group-by.

Study Programmes

University graduate
[FER3-EN] Control Systems and Robotics - profile
Elective courses (2. semester)
[FER3-EN] Electrical Power Engineering - profile
Elective courses (2. semester)

Learning Outcomes

  1. explain the principles of how the asynchronous Web works in real time
  2. analyze the principles of building a RESTful API Web system
  3. analyze the applicability of UDP and TCP protocols to design particular types of applications
  4. explain the basic functions of the DMBS system and the principles of relational database design
  5. analyze application programming interfaces for relational database operations in different programming languages
  6. analyze the computer complexity and runtime of different queries in the SQL programming language

Forms of Teaching

Lectures

The classes are organized in two blocks: The first block comprises 7 classes and a midterm exam, while the second comprises 6 classes and a final exam. this makes in total 15 weeks with 2 hours per week.

Laboratory

Students need to resolve independently practical tasks for laboratory exercises.

Week by Week Schedule

  1. Web programming languages (e.g., HTML5, Java Script, PHP, CSS), Web platform constraints, Web architectures and protocols
  2. Web standards, Human and programmable web, Software as a service (SaaS)
  3. Asynchronous and real-time web, Web scalabity and quality of service, REST architectural style
  4. RESTful API design, HTTP, AJAX, and websocket protocol, Semantic web, Microservices
  5. Port and socket; Socket application programming interface (API); Name and address, User Datagram Protocol (UDP) server and client; Command line arguments parsing; Program testing; Application protocols based on UDP
  6. Transmission Control Protocol (TCP) server and client; Concurrency; Application protocols based on TCP; Hypertext Transfer Protocol (HTTP) and File Transfer Protocol (FTP); Simple HTTP server, Socket options; Raw socket, Daemons and super-server "inetd", I/O multiplexing; Threading, Broadcast and multicast addressing and applications
  7. Application protocols based on Stream Control Transmission Protocol (SCTP), Security issues and programming guidelines, Case studies focused on Java network programming and network programming in Python
  8. Midterm exam
  9. Approaches to and evolution of database systems, Components of database systems, Design of core DBMS functions (e.g., query mechanisms, transaction management, buffer management, access methods), Database architecture and data independence, Systems supporting structured and/or stream content, Security in database systems
  10. Principles of data modeling, Conceptual models (e.g., entity-relationship, UML diagrams), Spreadsheet models, Relational data models, Dimensional model, Key value, graph, column family, document, Object-oriented models, Semi-structured data model (expressed using XML, XML Schema, JSON), Modelling spatial and temporal data, Data modeling for Semantic Web (RDF, OWL)
  11. Mapping conceptual schema to a relational schema, Entity and referential integrity, Relational algebra and relational calculus, Relational Database design, Functional dependency
  12. Decomposition of a schema; Lossless-join and dependency-preservation properties of a decomposition, Candidate keys, superkeys, Normal forms, Storage and retrieval of text in relational database, Application programming interfaces for relational databases, Object-relational mappers
  13. SQL (data definition, query formulation, update sublanguage, constraints, integrity), Selections, Projections, Select-project-join, Aggregates and group-by
  14. Subqueries, Triggers, Stored procedures, Window functions, recursion, pivoting
  15. Final exam

Literature

(.), L. Richardson, S. Ruby (2007.), RESTful Web Services, O'Reilly Media,
(.), M. Masse (2011.), REST API Design Rulebook, O'Reilly Media,
(.), Elliotte Rusty Harold (2013), Java Network Programming, O'Reilly Media; Fourth Edition edition,
(.), Hector Garcia-Molina, Jeffrey D. Ullman, Jennifer Widom (2008), Database Systems: The Complete Book, Pearson,

General

ID 223116
  Summer semester
5 ECTS
L1 e-Learning
30 Lectures
0 Seminar
0 Exercises
26 Laboratory exercises
0 Project laboratory
0 Physical education excercises

Grading System

Excellent
Very Good
Good
Sufficient