Congratulations on moving to the next stage of your studies at Java University. Ahead is a lot of new useful knowledge that will help you become a software development professional.

What you will learn in the Java Core module

  1. OOP:
    • encapsulation, polymorphism. Interfaces
    • overloading, overridding. Abstract classes
    • composition, aggregation, inheritance
  2. Stream API

  3. Type casting, instanceof, switch expression
  4. Nuances of calling constructors. static block.
  5. Organization of the Object class: equals(), hashCode(), clone(), toString(). Immutable objects
  6. Recursion
  7. Introduction to threads:
    • Thread, Runnable, start, sleep
    • synchronized, volatile, wait, notify.DeadLock
  8. Executors
  9. ThreadLocal, Callable, Future
  10. Inner/nested classes, examples: Map.Entry
  11. Serialization of JSON/XML/YAML
  12. Reflection API
  13. Annotations in Java
  14. Sockets
Please note that some of the lessons in this module are taken from the main CodeGym course, so their style is slightly different (the theory is presented using conversations between game characters). This does not affect the depth of the presentation of new material — it is just the chosen method of presentation.

Good luck in your studies!