Selected Topics in Software Development 2

Course Description

Application of more advanced multithreading concepts; integration with more complex applications such as web-servers. Development of web-servers, usage of relation databases and ORMs for data management.

Learning Outcomes

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

Forms of Teaching

Lectures

Laboratory

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
[FER3-EN] Computing - study
Elective Courses (6. semester)
[FER3-EN] Electrical Engineering and Information Technology - study
Elective Courses (6. semester)

Literature

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

For students

General

ID 210750
  Summer semester
5 ECTS
L0 English Level
L1 e-Learning
45 Lectures
0 Seminar
0 Exercises
15 Laboratory exercises
0 Project laboratory

Grading System

Excellent
Very Good
Good
Acceptable