Course title, code: Java Applications, GAINBAN-JAVAALKA-1
Getting to know the Java programming language, the Java Spring framework, Creating graphical applications with JavaFX, learning to use a modern development environment (IntelliJ, NetBeans, Eclipse).
- Java basics, loops types, methods, file management, - Complex data structures, Array, List, Map, Set. - Object oriented programming in Java - Database management, JDBC, ORM, Hibernate, JPA - Graphic programming with JavaFX - Graphical programming with a database - Graphical programming menu use, graph creation - SOAP client - REST client - Creating a currency trading client on a graphical interface - Data mining, Machine learning, main algorithms, classification with decision tree - Data mining, Machine learning, Cross validation and classification with other algorithms - Lambda expression, Stream, Functional programming
Course content - labs:
- Java basics, loops, types, methods, file management, - Complex data structures, Array, List, Map, Set. - Object oriented programming in Java - Database management, JDBC, ORM, Hibernate, JPA - Database management tasks with multiple tables - Server-side programming, Java Spring, Java Spring Boot, MVC, Annotations - Development of server-side applications - Thymeleaf template engine, Forms, Server-side validation, - Java Persistence API, Hibernate, ORM, - Dependency injection, CRUD operations. - Spring Boot Security, - Authentication and Authorization, - RESTful API,
Knowledge:
- He/she knows the operations of hardware and software elements, the technology of their implementation, how to solve problems related to their operation and the possibilities of the interconnection of IT and other technical systems.
- He/she knows the main programming paradigms, programming languages, development tools. His/her knowledge covers the modelling of IT systems, creation of database based systems, as well as the structure, operation and implementation of computer networks. His/her knowledge covers the characteristics of intelligent systems, the specificity of mobile application development, the management of state-of-the art general purpose operating systems, as well as the aspects of IT security.
- He/she is familiar with the important software development methodologies, and the notation systems for IT designs and documentation.
- He knows the vocabulary and special terms of the engineering profession in the Hungarian and English languages at least on the basic level.
- He/she is able to develop applications, program client-server and WEB, mobile operating systems, develop multiplatform systems.
He/she can apply his/her knowledge acquired during his/her study to acquire deeper knowledge in the field of information engineering and to process special literature and solve problems related to information technology.
- He/she constantly improves his/her knowledge and keeps up with the development of the computer engineering profession.
- He/she is open to acquire new methods, programming languages and develop skills to use them.
- He/she makes an effort to work efficiently and to high standards.
- He/she has a security-conscious attitude in posession of his/her professional knowledge, and is aware of potential threats and opportunities for attack, as well as is prepared to prevent them.
Mid-term study requirements:
Participation in practical sessions. Solving the tasks given by the practice leader during the practical session, on the computer. During the semester, students prepare a 30-point Homework during the lecture. Two 25-point computer-based exams and a 20-point Homework are prepared in the laboratory. Conditions for a successful semester: achieving at least 50% in each of the Homeworks, and at least 50% in the computer-based exams in total.
Exam requirements:
Learning materials uploaded to Teams. All students are provided with separate, modern computer access in the laboratories. Internet resources are available in the computer service room reserved for students.
[1] Dr. Seán Kennedy, Maaike van Putten: Learn Java with Projects, Packt Publishing; 2023, ISBN 1837637180 [2] Aaron Ploetz: Code with Java 21, BPB Publications, 2024, ISBN 9355519990
https://www.w3schools.com/java/ https://www.programiz.com/java-programming https://www.geeksforgeeks.org/java/ https://www.javatpoint.com/java-tutorial https://www.codecademy.com/learn/learn-java https://docs.oracle.com/javase/tutorial/index.html