Subject description
lectures:
- Overview of programming languages with emphasis on 3rd generation
- Writing, compiling and executing a simple computer program
- Basic data types
- Integer and real numbers, characters and logical values
- Constants and variables declaration
- Programming statements
- The assignment statement, expressions, operators, operator precedence
- Conditional statements
- Loops
- Methods
- The role and classification of methods
- Formal and actual parameters
- Recursion
- Classes and objects
- Instance variables and methods
- Constructors, overloading constructors
- Access modifiers
- Using predefined classes
- Arrays
- One-dimensional and multidimensional arrays
- Arrays of objects
- Strings
- Inheritance
- Overriding superclass methods
- Using superclass constructors in subclasses
- Dynamic method binding
- Abstract classes and abstract methods
- The Object class
- Creating and using interfaces
- Graphics and GUI widget toolkits, components of GUI
- Event driven programming
lab practice:
Students solve practical problems to reinforce the understanding of topics covered during lectures. Individual work under the guidance of teaching assistants is emphasized.
homework:
Students are given a list of programs that must be developed outside contact hours and submitted for evaluation within prescribed deadlines, thus preventing them from procrastinating and encouraging self-reliance. Completion of these assignments is a prerequisite for entering the exam.
The subject is taught in programs
Objectives and competences
The main objective is to teach students basic concepts of object-oriented programming in a general-purpose 3rd generation programming language, thus making them able to develop computer programs of low complexity.
The competences students gain are:
- developing skills in critical, analytical and synthetic thinking,
- the ability to understand and solve professional challenges in computer and information science.
- the ability to apply acquired knowledge in independent work for solving technical and scientific problems in computer and information science; the ability to upgrade acquired knowledge.
- basic skills in computer and information science, which includes basic theoretical skills, practical knowledge and skills essential for the field of computer and information science.
- basic skills in computer and information science, allowing the continuation of studies in the second study cycle.
Teaching and learning methods
- Lectures with active participation of students (explanation, discussion, questions, examples, problem solving);
- Lab practice (reflection of experience, practical problem solving, presentation of solutions, discussion, communication of feedback information)
- Homework (individual development of simple computer programs)
- Individual consultation hours (discussion, additional explanation, specific problems solving)
Expected study results
After the completion of the course, a student will be able to:
- understand the process of writing, compiling, and running a computer program
- understand and use basic programming constructs and data structures
- understand the concepts of object-oriented programming (including inheritance)
- understand and use basic algorithms for solving typical programming problems
- know the basics of computer graphics and basic components of GUI
- know the principles of event-driven programming
- write simple computer programs in a general purpose programming language
Basic sources and literature
- V. Mahnič, L. Fürst, I. Rožanc: Java skozi primere, Bi-TIM, 2008.
- J. Farrell: Java Programming, Seventh Edition, Course Technology, Cengage Learning, 2014.
Dodatna literatura:
- I. Horton: Beginning Java, Java 7 Edition, John Wiley & Sons, Inc., 2011
- Uroš Mesojedec, Borut Fabjan: Java 2: Temelji programiranja, Pasadena, 2004.