Computer programming
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
-
Introduction
Aims and purpose of the course
Syllabus presentation
Presentation of teaching tools, resources and course execution
Students' obligations
Study instructions and suggestions -
Basic concepts
Brief history of programming and programming languages
How does the computer work?
Algorithm, computer program and flow chart -
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 -
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 -
Working with input-output devices
Reading from keyboard
Reading from and writing to files
Exceptions -
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 -
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 -
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.
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.