BEGIN:VCALENDAR
VERSION:2.0
PRODID:IEEE vTools.Events//EN
CALSCALE:GREGORIAN
BEGIN:VTIMEZONE
TZID:America/Regina
BEGIN:STANDARD
DTSTART:19600424T030000
TZOFFSETFROM:-0700
TZOFFSETTO:-0600
TZNAME:CST
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
DTSTAMP:20250728T201726Z
UID:FD5B03F3-D8AC-4B3F-BFD4-03C17A8017E6
DTSTART;TZID=America/Regina:20250703T130000
DTEND;TZID=America/Regina:20250703T160000
DESCRIPTION:Functional Programming is a programming style that is different
  from the more well-known Structured Programming or Object-Oriented Progra
 mming style. Functional Programming relies exclusively on functions as fir
 st-class citizens\, which means that they are treated like any other value
 s\, and they can be passed around as arguments or returned from other func
 tions. Modern applications that involves highly concurrent computing on mu
 lticore machines face a big challenge with the machines&#39; &quot;state&quot;. All impe
 rative languages\, including object-oriented languages\, involve multiple 
 threads changing the shared state of objects. This is where deadlocks\, st
 ack 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 conce
 pts in Java so as to build massively parallel applications in the field of
  Big Data.\n\nPre-requisite: Knowledge of Java Programming\n\nSpeaker(s): 
 Kin-Choong Yow\, \n\nAgenda: \n- What is Functional Programming?\n-  Imple
 menting Function Programming Concepts with Java\n· Introduction to lambda
  expressions\n\n· Manipulating Collections\n\n· Strings and Comparators\
 n\n· Lazy Evaluation\n\n· Tail-call Optimization\n\n· Functional Compos
 ition\n\n- Exercises\n\nRoom: ED 485.1\, Bldg: Education Building\, Univer
 sity of Regina\, 3737 Wascana Parkway\, Regina\, Saskatchewan\, Canada\, S
 4S 0A2\, Virtual: https://events.vtools.ieee.org/m/490436
LOCATION:Room: ED 485.1\, Bldg: Education Building\, University of Regina\,
  3737 Wascana Parkway\, Regina\, Saskatchewan\, Canada\, S4S 0A2\, Virtual
 : https://events.vtools.ieee.org/m/490436
