Scala is a modern object-oriented, functional statically-typed language running on the JVM. Scala is becoming increasingly popular for a lot of tasks like data processing, backend services, parallel and distributed computing or just anywhere Java could be used. Scala is used by companies such as Ocado, Twitter, LinkedIn, Foursquare, The Guardian, Starbucks, VMware, Verizon and many others. Learn some of the most common language features in this beginner to intermediate course.
|10:30 – 11:15||Basic syntax- defining variables/functions (var/val/def), control flow statements(if/while/for), basic data structures (List/Map/Set). Imports.|
|11:30 – 12:15||Object-oriented programming- classes, companion objects, traits. Fields, methods, constructors and the Uniform Access Principle. Methods, named and default parameters, overloading/overriding. Visibility rules- private, protected, public|
|12:15 – 13:15||Lunch break|
|13:15 – 14:00||Functional programming basics- referential transparency, function as first-class objects. Recursion, persistent data structures, immutability. Functions, partial functions, partially applied functions. Higher-order functions.|
|14:15 – 15:00||Using the type system- ADTS, Option/Try/Either. Currying, multiple parameter lists. Implicit parameters, implicit conversion. The typeclass pattern|
|15:15 – 16:00||Laziness in Scala- lazy vals, by-name parameters, nonstrict collections- iterators, views and streams|
|16:00||Beer & Talks|
Vassil Dichev has been working as a developer, consultant, development support and trainer since the end of the previous century. He has worked with J2EE and later on with Spring, Hibernate and XSLT. Vassil has also experimented with Aspect-Oriented Programming and dynamic languages like Ruby and Python. During his ongoing search for a more expressive language he found Scala in 2008 and found out that it’s also pretty pragmatic. After working on a couple of open-source projects like the Lift web framework, Vassil decided has wanted to work with Scala professionally and he has been doing that since 2011. Vassil has been trying to spread the word about Scala by presenting at Java2Days, jPrime and Questers Tech Events.
Software and network engineer with experience in Java related technologies, Daniel is а big Scala and Reactive architecture enthusiast.
- Scala Software Engineers & Enthusiasts
- Java Software Engineers & Enthusiasts
- Everyone who is just curious and/or a true geek
- Everyone who is willing to know more about Ocado Technology