School of Humanities

Computer programming

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

Objectives and competences

With the help of computers we can efficiently solve a variety of problems. Though in many cases we can use existing computer software for this purpose, there are also tasks for which a tailor made computer program is needed. The main objective of the course Computer programming is to present students with the basic programming concepts. The syllabus is designed in a way to guide the students through all basic programming concepts and teaches them how to write computer programs in Java by them selves. They will be able to use the acquired skills for solving problems that require tailor made computer software.

Prerequisites

Basic knowledge of mathematics and skills in using computers with one of the modern operating systems (Windows, Linux or OS X) are 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 programming and programming languages

How does the computer work?

Algorithm, computer program and flow chart

3. First steps in Java

Basic tools for running and writing programs (JRE and JDK)

First example of a program

Variables

Basic data types

Arrays and strings

Command line arguments

Operators

4. Programing statements and methods

Expressions and statements

Assignment statement

Control flow statements:

conditional statements (if-then-else, switch)

loops (while, do-while, for)

branching statements (break, continue, return)

Methods

5. Working with input-output devices

Reading from keyboard

Reading from and writing to files

Exceptions

6. Object oriented programming

Basic OOP concepts (object, class, method, interface, inheritance, package)

Class declaration:

fields

constructors

methods

Reserved words this and super

Variable types and their visibility

Object printout, copying and equality testing

7. Advanced programming

Eclipse development environment

jar files

Mathematical functions and class Number

Computing with floating point numbers, rounding and convergence

Recursion

Working with strings

Working with matrices

Simple user interface

Data type conversion

Dynamic tables

Sorting

Computational complexity of algorithms

8. Graphical user interface

Applets

Basic principles

Graphical libraries

Basic graphical elements

Events

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

Mrhar, P. (2002). Java 2 – prvi korak. Šempeter pri Gorici: Flamingo.

Mesojedec, U., Fabjan B. (2004). Java2: temelji programiranja. Ljubljana: Pasadena.

Eck, D. J. (2011). Introduction to Programming Using Java. 6th Edition, http://math.hws.edu/javanotes/

Eckel, B. (2002). Thinking in Java, 3rd Edition, http://www.mindview.net/Books/TIJ/

Barnes, D.J., Kolling, M. (2004). Objects First with Java – A Practical Introduction using BlueJ, 2nd Edition, Prentice Hall/Pearson Education.

Sierra, K., Bates, B. (2005). Head First Java, 2nd Edition, O’Reilly, Sebastopol.

Wirth, N. (1985). Računalniško programiranje I. Ljubljana: DMFA.

Wirth, N. (1985). Računalniško programiranje II. Ljubljana: DMFA.

Učno razvojno okolje za Javo – BlueJ (URL: http://www.bluej.org/index.html)

Assessment

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

Lecturer's references

Doc. dr. Bernard Ženko is a researcher at the Department of Knowledge Technologies, Jožef Stefan Institute, Ljubljana, Slovenia, and at the Centre of Excellence for Integrated Approaches in Chemistry and Biology of Proteins. He also lectures at the Faculty of Information Studies in Novo mesto. His research interests are related to machine learning and its application to practical problems from environmental and life sciences. His contributions include methods for combining multiple classifiers and learning rule-based models for predicting multi-target variables, as well as applications of machine learning methods in environmental epidemiology, ecology and medicine. He has experience with several EU-funded projects.

NOVAK, Monika, ZALAR, Polona, ŽENKO, Bernard, SCHROERS, Hans-Josef, DŽEROSKI, Sašo, GUNDE-CIMERMAN, Nina. Candida and Fusarium species known as opportunistic human pathogens from customer-accessible parts of residential washing machines. Fungal biology, ISSN 1878-6146, 2015, vol. 119, iss. 2/3, str. 95-113, doi: 10.1016/j.funbio.2014.10.007.

ŠKRABAN, Jure, DŽEROSKI, Sašo, ŽENKO, Bernard, MONGUS, Domen, GANGL, Simon, RUPNIK, Maja. Gut microbiota patterns associated with colonization of different clostridium difficile ribotypes. PloS one, ISSN 1932-6203, 2013, vol. 8, iss. 2, str. e58005-1-e58005-13, doi: 10.1371/journal.pone.0058005.

CAROTENUTO, Marianeve, DŽEROSKI, Sašo, ŽENKO, Bernard, SLAVKOV, Ivica, et al. Neuroblastoma tumorigenesis is regulated through the Nm23-H1/h-Prune C-terminal interaction. Scientific reports, ISSN 2045-2322, 2013, vol. 3, str. 1351-1-1351-11. http://www.nature.com/srep/2013/130301/srep01351/pdf/srep01351.pdf, doi: 10.1038/srep01351.

AHO, Timo, ŽENKO, Bernard, DŽEROSKI, Sašo, ELOMAA, Tapio. Multi-target regression with rule ensembles. J. mach. learn. res.. [Print ed.], 2012, vol. 13, str. 2367-2407.

EROSKI, Sašo, ŽENKO, Bernard. Is combining classifiers with stacking better than selecting the best one?. Mach. learn.. [Print ed.], 2004, vol. 54, str. 255-273.

KOBAL GRUM, Darja, KOBAL, Alfred Bogomir, ARNERIĆ, Niko, HORVAT, Milena, ŽENKO, Bernard, DŽEROSKI, Sašo, OSREDKAR, Joško. Personality Traits in Miners with Past Occupational Elemental Mercury Exposure. Environ. health perspect., 2006, no. 1.

University course code: 2DH003

Year of study: 1

Semester: 1

Course principal:

Lecturer:

ECTS: 8

Workload:

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

Course type: compulsory elective subject for graduates of humanities

Languages: slovene, english

Learning and teaching methods:
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; 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.