Objectives and competences
1. understanding the process of application development,
2. knowing the basics ingredients of object oriented programming,
3. understanding the basics of data structures
4. knowing the basics of algorithms,
5. knowing the basics of mobile applications programming.
Content (Syllabus outline)
1. Overview (Overview and history of programming languages, Fundamental Building Blocks of Programs, Objects and Object-oriented Programming)
2. Basics (The Basic Java Application, Variables and the Primitive Types, Strings, Objects, Enums, and Subroutines, Text Input and Output)
3. Control (Blocks, Loops, and Branches, Algorithm Development, The while and do..while Statements, The for Statement, The if Statement, The switch Statement, Introduction to Exceptions and try..catch)
4. Subroutines (Black Boxes, Static Subroutines and Static Variables, Parameters, Return Values)
5. Objects and classes (Objects, Instance Methods, and Instance Variables, Constructors and Object Initialization, Programming with Objects, Inheritance, Polymorphism, and Abstract Classes, Interfaces and Nested Classes)
6. Arrays (Creating and Using Arrays, Programming With Arrays, Dynamic Arrays and ArrayLists, Searching and Sorting, Multi-dimensional Arrays)
7. Corectness and robustness (Introduction to Correctness and Robustness, Writing Correct Programs, Exceptions and try..catch, Assertions, Analysis of algorithms)
8. Files (Streams, Readers, and Writers, Files, Programming With Files)
9. Database interfaces
10. Development of mobile applications for Android operating system
Intended learning outcomes - knowledge and understanding
Knowledge and understanding:
1. understanding of basic programming techniques for mobile devices,
2. understanding the basics of Java programming language,
3. understanding the basics of program testing,
4. independent planning, coding and testing basic programs in Java programming language,
5. use of basic structured and object oriented programming techniques.
Intended learning outcomes - transferable/key skills and other attributes
- planning, coding and testing basic programs in Java programming language,
- using basic structured and object oriented programming techniques,
- using basic algorithms and data structures.
Readings
1. Schildt H. (2014): Java: A Beginner's Guide, Sixth Edition, McGraw-Hill Education.
2. Kurniawan B. (2015) Java for Android, BrainySoftware.
3. Jain H. (2016) Problem Solving in Data Structures & Algorithms Using Java: The Ultimate Guide to Programming. CreateSpace Independent Publishing Platform
4. Furst L. (2023), Java od začetka, UL FRI