School of Humanities

Selected topics in advanced computing

This course is part of the programme:
Digital Humanities, interdisciplinary programme

Objectives and competences

The Internet is managed by a complex mix of human-computer interactions. In the design and programming of Web and multimedia solutions, the need for more advanced computational methods and algorithms are experienced. The main objective of the course Selected Topics and Advanced Computing is to present students with the advanced Web and multimedia design and programming technologies. The syllabus is designed in a way to guide the students through the theoretical and practical concepts and make them qualified to independently design and write complex Web and multimedia applications. They will be able to use the acquired skills for solving problems that require advanced approaches.

Prerequisites

Basic skills in using computers with one of the modern operating systems (Windows, Linux or OS X) are required. Basic knowledge of interactive multimedia is also required.

Content (Syllabus outline)

1. Introduction

  • Aims and purpose of the course
  • Syllabus presentation
  • Presentation of teaching tools, resources and course execution
  • Students’ obligations
  • Study instructions and suggestions

2. Basic concepts

  • Brief history of advanced creative computing
  • Economic, environmental, human and social impacts of advanced creative computing
  • Etical issues in multimedia

3. Web and Advanced Multimedia Technology

  • Human Computer Interaction
  • Theory of multimedia learning

o Cognitive principles of multimedia learning

  • Design theory

o Responsive Web design

4. Advanced Web and multimedia design methods

  • Advanced Web design methods

o By using the universal modelling language UML

  • Advanced multimedia design metods

o By using the universal modelling language UML

  • Intelligent Multimedia

5. Web and multimedia programming

  • Languages

o For advanced client-side programming

o For advanced server-side programming

  • Advanced algorithms
  • Tools

Intended learning outcomes

Students will learn the basic concepts of (object-oriented) computer programming and Java programming language. They will be able to autonomously write the problem in the form of an algorithm and convert the algorithm into a computer program using modern software development tools. They will acquire a basic understanding of computer systems and architectures, and will be able to autonomously solve problems using computer programming.

Readings

Craig Larman, Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition), Prentice Hall, 2004.

Jim Cooling, Software Engineering for Real-Time Systems, Addison Wesley, 2003.

Roger S. Pressman, Software engineering – a practitioner’s approach, 6th edition, McGraw-Hill, 2005.

Maciaszek L. A. and Liong B. L., Practical Software Engineering – A Case Study Approach, Addison-Wesley, 2005.

Ian Sommerville, Software Engineering, 7th edition, Pearson Education, 2004.

UML Superstructure Specification, v2.4, August 2005.

Assessment

Seminar work with discussion in order to evaluate the ability of writing a computer program for a selected practical problem (25%). Written exam, which assesses knowledge of the fundamental concepts of object-oriented computer programming in Java and the ability of solving short programming problems (75%)..

Lecturer's references

Dr. Barbara Koroušić Seljak is a senior researcher at the Computer Systems Department, Jožef Stefan Institute, Ljubljana, Slovenia. She earned her Ph.D. at the University of Ljubljana in Computer Science and Informatics. She is further an Assist. Prof. in Computer Science at the Jožef Stefan International Postgraduate School. She is a member of the Executive Boards of the association EuroFIR AISBL and the Slovenian Society for Clinical Nutrition and Metabolism. Her research work, publications and projects focus on software design of real-time and embedded systems. However, she is also very interested in meta-heuristic methods, which may be applied to practical optimization problems, such as computer-supported diet planning. BKS is an author of the Open Platform for Clinical Nutrition, i.e. a complex web application aimed to support both dieticians and patients in dietary assessment and treatment.

Selected bibliography

BENEDIK, Evgen, KOROUŠIĆ-SELJAK, Barbara, SIMČIČ, Marjan, ROGELJ, Irena, BRATANIČ, Borut, DING, Eric L., OREL, Rok, FIDLER MIS, Nataša. Comparison of paper- and web-based dietary records : a pilot study. Annals of nutrition and metabolism, ISSN 0250-6807, 2014, vol. 64, no. 2, str. 156-166, doi: 10.1159/000363336.

BIZJAK, Mojca, JENKO PRAŽNIKAR, Zala, KOROUŠIĆ-SELJAK, Barbara. Development and validation of an electronic FFQ to assess food intake in the Slovene population. Public health nutrition, ISSN 1368-9800, 2014, vol. 17, iss. 8, str. 1729-1737, ilustr., doi: 10.1017/S1368980013002577.

KOROUŠIĆ-SELJAK, Barbara, STIBILJ, Vekoslava, POGRAJC, Larisa, FIDLER MIS, Nataša, BENEDIK, Evgen. Food composition databases for effective quality nutritional care. Food chem.. [Print ed.], 2013, 38 str., doi: 10.1016/j.foodchem. 2013.02.061.

KOROUŠIĆ-SELJAK, Barbara, PAPA, Gregor. MatPort – online mathematics learning with a bioinspired decision-making system. International journal of innovative computing and applications. [Print ed.], 2011, vol. 3, no. 1, str. 50-57.

KOROUŠIĆ-SELJAK, Barbara. Web-based eHealth applications with reference to food composition data. V: European food composition data for better diet, nutrition and food quality. European journal of clinical nutrition, vol. 64, suppl., 2010, London; Paris: John Libbey, str. S121-S127.

KOROUŠIĆ-SELJAK, Barbara. Computer-based dietary menu planning : how to support it by complex knowledge?. Lect. notes comput. sci., 2010, vol. 6276, str. 587-596.

University course code: 2DH019

Year of study: 2

Course principal:

Lecturer:

ECTS: 6

Workload:

  • Lectures: 30 hours
  • Exercises: 30 hours
  • Individual work: 120 hours

Course type: elective (computer sciences)

Languages: slovene, english

Learning and teaching methods:
teaching will consist of three parts: the first part will be the lectures, where the contents of the syllabus will be presented and explained. the second part will include hands-on exercises, where the students will use the concepts from the lectures in practical problems and programs. the third part will consist of individual work where the students will be solving homeworks throughout the course and at the end write a seminar work in the form of a longer program.