Course 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.
Course is carried out on study programme
1st Cycle Interdisciplinary Academic Study Programme in Multimedia
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.
Learning and teaching 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)
Intended learning outcomes
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
Reference nosilca
- MAHNIČ, Viljan. A capstone course on agile software development using Scrum. IEEE trans. ed., Feb. 2012, vol. 55, no. 1, str. 99-106
- MAHNIČ, Viljan, HOVELJA, Tomaž. On using planning poker for estimating user stories. J. syst. softw.. Sep. 2012, vol. 85, no. 9, str. 2086-2095.
- MAHNIČ Viljan. Teaching Scrum through team-project work: students' perceptions and teacher's observations. International journal of engineering education, 2010, vol. 26, no. 1, str. 96-110.
- FÜRST, Luka, MAHNIČ, Viljan. Introductory programming course: motivating students with prior knowledge. World transactions on engineering and technology education, ISSN 1446-2257, 2013, vol. 11, no. 4, str. 400-405. http://wiete.com.au/journals/WTE&TE/Pages/Vol.11, %20No.4%20(2013)/08-Fuerst-L.pdf.
- MAHNIČ, Viljan, FÜRST, Luka, ROŽANC, Igor. Java skozi primere. Šenčur: Bi-tim, 2008. XIV, 478 str., ponovni ponatis 2012.
Celotna bibliografija je dostopna na SICRISu:
Study materials
- 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.