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.
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)
Aims and purpose of the course
Presentation of teaching tools, resources and course execution
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
Basic data types
Arrays and strings
Command line arguments
4. Programing statements and methods
Expressions and statements
Control flow statements:
conditional statements (if-then-else, switch)
loops (while, do-while, for)
branching statements (break, continue, return)
5. Working with input-output devices
Reading from keyboard
Reading from and writing to files
6. Object oriented programming
Basic OOP concepts (object, class, method, interface, inheritance, package)
Reserved words this and super
Variable types and their visibility
Object printout, copying and equality testing
7. Advanced programming
Eclipse development environment
Mathematical functions and class Number
Computing with floating point numbers, rounding and convergence
Working with strings
Working with matrices
Simple user interface
Data type conversion
Computational complexity of algorithms
8. Graphical user interface
Basic graphical elements
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.
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)
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.
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.
DŽ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
- 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.