Reminder: Workshop on Functional Programming with Java

To view complete details for this event, click here to view the announcement
Workshop on Functional Programming with Java
Functional Programming is a programming style that is different from the more well-known Structured Programming or Object-Oriented Programming style. Functional Programming relies exclusively on functions as first-class citizens, which means that they are treated like any other values, and they can be passed around as arguments or returned from other functions. Modern applications that involves highly concurrent computing on multicore machines face a big challenge with the machines' "state". All imperative languages, including object-oriented languages, involve multiple threads changing the shared state of objects. This is where deadlocks, stack traces, and low-level processor cache misses all take place. If there is no state, there is no problem. In this workshop, we will explore the principles of Functional Programming and how we can implement those concepts in Java so as to build massively parallel applications in the field of Big Data.
Date and Time
- Start time: 24 Aug 2023 01:00 PM
- End time: 25 Aug 2023 04:00 PM
- All times are (UTC-06:00) Saskatchewan
Add Event to Calendar
Location
- University of Regina
- 3737 Wascana Parkway
- Regina, Saskatchewan
- Canada S4S 0A2
- Building: Education Building
- Room Number: ED 485.1
Hosts
- South Saskatchewan Section Chapter, C16
- South Saskatchewan Section
- South Saskatchewan Section Jt. Chapter,PE31/IA34
- South Saskatchewan Section Affinity Group,WIE
- South Saskatchewan Section Aff Grp,YP
- Saskatchewan Institute of Applied Sci & Tech
- University of Regina
- Contact Event Hosts
Registration
- Starts 18 August 2023 12:00 PM
- Ends 24 August 2023 12:00 PM
- All times are (UTC-06:00) Saskatchewan
- No Admission Charge
Agenda
Day 1 (1pm to 4pm):
- What is Functional Programming
- Why use Functional Programming
- A brief review of Imperative Java
- Exercises
Day 2 (1pm to 4pm):
Functional Programming in Java
- Introduction to lambda expressions
- Manipulating Collections
- Strings and Comparators
- Lazy Evaluation
- Tail-call Optimization
- Functional Composition
- Exercises
