Get Programming with Scala alternatives and similar packages
Based on the "Misc." category.
Alternatively, view Get Programming with Scala alternatives based on common mentions on social networks and blogs.
-
Exercism - Scala Exercises
Crowd-sourced code mentorship. Practice having thoughtful conversations about code. -
Scala school
Lessons in the Fundamentals of Scala -
Demos and Examples in Scala (Chinese)
scala、spark使用过程中,各种测试用例以及相关资料整理 -
Learn-by-doing functional programming course on Scala
learn-by-doing course/tutorial for functional programming on scala -
A Tour of Scala
The standard Scala XML library -
Functional Programming for Mortals
source and examples to Functional Programming for Mortals with Scalaz -
The Type Astronaut's Guide to Shapeless
Example code to accompany shapeless-guide. -
Deploying Scala libraries to Sonatype for dummies
Deploying scala libraries to central for dummies -
Scalera Blog
Blog about Scala language and its environment (howto's, good practices, tips,...). Weekly posts written in both spanish and english -
List of Scala Online Courses
A list of free and paid Scala online courses by Classpert, An online course search and comparison website -
Scala Days Conferences
A youtube channel that provides full fledged videos, recorded at Scala Days Conferences -
Dr. Mark Lewis
Resources by Dr. Mark Lewis >> Website | Youtube Playlists -
Functional Programming in Scala
Coursera Specialization (5 courses) created by Martin Odersky et al. at the EPFL (Ecole polytechnique fédérale de Lausanne). -
Reactive Programming with Scala and Akka
Use the concepts of reactive programming to build distributed systems running on multiple nodes -
Scala Collections Cookbook
Scala collections introduction. written in Chinese. -
Scala With Cats
Learn system architecture and design using the techniques of modern functional programming with Cats -
Scala for the Impatient 2nd Edition
Covers most Scala features with short and easy to understand explainations.
Static code analysis for 29 languages.
Do you think we are missing an alternative of Get Programming with Scala or a related project?
Popular Comparisons
-
Get Programming with ScalavsIntroduction to programming with dependent types in Scala
-
Get Programming with ScalavsDemos and Examples in Scala (Chinese)
-
Get Programming with ScalavsCA Art
-
Get Programming with ScalavsList of Scala Online Courses
-
Scala With CatsvsFunctional Programming for Mortals
README
Get Programming with Scala
Code, exercises, and answers for the book Get Programming with Scala.
Lessons are grouped per unit. Each lesson is a standalone sbt project and
it has the following three packages: listings
, quickchecks
, trythis
.
Have a look at the Table of Contents for links to all the book lessons.
Installation Requirements
Make sure the following tools are installed:
- JDK 8+
- sbt
Running the Code
Code Snippets (Scala Worksheets)
Some lessons are simple snippets (files with extension *.sc) also called Scala Worksheets. They can be interpreted interactively from the REPL by IDEs with dedicated Scala support, such as IntelliJ IDEA and ScalaIDE.
If you a using a text editor or your IDE doesn't support Scala Worksheets, start the REPL from sbt:
sbt console
and evaluate the file as follows:
> :load /path/to/file.sc
Executable sbt Programs
Some lessons are fully fleshed-out programs (files with extension *.scala): in order to run them, they need to be compiled. First, navigate to the folder of the lesson you are interested in.
Suppose you want to review the code for lesson 8:
cd unit1/lesson8
Start sbt:
sbt
Compile and run the code:
> run
If a lecture isn't an executable program, please see section on running Scala Worksheets.
Table of Contents
UNIT 0: HELLO SCALA!
- [LESSON 1](unit0/lesson01): Why Scala?
- [LESSON 2](unit0/lesson02): The Scala Environment
- [LESSON 3](unit0/lesson03): sbt – Scala Build Tool
UNIT 1: THE BASICS
- [LESSON 4](unit1/lesson04): Values and Variables
- [LESSON 5](unit1/lesson05): Conditional Constructs and Loops
- [LESSON 6](unit1/lesson06): Function as the most fundamental block of code
- [LESSON 7](unit1/lesson07): Classes as a representation of our world
- [LESSON 8](unit1/lesson08): CAPSTONE 1 - The Vending Machine
UNIT 2: OBJECT-ORIENTED FUNDAMENTALS
- [LESSON 9](unit2/lesson09): Import and Create Packages
- [LESSON 10](unit2/lesson10): Scope your code with Access Modifiers
- [LESSON 11](unit2/lesson11): Singleton Objects
- [LESSON 12](unit2/lesson12): Traits as interfaces
- [LESSON 13](unit2/lesson13): CAPSTONE 2 - What time is it?
UNIT 3: HTTP SERVICE
- [LESSON 14](unit3/lesson14): Pattern Matching
- [LESSON 15](unit3/lesson15): Anonymous Functions
- [LESSON 16](unit3/lesson16): Partial Functions
- [LESSON 17](unit3/lesson17): HTTP API with http4s
- [LESSON 18](unit3/lesson18): CAPSTONE 3- The Time HTTP Server
UNIT 4: IMMUTABLE DATA AND STRUCTURES
- [LESSON 19](unit4/lesson19): Case classes to structure our data
- [LESSON 20](unit4/lesson20): Higher Order Functions
- [LESSON 21](unit4/lesson21): What is Purity?
- [LESSON 22](unit4/lesson22): Option
- [LESSON 23](unit4/lesson23): Working with Option: map and flatMap
- [LESSON 24](unit4/lesson24): Working with Option: for-comprehension
- [LESSON 25](unit4/lesson25): Tuple and Unapply
- [LESSON 26](unit4/lesson26): CAPSTONE 4 - Rock, Paper, Scissors, Lizard, Spock!
- [LESSON 19](unit4/lesson19): Case classes to structure our data
UNIT 5: LIST
- [LESSON 27](unit5/lesson27): List
- [LESSON 28](unit5/lesson28): Working with List: map and flatMap
- [LESSON 29](unit5/lesson29): Working with List: properties
- [LESSON 30](unit5/lesson30): Working with List: element selection
- [LESSON 31](unit5/lesson31): Working with List: filtering
- [LESSON 32](unit5/lesson32): Working with List: sorting and other operations
- [LESSON 33](unit5/lesson33): CAPSTONE 5 – The Movies Dataset
- [LESSON 27](unit5/lesson27): List
UNIT 6: OTHER COLLECTIONS AND ERROR HANDLING
- [LESSON 34](unit6/lesson34): Set
- [LESSON 35](unit6/lesson35): Working with Set
- [LESSON 36](unit6/lesson36): Map
- [LESSON 37](unit6/lesson37): Working with Map
- [LESSON 38](unit6/lesson38): Either
- [LESSON 39](unit6/lesson39): Working with Either
- [LESSON 40](unit6/lesson40): Error Handling with Try
- [LESSON 41](unit6/lesson41): CAPSTONE 6 – The Library Application
- [LESSON 34](unit6/lesson34): Set
UNIT 7: CONCURRENCY
- [LESSON 42](unit7/lesson42): Implicit and Type Classes
- [LESSON 43](unit7/lesson43): Future
- [LESSON 44](unit7/lesson44): Working with Future: map and flatMap
- [LESSON 45](unit7/lesson45): Working with Future: for-comprehension and other operations
- [LESSON 46](unit7/lesson46): Database queries with Quill
- [LESSON 47](unit7/lesson47): CAPSTONE 7 – The Quiz Application: Part 1
UNIT 8: JSON (DE)SERIALIZATION
- [LESSON 48](unit8/lesson48): JSON (De)serialization with circe
- [LESSON 49](unit8/lesson49): Lazy Evaluation
- [LESSON 50](unit8/lesson50): The IO type
- [LESSON 51](unit8/lesson51): Working with the IO type
- [LESSON 52](unit8/lesson52): Testing with ScalaTest
- [LESSON 53](unit8/lesson53): CAPSTONE 8 – The Quiz Application: Part 2