Objectives and competences
- understanding the process of application development,
- knowing basic ingredients of object oriented programming,
- understanding basic algorithms and data structures,
- understanding the process of program testing.
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. Introduction to GUI programming (The Basic GUI Application, Applets and HTML, Graphics and Painting, Events, Events, Basic Components, Basic Layout, Menus and Dialogs)
Intended learning outcomes - knowledge and understanding
Knowledge and understanding:
• understanding of basic programming techniques,
• understanding the basics of Java programming language,
• understanding the basics of program testing,
• independent planning, coding and testing basic programs in Java programming language,
• 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. Conrod P, Tylee L. (2017) Learn Java GUI Applications: A JFC Swing Tutorial. Kidware Software LLC.
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