Scala in Practice

Język wykładowy Angielski
Semestr Zimowy
Status Poddana pod głosowanie
Opiekun Michał Kowalczykiewicz
Liczba godzin 30 (wyk.) 30 (prac.)
Rodzaj Kurs inżynierski
ECTS 5
Polecany dla I roku No
Egzamin No

Opis przedmiotu:

Scala is currently one of the most popular programming languages, with a [high demand](https://insights.stackoverflow.com/survey/2019?utm_source=Iterable&utm_medium=email&utm_campaign=dev-survey-2019#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, Infor, 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 [[Dotty compiler](https://dotty.epfl.ch/)]   **Entry Recommendations**: Java, Object Oriented Programming & basics of Web Development. **Process during (possible) remote studying:** All lectures & labs are online via [meet.google.com](https://meet.google.com/). ###### Lectures: ###### * All students have cameras & mics disabled * All questions are asked via chat-box * After online session slides from lectures will be available in SKOS ###### Labs: ###### * The only way to gain points is to send the code to email (michal.kowalczykiewicz@cs.uni.wroc.pl) before the deadline * Lab hours are optional Q/A sessions