Information, Logic, and Languages

Learning Outcomes

  1. explain term information content and possible use
  2. explain process for telecommunication software development
  3. develop software in object-orijented programming language Java
  4. apply of language XML in telcommunications software
  5. generate and execute software testing based on unit tests
  6. conduct functional testing and compare correctness of UML specification with developed program

Forms of Teaching

Lectures

Materials and presentations are on course web page before each lecture.

Independent assignments

homework assignments, preparation for laboratory work

Laboratory

complex laboratory assignments which includes: programming, XML manipulation, and program testing

Grading Method

Continuous Assessment Exam
Type Threshold Percent of Grade Threshold Percent of Grade
Laboratory Exercises 10 % 20 % 0 % 20 %
Homeworks 10 % 15 % 0 % 15 %
Mid Term Exam: Written 0 % 30 % 0 %
Final Exam: Written 0 % 25 %
Final Exam: Oral 10 %
Exam: Written 0 % 55 %
Exam: Oral 10 %
Comment:

All laboratory work must be successfully accomplished. On oral exam students must have at least 50% of possible points in order to pass this course.

Week by Week Schedule

  1. Information systems components, Valuing information systems, Overview of UML, Structure diagrams, Behavior diagrams, Interaction diagrams
  2. Information systems in organization, Security issues and programming guidelines
  3. Parser generators, 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, Case studies focused on Java network programming and network programming in Python
  4. Program testing, performance analysis, and optimization, Testing types/techniques, Testing fundamentals
  5. Socket options; Raw socket, Daemons and super-server "inetd", I/O multiplexing; Threading
  6. Broadcast and multicast addressing and applications, Application protocols based on Stream Control Transmission Protocol (SCTP)
  7. Documents, electronic publishing, markup, and markup languages
  8. Midterm exam
  9. Documents, electronic publishing, markup, and markup languages
  10. Enterprise-wide information systems
  11. Development and acquisition of IS, Business Intelligence fundamentals, Program testing, performance analysis, and optimization, High-level program representations such as abstract syntax trees, Testing types/techniques, Testing fundamentals
  12. Clausal representation of data structures and algorithms, Horn clauses
  13. Concept of logical programming languages, Satisfiability modulo theory (SMT) problem
  14. Application to telecommunication systems design
  15. Final exam

Study Programmes

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

Literature

Marina Bagić Babac, Mario Kušek (2011.), Jezici za označavanje sadržaja, FER, interna skripta
Marina Bagić Babac, Mario Kušek (2009.), Testiranjem upravljano programiranje, FER, interna skripta
Martin Fowler (2010.), Domain-Specific Languages, Pearson Education
Elliotte Rusty Harold (2004.), XML 1.1 Bible, John Wiley & Sons
Kent Beck (2003.), Test-driven Development, Addison-Wesley Professional
Paul Ammann, Jeff Offutt (2016.), Introduction to Software Testing, Cambridge University Press
Glenford J. Myers, Corey Sandler, Tom Badgett (2011.), The Art of Software Testing, John Wiley & Sons
E. M. Clarke, Orna Grumberg, Doron Peled (1999.), Model Checking, MIT Press

General

ID 183450
  Winter semester
5 ECTS
L1 English Level
L1 e-Learning
30 Lectures
0 Exercises
15 Laboratory exercises
0 Project laboratory

Grading System

85 Excellent
70 Very Good
60 Good
50 Acceptable