
Scala for Computer Science and Data Science Education¶
Abstract¶
This book is a tutorial on the Scala programming language, with a focus on its applications in computer science and data science. Scala is the language behind Apache Spark and one of the most powerful tools for scalable data analysis. This one-hour hands-on workshop, led by Dr. George K. Thiruvathukal and Dr. Konstantin Läufer, introduces beginners to Scala. Participants will explore basic Scala syntax and data structures while performing simple data transformations and summaries using the command line. The session will also introduce participants to working with data science libraries such as Smile, which offers functionality similar to Python’s Pandas for data manipulation in Scala. We will also provide an update on the overall state of data science in Scala, including current libraries, tooling, and community trends. Participants should bring laptops capable of running Scala at the command line. Windows users must use Windows 11 and are strongly encouraged to set up the Windows Subsystem for Linux (WSL). macOS and Linux users will be able to install the necessary tools directly, even during the session.
This tutorial–delivered as a Python Sphinx book that rebuilds on all changes to the text and underlying source code–is intended to accompany the workshop.
Acknowledgments¶
Distribution¶
- Build Status
- Latest Version
v0.9.1
- Repository
- Releases
The current book (v0.9.1) in PDF is available at GitHub Releases
You can also perform the following steps to pull the book with all examples contained in the
examples
subdirectory.git clone --recurse-submodules https://github.com/LoyolaChicagoBooks/scalaworkshop
- Example Source Code
Example Repositories¶ Description
URL
introcs-scala-examples
https://github.com/LoyolaChicagoBooks/introcs-scala-examples
introds-scala-examples
https://github.com/LoyolaChicagoBooks/introds-scala-examples
integration-scala
lcs-systolicarray
https://github.com/LoyolaChicagoCode/lcs-systolicarray-scala
hpjpc
numerical-explorations-scala
https://github.com/LoyolaChicagoCode/numerical-explorations-scala
Indices and tables¶
Note
AI Disclosure: This text contains a mix of original writing and programming with strategic use of Chat-GPT4 via intelligent/clever prompting. All examples will be available in our repository with an appropriate cmake build file and tests. We will also make our prompts and analysis available, similar to what we have done for our recent ongoing study of Chat-GPT4 and Systems Programming. See https://doi.org/10.6084/m9.figshare.22257274.