Looking forward to studying a Master's in Computer Science (I am still waiting to be admitted), I decided to start refreshing some concepts about parallel programming and theoretical computer science with two online courses from Udacity. This concept of Massive Open Online Course (MOOC) works great because you do not need to wait for the next week for another set of videos or assignments, this however, requires a lot of commitment and discipline.
Right now I am following a course called "Introduction to Theoretical Computer Science" taught by Sebastian Wernicke, a course that focuses on the basic concepts in Computer Science and solving tough algorithmic problems. I just started the first unit and I am really enjoying this course. I want to get quickly to the NP-Completeness and NP-Complete Units.
The other course I am taking is "Introduction to Parallel Programming" taught by John Owens from UC Davis (fingers crossed) and David Luebke from NVIDIA. This course has only uploaded up to unit 2 and I am half way through it. It has presented some interesting patterns in parallel programming using CUDA and although it took me some attempts to get the first assignment correct, CUDA seems like a very powerful tool that I think I will be studying a little more.
So far so good, I am dedicating my time mainly to the documentation of the Labmanager project that I started contributing while on my visit to the C.E.C.I. MIT and preparing part of a publication about the use of IMS LTI on it. Besides that I have this online courses and running whenever I can.