SLO | EN

Objectives and competences

The goal of this course is for students to be able to demonstrate understanding of object-oriented programming concepts and Java class libraries to develop object-oriented software in Java.

Content (Syllabus outline)

Characteristics of modern programming languages: interdependence of programming language and computer system, key factors for platform independence, virtual machine. • Basic object-oriented concepts: syntax and semantics, encapsulation, inheritance, interfaces, polymorphism, message passing and delegation. • Object-based development: declaration and implementation of interfaces and classes, definition of attributes, properties and services, access rights definition, use of inheritance, interface implementation, abstract classes, inner classes, anonymous classes. • Communication between objects, exception handling, event models, concept of responsibility delegation, use of adapters. • Components for graphical user interface development: building blocks, containers, layout managers, MVC pattern. • Object collections, arrays, frameworks, iterators, support for internationalization. • Concurrent execution: threads, communication and synchronization between concurrent tasks. • Object persistence: serialization, database access, input/output streams. • Java networking and web services. • Java component model (Java Beans)

Learning and teaching methods

• lectures, • hands on use cases and discussion, • labs, • individual work

Intended learning outcomes - knowledge and understanding

After completing this course the student will be able to: • understand and use object-oriented programming concepts, • develop new and reuse existing software classes, • use Java event model and components to develop graphical user interfaces, • develop standalone object-oriented Java applications for a given design, • develop simple multi-threaded applications.

Intended learning outcomes - transferable/key skills and other attributes

• Communication skills: documenting source code, oral lab work defence, manner of expression at written and oral examination. • Use of information technology: use of integrated development environments. • Problem solving: design and development of simple and semi-complex software solutions.

Readings

• C.S. Horstmann,Core Java Volume I – Fundamentals, Prentice Hall, 2018. • C.S. Horstmann,Core Java Volume II – Advanced Features, Prentice Hall, 2018. • M. Heričko et al: Osnove programiranja v Javi, zbrano gradivo, FERI Maribor, 2000. • B. Eckel: Thinking in Java, Prentice-Hall, 2006.

Prerequisits

Basic programming skills are recommended.

  • red. prof. dr. MARJAN HERIČKO, univ. dipl. inž. rač. in inf.

  • Written examination: 40
  • Oral examination: 30
  • Computer skills: 30

  • : 45
  • : 60
  • : 75

  • Slovenian
  • Slovenian

  • TELECOMMUNICATIONS - 1st
  • INFORMATICS AND DATA TECHNOLOGIES - 1st