I've recently been trying to learn a foreign language using Duo Lingo.
Based on mg experience there, I would also propose an algorithmic
'fill in
the blank' kind of format for absolute beginners. ... I think this
kind of exercise
would be attractive to me as a casual novice learner.
In that case (and under the assumption that you are interested in
theory*) you might be interested in Friedman & Felleisen's _The
Little Schemer_, which is laid out very much in a question/response
fill in the blank style, from simple syntax up through metacircular
evaluation.
The authors claim it was originally developed from a 2 week course
aimed at people with neither experience in programming nor interest
in it as a career; by analogy with SICP (which the ~240 hours of the
typical 6.001 course should have, in theory if not in practice,
covered) it would probably take on the order of 30 hours to work
through, say half a year at 1-2 hours/week.
Judging from online commentary, it shares with Lawvere & Schanuel's
_Conceptual Mathematics_ the property of seeming to suddenly go from
"way too easy" to "way too difficult"; in both cases the page where
this happens has less to do with the text and more to do with where a
particular reader (at a particular time in their life) has stopped
coasting on prior experience and has started learning new things.
-Dave
* the authors warn:
_The Little Schemer_ ... will not introduce you to the practical
world of programming, but a mastery of the concepts ... provides a
start towards understanding the nature of computation.
by which they mean to say, they would not be surprised to get many
negative reviews along the lines of "This book is horrible: were I
ever to need rarefied abstractions like indirect discourse or the
subjunctive mood, it would have been helpful to have been exposed to
them, but really, all I wanted to do was to ask how to get to the
train station!"