SIGCSE Scala
1.0
Index
Site
1. About Scala
1.1. Why Scala?
2. Installing Scala
2.1. Prerequisite: JDK
2.2. Command-Line Tools
2.3. Text Editors
2.4. IDE Option: JetBrains IntelliJ IDEA
2.5. IDE Option: Eclipse Scala IDE
3. Downloading these Materials
3.1. scalaworkshop.com (Primary)
3.2. scalaworkshop.cs.luc.edu (Mirror)
3.3. Source Code Repositories
3.4. Comments?
4. Scala in CS1
4.1. Motivating Scala in CS1
4.2. Getting Started
4.3. Early Collection, Arrays and Lists
4.4. Recursion for Iteration
4.5. Some CS1 Friendly Examples
4.6. More Scala
4.7. Files
4.8. Classes and Objects
4.9. Useful REPL functionality
4.10. Additional Resources
5. CS2
5.1. Collections
5.2. Case Classes
5.3. GUIs
5.4. CS2
6. Build Tools for Scala
6.1. Why Use a Build Tool?
6.2. Brief History of Build Tools
6.3. sbt
6.4. Plugin Ecosystem
7. Web Application and Services
7.1. Professional Context
7.2. Curricular Context
7.3. Why Scala?
7.4. Web Applications
7.5. Web Services
8. Mobile Application Development with Android
8.1. Tools
8.2. Examples
8.3. Lab Assignment
9. Basic Parallelism using Par
9.1. Example: Trapezoidal Numeric Integration
9.2. Download the Code
9.3. Going Scala!
9.4. Going Parallel
9.5. Testing
9.6. Running
9.7. Initial Experiments with Performance
9.8. Previous Work
10. Parallelism using Actors
10.1. Guiding Example: Longest Common Subsequence
10.2. Java Threads Implementation
10.3. Scala Actors Implementation
11. Programming Language Topics
11.1. Abstraction
11.2. Representation
Page
11.2. Representation
Source
11.2. Representation
¶
Topics
algebraic data types
lexing and parsing
interpreters
domain-specific languages