All Projects → darrenjw → Scala Course

darrenjw / Scala Course

Licence: gpl-3.0
Scala for Statistical Computing and Data Science Short Course

Programming Languages

scala
5932 projects

Projects that are alternatives of or similar to Scala Course

Lunatech Scala 2 To Scala3 Course
Lunatech course - "Moving forward from Scala 2 to Scala 3"
Stars: ✭ 174 (+47.46%)
Mutual labels:  course, training, course-materials, training-materials
The Complete Guide To Modern Javascript
A comprehensive, easy-to-follow ebook to learn everything from the basics of JavaScript to ES2020. Read more on my blog https://inspiredwebdev.com or buy it here http://a-fwd.to/jHO6m9t. Get the course here https://www.educative.io/courses/complete-guide-to-modern-javascript?aff=BqmB
Stars: ✭ 827 (+600.85%)
Mutual labels:  training, training-materials
Workshop
JetBrains Kotlin Workshop Material
Stars: ✭ 577 (+388.98%)
Mutual labels:  training, training-materials
Docker Hy.github.io
DevOps with Docker course by the University of Helsinki, Course material
Stars: ✭ 41 (-65.25%)
Mutual labels:  course, course-materials
cpluspluscourse
C++ Course Taught at CERN, from Sebastien Ponce (LHCb)
Stars: ✭ 19 (-83.9%)
Mutual labels:  training, training-materials
intro-to-python
An Introduction to Programming in Python
Stars: ✭ 57 (-51.69%)
Mutual labels:  course, course-materials
Minerva Training Materials
Learn advanced data science on real-life, curated problems
Stars: ✭ 37 (-68.64%)
Mutual labels:  training, training-materials
Coursera---Using-Python-to-Access-Web-Data
Here is All Weeks Assignment for Using Python to Access Web Data Course on Coursera
Stars: ✭ 36 (-69.49%)
Mutual labels:  course, course-materials
Java Training Exercices
Stars: ✭ 44 (-62.71%)
Mutual labels:  training, training-materials
Cvessentials
Tutorial Series (60 hour course): Essentials of computer vision
Stars: ✭ 111 (-5.93%)
Mutual labels:  course, course-materials
Ppd599
USC urban data science course series with Python and Jupyter
Stars: ✭ 1,062 (+800%)
Mutual labels:  course, course-materials
Teaching-Data-Visualisation
Presentation and exercises for the Software Sustainability Institute Research Data Visualisation Workshop (RDVW)
Stars: ✭ 15 (-87.29%)
Mutual labels:  training, training-materials
newcomer
前端新人培训
Stars: ✭ 25 (-78.81%)
Mutual labels:  training, training-materials
Flink Training Course
Flink 中文视频课程(持续更新...)
Stars: ✭ 3,963 (+3258.47%)
Mutual labels:  course, training
deep vision and graphics
Course about deep learning for computer vision and graphics co-developed by YSDA and Skoltech.
Stars: ✭ 89 (-24.58%)
Mutual labels:  course, course-materials
Training
Various Plone Trainings
Stars: ✭ 32 (-72.88%)
Mutual labels:  training, training-materials
Course Computational Literary Analysis
Course materials for Introduction to Computational Literary Analysis, taught at UC Berkeley in Summer 2018, 2019, and 2020, and at Columbia University in Fall 2020.
Stars: ✭ 74 (-37.29%)
Mutual labels:  course, course-materials
training-materials
No description or website provided.
Stars: ✭ 47 (-60.17%)
Mutual labels:  training, training-materials
r4excel users
Бесплатный видео курс "Язык R для пользователей Excel"
Stars: ✭ 14 (-88.14%)
Mutual labels:  course, course-materials
Practical dl
DL course co-developed by YSDA, HSE and Skoltech
Stars: ✭ 1,006 (+752.54%)
Mutual labels:  course, course-materials

Scala for Statistical Computing and Data Science Short Course

I occasionally run this course in-house for companies - email me if your company is interested in this. Also note that I run an advanced course on Category theory for pure FP in Scala

Registered course participants should bookmark the Start Here page. Please carefully follow the laptop setup instructions in advance of the start of the course.

Outline course description

This course is aimed at statisticians and data scientists already familiar with a dynamic programming language (such as R, Python or Octave) who would like to learn how to use Scala. Scala is a free modern, powerful, strongly-typed, functional programming language, well-suited to statistical computing and data science applications. In particular, it is fast and efficient, runs on the Java virtual machine (JVM), and is designed to easily exploit modern multi-core and distributed computing architectures.

The course will begin with an introduction to the Scala language and basic concepts of functional programming (FP), as well as essential Scala tools such as SBT for managing builds and library dependencies. The course will continue with an overview of the Scala collections library, including parallel collections, and we will see how parallel collections enable trivial parallelisation of many statistical computing algorithms on multi-core hardware. We will next survey the wider Scala library ecosystem, paying particular attention to Breeze, the Scala library for scientific computing and numerical linear algebra. We will see how to exploit non-uniform random number generation and matrix computations in Breeze for statistical applications. Both maximum-likelihood and simulation-based Bayesian statistical inference algorithms will be considered. Much of the final day will be dedicated to understanding Apache Spark, the distributed Big Data analytics platform for Scala. We will understand how Spark relates to the parallel collections we have already examined, and see how it can be used not only for the processing of very large data sets, but also for the parallel and distributed analysis of large or otherwise computationally-intensive models. As time permits, we will discuss more advanced FP concepts, such as typeclasses, higher-kinded types, monoids, functors, monads, applicatives, streams and streaming data, and see how these enable the development of flexible, scalable, generic code in strongly-typed functional languages.

Prerequisite

The course assumes a basic familiarity with essential concepts in statistical computing, as well as some basic programming experience. It is assumed that participants will be familiar with writing their own functions in a language such as R, including essential control structures such as "for-loops" and "if-statements". The course is not suitable for people completely new to programming. However, no prior knowledge of Scala or functional programming is assumed. All participants will be expected to bring their own (multi-core) laptop and to have a recent version of Java pre-installed. Other set-up instructions will be provided in advance to registered participants.

Course structure

The course will be delivered through a combination of lectures, live demos and hands-on practical sessions. For the practical sessions, participants will be expected to actively engage with the material, run demos, follow examples, and write code to solve simple problems.

Presenters

The course will be delivered by Prof Darren Wilkinson (Newcastle University, U.K.). Prof Wilkinson is co-Director of Newcastle's EPSRC Centre for Doctoral Training in Cloud Computing for Big Data, and a Turing Fellow. He is a well-known expert in computational Bayesian statistics and a leading proponent of the use of strongly-typed FP languages (such as Scala) for scalable statistical computing.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].