Scala is currently one of the most popular programming languages, with a [high demand](https://survey.stackoverflow.co/2023/#section-top-paying-technologies-top-paying-technologies) amongst software development companies, globally.
It’s functional & object oriented dual nature, static typing, high expressiveness & JVM integration makes it a perfect choice for many companies. User’s include the likes of Twitter, LinkedIn, Netflix & Amazon, amongst others. These companies use Scala to create web portals, big data applications... and code-generators [[ScalaUA 2019](https://www.youtube.com/watch?v=DLjALS_Lbn8&feature=youtu.be)].
The goal of this course is to introduce students to the syntax of the language, along with the frameworks and libraries associated with it, which are a standard in the industry.
**Course Syllabus:**
#### I. Scala syntax
* Code standards
* Types
* Classes & objects
* Traits
* Functions & closures
* Collections
* Case classes & pattern matching
* Lambdas
* Implicit parameters
* Futures
* Cooperation with Java
#### II. Frameworks & libraries
* Scala in commercial applications
* Build tool - [[Sbt](https://www.scala-sbt.org)]
* Testing - [[ScalaTest](http://www.scalatest.org/)]
* Database access - [[Slick](http://scala-slick.org/)]
* Web applications - [[Play Framework](https://www.playframework.com)]
* Concurrent and distributed applications [[Akka](https://akka.io)]
* Functional Programming - [[Cats](https://typelevel.org/cats/)]
#### III. Glimpse into the future of Scala
**Entry Recommendations**: Java, Object Oriented Programming & basics of Web Development.
###### Lectures (remote, via [meet.google.com](https://meet.google.com/)): ######
* All students have cameras & mics disabled
* All questions are asked via mic or chat-box
* After online session slides from lectures will be available in SKOS
###### Labs (stationary): ######
* The only way to gain points is to present the solution (_demo + code walkthrough_) during lab hours