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.

General Competencies

Basic knowledge about relationships between information, logic and language, from the point of view of telecommunication systems analysis and synthesis. Theoretical and practical knowledge about modelling, specification and testing of information and communication software including skills related to the usage of Unified Modelling Language, programming language Java and test tools.

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.

Exams

Midterm exam and final exam

Laboratory Work

complex laboratory assignments which includes: programming in Java, using XML, and program testing

Experimental Exercises

Inside the lectures are demonstrations of program solutions and tools.

Consultations

Consultations are conducted by all professors and teaching assistants every week in 3 different times.

Acquisition of Skills

Searching Web and finding work in the field of the course.

Programming Exercises

Personal tools for programming in Java (Eclipse), independent specification generation, programming and testing programs

Other Forms of Group and Self Study

homework

Grading Method

Continuous Assessment Exam
Type Threshold Percent of Grade Comment: Percent of Grade
Laboratory Exercises 0 % 20 % 0 % 20 %
Homeworks 0 % 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. About information, logic and language. Information, logic and languages in network and service development processes
  2. Exception handling and data logging in programming language Java
  3. Domain specific languages and network programming in Java
  4. Testing in programming language Java, test driven programming (JUnit)
  5. Object oriented design for Internet, communication and protocols
  6. Object oriented design for Internet, client and server
  7. Information: languages for markup. XML technologies: Introduction to XML
  8. Midterm exam.
  9. XML technologies: DTD, XML Schema, XPath
  10. XML technologies: XQuery, XSLT
  11. Model based testing
  12. Software logic
  13. Logic in programming languages
  14. Semantics, semantic web
  15. Final exam.

Study Programmes

University undergraduate
Computer Science (module)
Elective Courses (6. semester)
Telecommunication and Informatics (module)
(6. semester)

Prerequisites

Literature

Marko Topolnik, Mario Kušek (2008.), Objektno orijentirano programiranje u programskom jeziku Java, FER - skripta
Marina Bagić Babac, Mario Kušek (2010.), Jezici za označavanje sadržžaja, FER - skripta
Marina Bagić Babac, Mario Kušek (2010.), Testiranjem upravljano programiranje, FER - skripta
Bruce Eckel (2002.), Thinking in Java, Prentice Hall
Elliotte Rusty Harold (2004.), XML 1.1 Bible, Wiley