Course “Basics of Programming in the Java Language”. Total amount of training: 200 acad. hours, including classroom and practical work 120 acad. hours and independent work (at home) 80 acad. hours
https://inedutop.com/kursy/course-basics-of-programming-in-the-java-language/
Learning outcomes
The trainee has the following knowledge and skills:
- creates basic Java modules using modern code writing standards and modern features of the Java language (1.8);
- applies the principles of object-oriented programming;
- optimizes the operation of the application, based on the choice of optimal algorithms;
- builds scalable applications using ergonomic code design patterns;
- supports the resiliency and security of thread-intensive applications;
- has a professional level: junior software developer, programing language Java;
- has knowledge and skills of work: with Java Core;
- knows the maven build tools;
- owns applied technologies: Spring Core, Spring Data, Spring Web, Spring Security, Hibernate, JDBC;
- knows the version control system.
Course program. Course “Basics of Programming in the Java Language” online
This course is based on an imitation of real software development work. During the conduct, students will be involved in a full-fledged software development process: presentation, analysis, and documentation of “use cases”, prototyping interfaces for user interaction with the application, preparation of back-end and front-end parts. The main emphasis is on the back-end part, namely performance, quality, and optimal code construction. Students will make full use of modern tools to ensure teamwork, such as Git, Jira, Confluence.
1. Java Virtual Machine, syntax (20 acad. hours), independent work (8 acad. hours)
1.1. Language Overview, Environment Setup
1.2. Virtual Machine. Compilation, memory allocation
1.3. Constants, variables, literals
1.4. Life cycle, the order of creation of classes, objects, their fields, and constants.
1.5. Syntax: main object, working with primitives, base types
1.6. Syntax: object methods, basic principles of method creation (clean code, DRY, KISS etc.)
1.7. Syntax: statements, conditionals, switch case
1.8. Syntax: loops: for, while
1.9. Syntax: boolean logic, logical operators, and their hierarchy
1.10. Syntax: calculations, arithmetic operators, and their hierarchy
1.11 Standard Objects. primitives vs wrapped objects: Long, Boolean. String
2. Object-oriented programming – part 1 (16 acad. hours), independent work (8 acad. hours)
2.1. Object Designers. Java 1.8: suppliers
2.2. The Object Base Class and its clone, equals, hash, toString methods
2.3. Creating custom objects: class, enum
2.4. Grouping of classes – package. Scope visibility.
2.5. Inheritance. Access the methods of the parent class
2.6. Encapsulation. Private, package-private class fields
2.7. Polymorphism. Behavior override, type conversion
2.8. Interfaces, Abstract Classes
2.9. Generics
3. Basic algorithms. Data structures. Collection framework. (20 acad. hours), independent work (8 acad. hours)
3.1. Data structures: Array vs List, Set, Map, Queue, Dequeue
3.2. Algorithm Complexity
3.3. Algorithm Optimization
4. Object-oriented programming – part 2 (26 acad. hours), independent work (8 acad. hours)
4.1. Abstract Classes
4.2. Interfaces + interface default (1.8)
4.3. generic types
4.4. Reflection API: getDeclaredField, setAccessible
4.5. Reflection API: decorators
4.6. Java 1.8: Functional Interfaces
4.7. Java 1.8: References to Methods and Constructors
4.8. Interaction of objects in the system: Composition & Aggregation
4.9. Interaction of objects in the system: Injection, ways to implement dependencies
4.10. Interaction of objects in the system: Threads, Runnable
4.11. Interaction of Objects in the System: Flow Synchronization
4.12. Interaction of objects in the system: Networking. URL, HttpClient
4.13. Interaction of objects in the system: Serialization and deserialization. XML, Json. Endpoints
5. Programming patterns (16 acad. hours), independent work (8 acad. hours)
5.1. Object Patterns: Singleton
5.2. Object Patterns: Factories + Abstract Factory
5.3. Object Patterns: Builder
6. Independent work on your own project
22 academic hours/independent work 40 academic hours
