Learnit/All Software Engineering Content
Concurrent Programming
editSelected stuff (Books)
editThere 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?
editOpenMP, MPI, TBB, TPL, Cilk, Cilk plus, OpenCL, PPL, ParaSail, GCD, fork/join, AMP, CnC, PBB, ArBB, PPL
Platform and language specific stuff.
editDistributed Programming
editVideo Courses
editFunctional Programming
edit- 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
editUnder Construction. Please do not introduce your additions/changes until the initial construction phase is finished. |
Algorithms
editUnder Construction. Please do not introduce your additions/changes until the initial construction phase is finished. |
Operational Systems
editLinux
editUser
edit- Linux Fundamentals, Prof. Dan Alberghetti [link]
Admin
editUser Space API
editKernel
editDrivers
editNetworking Protocols
editVideo Courses
edit- Introduction to Computer Networking, Stanford [link]
- https://www.udacity.com/course/progress#!/c-ud436
- https://www.coursera.org/learn/computer-networking
Programming Languages
editThis 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#
editclojure
editF#
editerlang
edit- 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
editHaskell
edit- 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- 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
editlisp
editocaml
editpython
editruby
editscala
editscheme
edit- Video Lectures by Hal Abelson and Gerald Jay Sussman [link]
Swift
edit- 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