learnstuff logo

Java for Beginners

Java is one of the most used and appreciated programming languages of the moment. In the last decade Java began to spread in various fields of activity, from banking and health-care to online shopping and entertainment. From laptops to datacentres, game consoles to scientific supercomputers Java is everywhere! Java is fast, secure, and reliable and as such a great number of large, multi-national companies and start-ups are developing software applications using the Java Programming Langue.
Get started from the basics and discover the beautiful world of OOP programming with this accessible and easy to understand Java course.
github icon
  • 1
    Getting Started with Java
    Getting Started with Java
    About: Getting started with Java. Learn how to write your first Java program, compile it and run it. We start with the basic elements of the Java language: semantics, syntax, key word, data types and operators. Learn to control the flow of execution by using control structures: if/else, for, while and case.
    Requirements: Eclipse, NetBeans or IntelliJ, JDK, Java Home correctly set
  • 2
    Object Oriented Programming
    Object Oriented Programming
    About: One of the most important principles of Java is Object oriented Programming or OOP. Learn how to use Interfaces and Abstract Classes to extend the behaviour of existing classes or for hierarchy of classes with a common shared functionality.
    Requirements: JDK, IDE
  • 3
    Inheritance and Interfaces
    Inheritance and Interfaces
    About: Interfaces play a great role in the overall design of Java. Most of the things that are implemented in the latest versions of Java utilize Interfaces or Design by contract to ensure that multiple classes have the same functionality, but with classes specific particularities.
    Requirements: JDK, IDE, OOP Concepts
  • 4
    Data Flows and Exception Management
    Data Flows and Exception Management
    About: Learn the concepts of data flows and exception management. Read and write files on the file system, navigate through directories and learn the proper way of dealing with exception in Java. Learn how Exception Management is more of a language constraint rather than a feature and understand why this mechanism allows for a logical, easily understandable way of dealing with errors and exceptions.
    Requirements: JDK, IDE, OOP, Inheritance, Interfaces
  • 5
    Generics
    Generics
    About: Learn the concepts of generics, the mechanism that ensures and enforces compile-time type safety in Java. This mechanism uses parameters when defining classes, interfaces and methods. Much like formal parameters used in method declarations, type parameters provide a way for you to re-use the same code with different inputs. The difference is that the inputs to formal parameters are values, while the inputs to type parameters are types.
    Requirements: JDK, IDE, OOP, Inheritance, Interfaces
  • 6
    Collections
    Collections
    About: All application are used to manipulate data in a way or another. Regardless of the nature of the application, most of the time data is organized in lists of elements that have the same type. It is only natural to have multiple ways to data in forms of lists, maps or trees. In this course we will learn how all collection types in Java work and understand their strengths and weaknesses and when they should be used.
    Requirements: JDK, IDE, OOP, Inheritance, Interfaces, Generics
  • 7
    Swing - UI
    Swing - UI
    About: Learn to create and interact with the graphical user interfaces(GUI) in Java. Learn about frames, menus, trees and most importantly the way Java handles events. While this may be considered by some to be an outdated technology, it serves as a good starting point for learning how other Java based frameworks work. While the implementation has changed the principles remain the same.
    Requirements: JDK, IDE, OOP, Inheritance, Interfaces, Generics
  • 8
    Threads
    Threads
    About: Learn how to execute parallel tasks in Java, making your application faster and smarter. Learn the way that Java handles parallel and asynchronous operations. The need for optimization has always been a mandatory feature of any application; while there are other ways to handle multi-threads operations, threads remain the most used approach for this.
    Requirements: JDK, IDE, OOP, Inheritance, Interfaces, Generics
  • 9
    Network Programming
    Network Programming
    About: Learn how to create network applications. Understand the communication protocols and practices and how to identify resources located in the network. If you ever played multi-player games and you hoped that one day you will build one this is a very good place to start. Understand how Java applications communicate over various network protocols and how some features are mandatory for web application development in Java.
    Requirements: JDK, IDE, OOP, Inheritance, Interfaces, Generics, Threads
  • 10
    Databases and JDBC
    Databases and JDBC
    About: Learn how to connect and communicate with a database server. Understand the ways Java can connect to various databases and how we can perform CRUD(create, read, update, delete) operations on a database table. Understand the JDBC driver approach and how to use drivers to create database connections. See the ways Java offers to communicate with database servers for executing queries, updates and even stored procedures and functions.
    Requirements: JDK, IDE, OOP, Inheritance, Interfaces, Generics, Threads, Network Programming
  • 11
    Streams and Reactive Streams
    Streams and Reactive Streams
    About: Learn the Streams concept introduced in Java 8. A stream is a sequence of objects that supports various methods which can be pipelined to produce the desired result. A stream receives a collection of objects as input and provides a mechanism to pipeline multiple operations as a sequence of steps, each producing another stream until a desired output is obtained. We also discuss the Reactive Streams concept introduced in Java 11. Reactive streams provide an asynchronous mechanism of processing streams in a non-blocking manner, by enabling a publish-subscribe pattern.
    Requirements: OOP, Collections
  • 12
    Frequently Used Libraries and Concepts
    Frequently Used Libraries and Concepts
    About: In this presentation we are discussing the MAVEN dependency management system and some of the most used libraries when developing Java application. Learn how to work with XML, JSON, Reflection, AOP with Dynamic Proxies and Apache POI for creating and reading Excel files.
    Requirements: OOP, Collections