Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ehsanmok/scala-parallel-programming

coursera
https://github.com/ehsanmok/scala-parallel-programming

coursera parallel parallel-algorithm parallel-computing scala

Last synced: 16 days ago
JSON representation

coursera

Awesome Lists containing this project

README

        

# Scala-Parallel-Programming

This repo contains my weekly notes for coursera [Parallel Programming in Scala](https://www.coursera.org/learn/parprog1) course offered by [Viktor Kuncak](http://lara.epfl.ch/~kuncak/) and [Aleksandar Prokopec](http://axel22.github.io/).

Some useful code snippets of the course released by Aleksandar Prokopec is available [here](https://github.com/axel22/parprog-snippets).

[Jupyter-notebook with scala 2.10 kernel](https://github.com/alexarchambault/jupyter-scala) is used to generate the notebooks!

## NOTE:

Please see the notebooks in [Nbviewer](http://nbviewer.jupyter.org/) for better display in the following links:

* [Week 1](http://nbviewer.jupyter.org/github/ehsanmok/Scala-Parallel-Programming/blob/master/week1_summary.ipynb)

* [Week 2](http://nbviewer.jupyter.org/github/ehsanmok/Scala-Parallel-Programming/blob/master/week2_summary.ipynb)

* [Week 3](http://nbviewer.jupyter.org/github/ehsanmok/Scala-Parallel-Programming/blob/master/week3_summary.ipynb)

* [Week 4](http://nbviewer.jupyter.org/github/ehsanmok/Scala-Parallel-Programming/blob/master/week4_summary.ipynb)

More to learn (Aleksandar Prokopec's suggests):

1. Classic: [Purely functional data structures by Okasaki](https://www.amazon.ca/Purely-Functional-Structures-Chris-Okasaki/dp/0521663504)

2. Overview of computer architectures and their effect on performance: [What Every Programmer Should Know About Memory](https://people.freebsd.org/~lstewart/articles/cpumemory.pdf)

3. General purpose computing on GPUs (not covered in course): [CUDA by example](http://developer.download.nvidia.com/books/cuda-by-example/cuda-by-example-sample.pdf)

4. [Structured Parallel Programming: Patterns for Efficient Computation](https://www.amazon.ca/Structured-Parallel-Programming-Efficient-Computation/dp/0124159931)

5. The instructor's book: [Learning Concurrent Programming in Scala by Aleksandar Prokopec](https://www.packtpub.com/application-development/learning-concurrent-programming-scala)

6. More theoretical approach to concurrent programming: [Art of Multiprocessor Programming](https://www.amazon.ca/Art-Multiprocessor-Programming-Revised-Reprint/dp/0123973376)

7. Fundamentals of distributed computing: [Distributed Algorithms by Nancy Lynch](https://www.amazon.com/Distributed-Algorithms-Kaufmann-Management-Systems/dp/1558603484) and [Introduction to Reliable Distributed Computing](https://www.amazon.com/Introduction-Reliable-Secure-Distributed-Programming/dp/3642152597)