COURSE OUTLINE
Session 5
Git and GitHub
Session 6
Input-Output, access to the file system:
Access to the file system, Byte streams, Streams of characters, Advanced features
Session 1
Introduction in Java:
What is Java, Hello World, Getting to know IDE, Hello World using Maven
Session 3
Objects, classes, and packages in Java:
Fundamentals of OOP, Packages and access modifiers, Package declaration, Class declaration, Inheritance, Class Object, Abstract classes and interfaces
Session 2
Basic syntax of Java:
Primitive types, Type Casting, Arrays and Strings, Control statements: conditional operators and loops
Session 4
Error handling, exceptions, debugging:
Getting to know the exceptions mechanism, Exception handling, Try-catch, Logging
Session 10
Midterm test
Session 9
Testing of Java programs:
Main ideas, Module testing: JUnit & Mockito, Profiling: JProfiler, Performance testing: JMH
Session 8
Streams:
Functional interfaces, Stream API
Session 7
Generics, Collections
Session 12
Multithreading in Java - basics:
General information about multithreading, Managing Threads, Synchronisation of the Threads, Memory model
Session 11
Under the hood of Java classes:
Reflection API, Java bytecode, Garbage collection
Session 13
Multithreading in Java - tools of standard library:
Atomic types, Synchronisation primitives, Collections, Executors, Parallel Streams
Session 14
Developing networking applications with Java:
How do computers communicate with each other, Writing your own HTTP-server
Session 15
Final exam