I've taken an interest in brushing up my programming skills with 3 main fronts:
Having a degree in Computer Science and 10 years on the job programming (mostly C and a bit of assembler), I am not without background skills.
However C++ came out while I was at Uni, and was never on the curriculum. I've done a week's C++ course years ago, but without spending time on it, you never really get it. Read a really good book, "C++ Programming in easy steps". Example programs are easy and you really get a good view on the point of C++ that a more in depth reference won't give you.
Never programmed with OpenCL, but got hold of the book "Hetrogeneous Computing with OpenCL 2.0", and managed to get the example programs from the book's website compiled. So I've started studying it. Hope to learn enough to be dangerous.
Assembler should be an easy one, but Windows programming is not so straight forward at the best of times. Hope to keep plugging away at it. Any progress will be good.
Anyway, to consolidate my C++ study I've started a little project. To read the task files in the BOINC data directory. A little program sleeps for 10 minutes then prints a line feed then reads the directory and parses the files it finds. Created a Class fileNameSet, that it compares with the current directory listing and then parses newly found files. Current output of the program on my home PC:
C:\Projects\Monitor Task Status\Task Monitor>Monitor.exe
PPS MEGA task candidate: 967*2^3540308+1
PPS MEGA task candidate: 765*2^3540324+1
PPSE task candidate: 3603*2^1498788+1
PPS task candidate: 921*2^2636464+1
PPS task candidate: 345*2^2636469+1
PPS task candidate: 663*2^2636490+1
PPS task candidate: 817*2^2636592+1
PPSE task candidate: 8881*2^1498792+1
PPSE task candidate: 3777*2^1498794+1
Never start a programming project without a design plan. I haven't even completed the first line, but I've got a plan for this project:
Monitor, user settable duration
Count the tasks, by sub-project and by k
Report min n, max n, density
Display with user settable min n
Option to display by combined k or separate, all n or n=1M sets
Save state into a file, read on open
Ability for user to add data not obtained automatically by the program
Calculate the chance of finding a prime by sub-project and by k
Option to display by combined k or separate
Ability for user to add prime finds to the displayed data
Estimate of average tasks before next prime find
Ability for the user to adjust baseline of these values
Display chance data graphically
User bug and feature blog
Add other OS support, e.g. Mac, Linux
Add Networking support, i.e. multiple hosts per user
Add other platform support, e.g. Mobile
Anyway, enjoying the brush up in programming skills.