ORGANIZER:Kin-Choong.Yow@uregina.ca
SEQUENCE:5
SUMMARY:Functional Programming in Java
URL;VALUE=URI:https://events.vtools.ieee.org/m/490436
X-ALT-DESC:Description: &lt;br /&gt;&lt;p&gt;&lt;span style=&quot;font-size: 10.5pt\; line-heig
 ht: 115%\; font-family: &#39;Open Sans&#39;\,sans-serif\; mso-fareast-font-family:
  DengXian\; mso-fareast-theme-font: minor-fareast\; color: #616161\; backg
 round: white\; mso-ansi-language: EN-CA\; mso-fareast-language: ZH-CN\; ms
 o-bidi-language: AR-SA\;&quot;&gt;Functional Programming is a programming style th
 at is different from the more well-known Structured Programming or Object-
 Oriented Programming style. Functional Programming relies exclusively on f
 unctions 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&#39; &quot;s
 tate&quot;. All imperative languages\, including object-oriented languages\, in
 volve 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 w
 ill explore the principles of Functional Programming and how we can implem
 ent those concepts in Java so as to build massively parallel applications 
 in the field of Big Data.&lt;/span&gt;&lt;/p&gt;\n&lt;p&gt;&lt;span style=&quot;font-size: 10.5pt\; 
 line-height: 115%\; font-family: &#39;Open Sans&#39;\,sans-serif\; mso-fareast-fon
 t-family: DengXian\; mso-fareast-theme-font: minor-fareast\; color: #61616
 1\; background: white\; mso-ansi-language: EN-CA\; mso-fareast-language: Z
 H-CN\; mso-bidi-language: AR-SA\;&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-size: 10.5pt\
 ; line-height: 115%\; font-family: &#39;Open Sans&#39;\,sans-serif\; mso-fareast-f
 ont-family: DengXian\; mso-fareast-theme-font: minor-fareast\; color: #616
 161\; background: white\; mso-ansi-language: EN-CA\; mso-fareast-language:
  ZH-CN\; mso-bidi-language: AR-SA\;&quot;&gt;Pre-requisite&lt;/span&gt;&lt;/strong&gt;&lt;span st
 yle=&quot;font-size: 10.5pt\; line-height: 115%\; font-family: &#39;Open Sans&#39;\,san
 s-serif\; mso-fareast-font-family: DengXian\; mso-fareast-theme-font: mino
 r-fareast\; color: #616161\; background: white\; mso-ansi-language: EN-CA\
 ; mso-fareast-language: ZH-CN\; mso-bidi-language: AR-SA\;&quot;&gt;: Knowledge of
  Java Programming&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;Agenda: &lt;br /&gt;&lt;ol&gt;\n&lt;li&gt;&lt;sp
 an lang=&quot;EN-US&quot; style=&quot;font-size: 13.5pt\; font-family: &#39;Open Sans&#39;\,sans-
 serif\; mso-fareast-font-family: &#39;Times New Roman&#39;\; color: black\; mso-fo
 nt-kerning: 0pt\; mso-ligatures: none\; mso-ansi-language: EN-US\;&quot;&gt;What i
 s Functional Programming?&lt;/span&gt;&lt;/li&gt;\n&lt;li&gt;&lt;span style=&quot;font-size: 10.0pt\
 ; mso-bidi-font-size: 10.5pt\; font-family: &#39;Open Sans&#39;\,sans-serif\; mso-
 fareast-font-family: &#39;Open Sans&#39;\; color: #616161\; mso-font-kerning: 0pt\
 ; mso-ligatures: none\;&quot;&gt;&lt;span style=&quot;mso-list: Ignore\;&quot;&gt;&lt;span style=&quot;fon
 t: 7.0pt &#39;Times New Roman&#39;\;&quot;&gt;&amp;nbsp\;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;s
 pan lang=&quot;EN-US&quot; style=&quot;font-size: 13.5pt\; font-family: &#39;Open Sans&#39;\,sans
 -serif\; mso-fareast-font-family: &#39;Times New Roman&#39;\; color: black\; mso-f
 ont-kerning: 0pt\; mso-ligatures: none\; mso-ansi-language: EN-US\;&quot;&gt;Imple
 menting Function Programming Concepts with Java&lt;/span&gt;\n&lt;p style=&quot;font-fam
 ily: -apple-system\, BlinkMacSystemFont\, &#39;Segoe UI&#39;\, Roboto\, Oxygen\, U
 buntu\, Cantarell\, &#39;Open Sans&#39;\, &#39;Helvetica Neue&#39;\, sans-serif\; font-siz
 e: medium\;&quot;&gt;&lt;span style=&quot;font-size: 10.5pt\; font-family: Symbol\; mso-fa
 reast-font-family: Symbol\; mso-bidi-font-family: Symbol\; color: #616161\
 ; mso-font-kerning: 0pt\; mso-ligatures: none\;&quot;&gt;&amp;middot\;&lt;span style=&quot;fon
 t: 7.0pt &#39;Times New Roman&#39;\;&quot;&gt;&amp;nbsp\;&amp;nbsp\;&amp;nbsp\;&amp;nbsp\;&amp;nbsp\;&amp;nbsp\;&amp;n
 bsp\;&amp;nbsp\;&amp;nbsp\;&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 13.5
 pt\; font-family: &#39;Open Sans&#39;\,sans-serif\; mso-fareast-font-family: &#39;Time
 s New Roman&#39;\; color: black\; mso-font-kerning: 0pt\; mso-ligatures: none\
 ; mso-ansi-language: EN-US\;&quot;&gt;Introduction to lambda expressions&lt;/span&gt;&lt;/p
 &gt;\n&lt;p style=&quot;font-family: -apple-system\, BlinkMacSystemFont\, &#39;Segoe UI&#39;\
 , Roboto\, Oxygen\, Ubuntu\, Cantarell\, &#39;Open Sans&#39;\, &#39;Helvetica Neue&#39;\, 
 sans-serif\; font-size: medium\;&quot;&gt;&lt;span style=&quot;font-size: 10.5pt\; font-fa
 mily: Symbol\; mso-fareast-font-family: Symbol\; mso-bidi-font-family: Sym
 bol\; color: #616161\; mso-font-kerning: 0pt\; mso-ligatures: none\;&quot;&gt;&amp;mid
 dot\;&lt;span style=&quot;font: 7.0pt &#39;Times New Roman&#39;\;&quot;&gt;&amp;nbsp\;&amp;nbsp\;&amp;nbsp\;&amp;n
 bsp\;&amp;nbsp\;&amp;nbsp\;&amp;nbsp\;&amp;nbsp\;&amp;nbsp\;&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; s
 tyle=&quot;font-size: 13.5pt\; font-family: &#39;Open Sans&#39;\,sans-serif\; mso-farea
 st-font-family: &#39;Times New Roman&#39;\; color: black\; mso-font-kerning: 0pt\;
  mso-ligatures: none\; mso-ansi-language: EN-US\;&quot;&gt;Manipulating Collection
 s&lt;/span&gt;&lt;/p&gt;\n&lt;p style=&quot;font-family: -apple-system\, BlinkMacSystemFont\, 
 &#39;Segoe UI&#39;\, Roboto\, Oxygen\, Ubuntu\, Cantarell\, &#39;Open Sans&#39;\, &#39;Helveti
 ca Neue&#39;\, sans-serif\; font-size: medium\;&quot;&gt;&lt;span style=&quot;font-size: 10.5p
 t\; font-family: Symbol\; mso-fareast-font-family: Symbol\; mso-bidi-font-
 family: Symbol\; color: #616161\; mso-font-kerning: 0pt\; mso-ligatures: n
 one\;&quot;&gt;&amp;middot\;&lt;span style=&quot;font: 7.0pt &#39;Times New Roman&#39;\;&quot;&gt;&amp;nbsp\;&amp;nbsp
 \;&amp;nbsp\;&amp;nbsp\;&amp;nbsp\;&amp;nbsp\;&amp;nbsp\;&amp;nbsp\;&amp;nbsp\;&lt;/span&gt;&lt;/span&gt;&lt;span lan
 g=&quot;EN-US&quot; style=&quot;font-size: 13.5pt\; font-family: &#39;Open Sans&#39;\,sans-serif\
 ; mso-fareast-font-family: &#39;Times New Roman&#39;\; color: black\; mso-font-ker
 ning: 0pt\; mso-ligatures: none\; mso-ansi-language: EN-US\;&quot;&gt;Strings and 
 Comparators&lt;/span&gt;&lt;/p&gt;\n&lt;p style=&quot;font-family: -apple-system\, BlinkMacSys
 temFont\, &#39;Segoe UI&#39;\, Roboto\, Oxygen\, Ubuntu\, Cantarell\, &#39;Open Sans&#39;\
 , &#39;Helvetica Neue&#39;\, sans-serif\; font-size: medium\;&quot;&gt;&lt;span style=&quot;font-s
 ize: 10.5pt\; font-family: Symbol\; mso-fareast-font-family: Symbol\; mso-
 bidi-font-family: Symbol\; color: #616161\; mso-font-kerning: 0pt\; mso-li
 gatures: none\;&quot;&gt;&amp;middot\;&lt;span style=&quot;font: 7.0pt &#39;Times New Roman&#39;\;&quot;&gt;&amp;n
 bsp\;&amp;nbsp\;&amp;nbsp\;&amp;nbsp\;&amp;nbsp\;&amp;nbsp\;&amp;nbsp\;&amp;nbsp\;&amp;nbsp\;&lt;/span&gt;&lt;/span
 &gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 13.5pt\; font-family: &#39;Open Sans&#39;\,s
 ans-serif\; mso-fareast-font-family: &#39;Times New Roman&#39;\; color: black\; ms
 o-font-kerning: 0pt\; mso-ligatures: none\; mso-ansi-language: EN-US\;&quot;&gt;La
 zy Evaluation&lt;/span&gt;&lt;/p&gt;\n&lt;p style=&quot;font-family: -apple-system\, BlinkMacS
 ystemFont\, &#39;Segoe UI&#39;\, Roboto\, Oxygen\, Ubuntu\, Cantarell\, &#39;Open Sans
 &#39;\, &#39;Helvetica Neue&#39;\, sans-serif\; font-size: medium\;&quot;&gt;&lt;span style=&quot;font
 -size: 10.5pt\; font-family: Symbol\; mso-fareast-font-family: Symbol\; ms
 o-bidi-font-family: Symbol\; color: #616161\; mso-font-kerning: 0pt\; mso-
 ligatures: none\;&quot;&gt;&amp;middot\;&lt;span style=&quot;font: 7.0pt &#39;Times New Roman&#39;\;&quot;&gt;
 &amp;nbsp\;&amp;nbsp\;&amp;nbsp\;&amp;nbsp\;&amp;nbsp\;&amp;nbsp\;&amp;nbsp\;&amp;nbsp\;&amp;nbsp\;&lt;/span&gt;&lt;/sp
 an&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 13.5pt\; font-family: &#39;Open Sans&#39;\
 ,sans-serif\; mso-fareast-font-family: &#39;Times New Roman&#39;\; color: black\; 
 mso-font-kerning: 0pt\; mso-ligatures: none\; mso-ansi-language: EN-US\;&quot;&gt;
 Tail-call Optimization&lt;/span&gt;&lt;/p&gt;\n&lt;p style=&quot;font-family: -apple-system\, 
 BlinkMacSystemFont\, &#39;Segoe UI&#39;\, Roboto\, Oxygen\, Ubuntu\, Cantarell\, &#39;
 Open Sans&#39;\, &#39;Helvetica Neue&#39;\, sans-serif\; font-size: medium\;&quot;&gt;&lt;span st
 yle=&quot;font-size: 10.5pt\; font-family: Symbol\; mso-fareast-font-family: Sy
 mbol\; mso-bidi-font-family: Symbol\; color: #616161\; mso-font-kerning: 0
 pt\; mso-ligatures: none\;&quot;&gt;&amp;middot\;&lt;span style=&quot;font: 7.0pt &#39;Times New R
 oman&#39;\;&quot;&gt;&amp;nbsp\;&amp;nbsp\;&amp;nbsp\;&amp;nbsp\;&amp;nbsp\;&amp;nbsp\;&amp;nbsp\;&amp;nbsp\;&amp;nbsp\;&lt;/
 span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 13.5pt\; font-family: &#39;Op
 en Sans&#39;\,sans-serif\; mso-fareast-font-family: &#39;Times New Roman&#39;\; color:
  black\; mso-font-kerning: 0pt\; mso-ligatures: none\; mso-ansi-language: 
 EN-US\;&quot;&gt;Functional Composition&lt;/span&gt;&lt;/p&gt;\n&lt;/li&gt;\n&lt;li&gt;&lt;span lang=&quot;EN-US&quot; 
 style=&quot;font-size: 13.5pt\; font-family: &#39;Open Sans&#39;\,sans-serif\; mso-fare
 ast-font-family: &#39;Times New Roman&#39;\; color: black\; mso-font-kerning: 0pt\
 ; mso-ligatures: none\; mso-ansi-language: EN-US\;&quot;&gt;Exercises&lt;/span&gt;&lt;/li&gt;\
 n&lt;/ol&gt;
END:VEVENT
END:VCALENDAR

