Programming Language Java (FSI-SPJ)

Academic year 2020/2021
Supervisor: Ing. Pavla Sehnalová, Ph.D.  
Supervising institute: ÚM all courses guaranted by this institute
Teaching language: Czech
Aims of the course unit:
The goal of the subject is to teach students the Java programming language and to the basics of object-oriented language to design simple applications. They will learn the basics of programming using primitive and reference data types, classes and objects, exceptions, threads, etc. They will learn about Java Virtual Machine or a graphical user interface suitable for Java.
Learning outcomes and competences:
Students will gain a knowledge of Java programming language, incl. object-oriented programming. They will learn to write simple Java applications, they will be familiar with different interfaces.
Prerequisites:
Basic knowledge of algorithmization and programming, basic knowledge of C, C # or C ++ languages.
Course contents:
The course provides the basics of Java language and an introduction to object-oriented programming. It introduces to classes, objects, the concept of inheritance, etc. The course teaches the work with instup/output files, graphical interfaces and techniques for designing simple Java applications.
Teaching methods and criteria:
The lectures contain an explanation of the basic principles and theory of the given topic. The PC labs are focused on practical usage.
Assesment methods and criteria linked to learning outcomes:
The evaluation of the course consists of points for the semestral project (presentation of a Java program) and points for the classification test. The condition for obtaining course credits is to obtain at least 50% points from the semestral project.
Controlled participation in lessons:
The attendance at lectures is recommended, the attendance at PC labs is mandatory.
Type of course unit:
    Lecture  13 × 1 hrs. optionally                  
    Computer-assisted exercise  13 × 2 hrs. compulsory                  
Course curriculum:
    Lecture 1. Introduction to object-oriented programming and introduction to Java.
2. Java basics: data types, variables, operators, expressions.
3. Flow control, flow control mapping. Program debugging.
4. Classes and objects.
5. Inheritance, type control.
6. Exceptions.
7. Input/Output files.
8. Containers.
9. Threads.
10. Interface, graphical environment.
11. Generics.
12. Design of simple applications.
13. Speaker's reserve.
    Computer-assisted exercise The PC labs are focused on practical usage of the topics discussed in lectures, see Syllabus.
Literature - fundamental:
1. Cay S. Horstmann, Gary Cornell: Core Java 2. Vol. I, Fundamentals. Santa Clara, Sun Microsystems Press, 2005
1. Herout, P.: Učebnice jazyka Java. Nakladatelství KOPP, České Budějovice, červen 2000, ISBN 80-7232-115-3, 352 stran
2. S. Zakhour a kol.: Java 6, Computer Press, 2007, ISBN: 978-80-251-1575-6.
3. David Flanagan: Programování v jazyce Java. ComputerPress, 1997, ISBN 80-85896-78-8
Literature - recommended:
1. Bogdan Kiszka: 1001 tipů a triků pro programování v jazyce Java, ComputerPress, 2003, ISBN 80-7226-989-5
2. Siera K., Bates B.: Head First Java. 2nd edition. O'Reilly 2005. ISBN 978-0-596-00920-5.
3. On-line sources: https://docs.oracle.com/javase/tutorial/
The study programmes with the given course:
Programme Study form Branch Spec. Final classification   Course-unit credits     Obligation     Level     Year     Semester  
M2A-P full-time study M-MAI Mathematical Engineering -- GCr 4 Compulsory-optional 2 1 W