Selected Topics in Software Development 2

Learning Outcomes

  1. use multythread-safe collections
  2. develop custom web-server and similar applications
  3. combine application and relation database

Forms of Teaching



Week by Week Schedule

  1. Threads and processes; Thread management and context switching; Synchronization and communication; Mutual-exclusion; Semaphores and monitors; Multiprocessor issues.
  2. 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; 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; I/O multiplexing; Threading.
  3. Message passing.
  4. Static and dynamic linking.
  5. Web programming languages (e.g., HTML5, Java Script, PHP, CSS); HTTP, AJAX, and websocket protocol.
  6. HTTP, AJAX, and websocket protocol.
  7. Storage and retrieval of text in relational database.
  8. Midterm exam.
  9. Application programming interfaces for relational databases.
  10. HTTP, AJAX, and websocket protocol.
  11. HTTP, AJAX, and websocket protocol.
  12. HTTP, AJAX, and websocket protocol.
  13. HTTP, AJAX, and websocket protocol.
  14. HTTP, AJAX, and websocket protocol.
  15. Final exam.

Study Programmes

University undergraduate
Computing (study)
Elective Courses (6. semester)
Electrical Engineering and Information Technology (study)
Elective Courses (6. semester)


(.), Marko Čupić. Programiranje u Javi. Dostupno na webu.,


ID 183434
  Summer semester
L3 English Level
L1 e-Learning
45 Lectures
0 Exercises
6 Laboratory exercises
0 Project laboratory