Information, Logic, and Languages

Course Description

Introduction to relationships between concepts: information, logic and artificial languages in telecommunication domain. Observartion, communication, learning, thinking and domain knowledge. Information as a difference between domain knowledge states. Information theory and semantic contents of information, symbols as elements of semantic representations (semantic web). Lexical and syntax structure, context and semantics. Logic and logical rules, structure of formal languages. Language space as a function of system development and problems solving. Functional specification, modelling. Verification and validation testing. Methods based on some languages: UML, DSL, Java, XML and TTCN. Industrial approach for development and application of formal models and methods in telecommunication systems design.

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. On information, logic and language. Information logic and languages in development processes for networks and services
  2. Error handling, information gathering, and network programming in the Java programming language.
  3. Domain-specific languages, regular expressions, and language grammars in the Java programming language.
  4. Testing in the Java programming language (JUnit5)
  5. Robust programming: test-driven development (TDD)
  6. Object oriented design for the Internet, client, server (REST, Spring Boot), integration testing
  7. Robust server development and end-to-end testing
  8. Midterm exam
  9. Software models and markup languages (XML technologies)
  10. XML technologies: XML Schema, XPath, XQuery
  11. XML technologies: XSLT Model based testing.
  12. Languages and tools for system testing
  13. Logic and software
  14. Logic and verification of programming models
  15. Final exam

Study Programmes

University undergraduate
Computing (study)
Free Elective Courses (5. semester)
Electrical Engineering and Information Technology (study)
Free Elective Courses (5. semester)
Telecommunication and Informatics (module)
(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

Laboratory exercises

For students

General

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

Grading System

85 Excellent
70 Very Good
60 Good
50 Acceptable