Git Product home page Git Product logo

lectures's Introduction

License: CC BY-NC 4.0

Scala Summer School Content

Here you find the lectures and exercises for the Scala Summer School. It is still Work In Progress (WIP) and only a subset of all lectures and exercises are available.

Table of Contents

  1. Introduction
  2. Scala 101
  3. Functional Programming 101
  4. Standard Library
  5. Type Classes
  6. Type Class Incarnations

All lectures are based on [reveal.js]. Therefore, to navigate use your arrow keys. Chapters are organized in columns, slides in rows. To get an overview of all slides within a lecture press ESC.

Preparations

Mandatory

Before you can start you have to install the following tools:

  1. JDK 8 or newer (I think the latest stable version is 10)
  2. Scala
  3. SBT - it is the build-tool we will use
  4. git clone this repository

You have to install it in that order because each tool relies on the tools installed before.

Optional

  • Ammonite - this is an enhanced REPL which makes it easier to fiddle around with some code. But you don't need it. Scala comes already with a REPL. But it isn't that great :).

SBT

Here, you find a list of useful SBT commands:

# start SBT in the repo root and keep it running
sbt

# show all sub-projects
sbt> projects

# switch to a sub-project
sbt> project <name of sub-project>

# compile
sbt> compile

# compile on every file change
sbt> ~compile

# run test
sbt> test

# run a certain test
sbt> test:testOnly <name of test>

If you want some more information take a look into the introduction slides.

Build the Lectures

To build a lecture go through the following steps:

$> cd /path/to/repo
$> sbt
# select one of the shown lecture
sbt> project
sbt> project scala101-lecture

# minimum JS optimizations
sbt> fastCompile

# maximum JS optimizations (Github page)
sbt> fullCompile
sbt> exit

# opens lecture in default browser
$> open lecture1_scala_101/index.html

License

As stated in the License file all lecture slides are provided under Creative Commons BY-NC 4.0. The exercise code is released under a MIT license.

The following people are authors of the content in this repository:

  • Paul Heymann
  • David Krentzlin
  • Christian Stein
  • Florian Sachse

lectures's People

Contributors

megaflo avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.