Java. Functional programming

The course introduces elements of functional programming in Java 8. After completing this course, you should have a basic understanding of lambda expressions, functional interfaces, stream API, lazy evaluation, currying and monads.

About this course

This course was designed for beginner java developers and people who'd like to learn functional approach to programming. If you are an expert in java or functional programming this course will seem too simple for you. It would be better for you to proceed to a more advanced course.

The course consists of theory lessons, examples and practice exercises including code challenges. You will need both writing code and understanding of other people's code skills. The main topics of this course are lambda expressions, method references, functional interfaces, functions, stream API, currying, monads and some others.

In order to reduce your spent time for completing exercises, all I/O and some other operations will be added to your solution automatically. It will also allow you to focus on the meaning of the assigned tasks. Look carefully at each example in the theory lessons and you will be able to write your solutions much faster.

If you find any mistakes or unclear text, please, let me know.

Who is this course for

People who would like to improve their skills in java programming and to learn functional programming.

Basic knowledge of Java syntax, collections, OOP and pre-installed JDK 8+.

Meet the Instructors

User picture
Artyom Burylov
Backend developer and online education enthusiast. Interested in multithreading and distributed systems.
I graduated from PNRPU with a BSc in Computer Science (2014) and MSc in Software Engineering (2016). During the learning, I took an active part in scientific conferences and educational events.

My experience of industrial development is 6 years of programming using different languages (Java, Kotlin, Python, Obj C, C#). I was engaged in the development of desktop, mobile and server applications in different subject areas including Business Intelligence, FinTech and Industrial Engineering (CAD/CAM systems).

I attach great importance to modern and convenient technologies used in the development process.

Also, I never stop learning. To date, I've completed over 30 online courses in programming languages, databases, web-technologies, and algorithms on various MOOC-platforms.

Course content

Theory lessons "Java. Functional programming"
Practical lessons "Java. Functional programming"

Student reviews

Excellent course!
Very usefull course!!
Neat and simple

Share this course