Got two courses going at the moment. One is “Introduction to Systematic Program Design Part 1” through University of British Columbia. This is primarily a design course- not how to put nuts and bolts together, but where and when to use your nuts and bolts to get whatever you are building to stay together. The language used is Beginning Student Language(BSL), a dialect of Racket, which itself is a dialect of Scheme, which is a dialect of LISP. Which is a dialect of “parenthese-ese”. Functional programming, prefix notation, lack of mutation, side effects, all that fun stuff.