I recommend the book Code by
Charles Petzold, but i really don't know how we could
in reply to Adult learning problem
your flatmate (yep, i fell for it perrin)
to read it. It's full of silly things like
learning Braille and Morse Code, exploring number systems and logic, building half and full adders, a nice essay on
the 8080 and 6800 microprocessors, ASCII, how RAM works, etc., etc., etc.
This is one of those books you read away from the computer
in a casual manner.
you know i'll be coding silly stuff ;)