Learnit/All Software Engineering Content
Jump to navigation
Jump to search
Concurrent Programming[edit | edit source]
Selected stuff (Books)[edit | edit source]
There are too many platforms and languages with multithreading support. Let's first of all bring here the books which matter, rather than yet another boring platform-specific manual.
- "The Little Book of Semaphores", Allen B. Downey [get free] -- good for acquiring an intuition on solving of basic (and not so basic) synchronization problems using old good semaphores.
- "The Art of Multiprocessor Programming", Maurice Herlihy, Nir Shavit [amazon] -- this book is mostly dedicated to the lock-free synchronization and other advanced topics rather than basic synchronization methods.
- Any good book on condvars?
Frameworks?[edit | edit source]
OpenMP, MPI, TBB, TPL, Cilk, Cilk plus, OpenCL, PPL, ParaSail, GCD, fork/join, AMP, CnC, PBB, ArBB, PPL
Platform and language specific stuff.[edit | edit source]
- Concurrent programming in Erlang, Future Learn [link]
- Bartosz Milewski - Parallel and Concurrent Haskell [link]
Distributed Programming[edit | edit source]
Video Courses[edit | edit source]
- Seif Haridi. Distributed Algorithms. [video]
- CS 436: Distributed Computer Systems, University of Waterloo [video]
- Cloud Computing Concepts, University of Illinois, coursera.org [link]
Functional Programming[edit | edit source]
- Inroduction to functional programming https://courses.edx.org/courses/course-v1:DelftX+FP101x+3T2015/info
- Category theory foundations https://www.youtube.com/watch?v=ZKmodCApZwk
Machine Learning and AI[edit | edit source]
![]() |
Under Construction. Please do not introduce your additions/changes until the initial construction phase is finished. |
Algorithms[edit | edit source]
![]() |
Under Construction. Please do not introduce your additions/changes until the initial construction phase is finished. |
Operational Systems[edit | edit source]
Linux[edit | edit source]
User[edit | edit source]
- Linux Fundamentals, Prof. Dan Alberghetti [link]
Admin[edit | edit source]
User Space API[edit | edit source]
Kernel[edit | edit source]
Drivers[edit | edit source]
Networking Protocols[edit | edit source]
Video Courses[edit | edit source]
- Introduction to Computer Networking, Stanford [link]
- https://www.udacity.com/course/progress#!/c-ud436
- https://www.coursera.org/learn/computer-networking
Programming Languages[edit | edit source]
This page is either for interesting languages or interesting resources. Please no yet another "learn smth in # days". Good introductory courses are still welcome. Preferably, no materials for beginners like "smth as your first language".
C#[edit | edit source]
clojure[edit | edit source]
F#[edit | edit source]
erlang[edit | edit source]
- https://www.youtube.com/watch?v=9uIhawQ1G0I
- http://www.infoq.com/presentations/joe-armstrong-erlang-qcon08
- http://www.cs.kent.ac.uk/ErlangMasterClasses/
- https://www.futurelearn.com/courses/concurrent-programming-erlang
go[edit | edit source]
Haskell[edit | edit source]
- https://compscicenter.ru/courses/func-prog/2015-spring/
- https://onlinecourses.nptel.ac.in/noc15_cs13/course
- Microsoft Channel 9
- Some singular presentations
- A taste of Haskell - Simon Peyton Jones
- Adventure with Types in Haskell - Simon Peyton Jones
- Parallel and concurrent programming in Haskell https://www.youtube.com/watch?v=lqG3mURwUxo
java[edit | edit source]
- https://www.edx.org/course/introduction-programming-java-part-1-uc3mx-it-1-1x-0
- https://www.edx.org/course/introduction-java-programming-part-1-hkustx-comp102-1x
javascript[edit | edit source]
lisp[edit | edit source]
ocaml[edit | edit source]
python[edit | edit source]
ruby[edit | edit source]
scala[edit | edit source]
scheme[edit | edit source]
- Video Lectures by Hal Abelson and Gerald Jay Sussman [link]
Swift[edit | edit source]
- Building Better Apps with Value Types in Swift - Apple WWDC 2015 - https://www.youtube.com/watch?v=av4i3x-aZbM
- Protocol-oriented Programming in Swift - Apple WWDC 2015 https://www.youtube.com/watch?v=g2LwFZatfTI
- Understanding Swift Performance - Apple WWDC 2016 https://www.youtube.com/watch?v=9By9KLs51Dc