"Excellent material. I really liked these videos, that aren't only about learning language features, but also about understanding abstractions and discussing software design."
–benjaminbenshalom, O'Reilly Online Learning Reviewer
7+ Hours of Video Instruction
Almost 8 hours teaching Java programmers how to design and create Java code using functional programming style and the new language features added with Java 8 that support that style.
Functional Programming for Java LiveLessons provides a solid foundation for designing and creating Java code using the functional programming style. Simon Roberts, best-selling author of Java Certification and programming books and video titles, has created a unique video course using live-action lectures, code demos, and whiteboard instructions to take learners on a learning journey by telling a story.
Functional Programming for Java LiveLessons is a complete resource where each new concept is introduced gradually, based on examples that start in the familiar object-oriented style. A solid foundation is created before adding on more complicated concepts. The discussion then examines how this example might be improved and introduces functional concepts in small steps, building in relevant code as you go and in a way that emphasizes understanding. Exercises are suggested throughout, allowing the viewer to stop and try solving the examples on their own before continuing. The code for this course is available as a GIT repository and viewers are encouraged to work with it to further their understanding.
Learn How To
Who Should Take This Course
The course begins with Lesson 1, “From an OO design pattern to a functional foundation.” This lesson examines solving a seemingly simple problem using regular object-oriented approaches. The discussion develops an increasingly flexible solution, which forms a bridge to a key pattern in functional programming style.
Lesson 2, “Building more functional concepts,” starts by looking at where code should be located for maximum maintainability. In the process, the discussion discovers how behavior can be passed into and out of methods. This lesson investigates the singleton and the factory; and compares those with constructors. It reviews many syntax features, including nested classes, private nested classes, and anonymous inner classes. It then introduces lambda expressions, their requirements, and syntactic variations. This lesson also looks at writing generic methods so as to create even more general code, and get the benefits of consistency checking through the compiler.
Lesson 3, “The power of combinations and modifications,” extends the idea that behavior can be passed as an argument to, and returned from, a method to show that such behavior can actually be computed, rather than fixed. This lesson shows how to build behavior out of other existing behaviors, modify existing behaviors, and combine them in new ways. As a result, you’ll learn to re-use code at the level of a function, rather than at the level of a class or object.
Lesson 4, “Working with pure functions,” investigates pure functions; discovering what they are, and how to address the seeming limitations of them. It will discuss a key technique in this kind of programming. The discussions will build a simple, readily comprehensible model of one of Java’s key APIs. In the process, you’ll gain a solid understanding of the functional programming concept called a “monad.”
Lesson 5, “Streams API,” takes the monad concept learned in Lesson 4 and completes your understanding, so you can use the Streams API to solve potentially large-scale data processing problems.
Lesson 6, “Advanced patterns and exception handling,” looks at the problem of how to handle exceptions that might arise during stream processing. In building the story, you’ll strengthen your understanding of how function composition and adaptation is used to solve real programming problems.
About Pearson Video Training
Pearson publishes expert-led video tutorials covering a wide selection of technology topics designed to teach you the skills you need to succeed. These professional and personal technology videos feature world-leading author instructors published by your trusted technology brands: Addison-Wesley, Cisco Press, Pearson IT Certification, Prentice Hall, Sams, and Que. Topics include: IT Certification, Network Security, Cisco Technology, Programming, Web Development, Mobile Development, and more. Learn more about Pearson Video training at http://www.informit.com/video.
Lesson 1: From an OO design pattern to a functional foundation
Lesson 2: Building more functional concepts
Lesson 3: The power of combinations and modifications
Lesson 4: Working with pure functions
Lesson 5: Streams API
Lesson 6: Advanced patterns and exception handling