A friend of mine is taking a course called "interaction design". She has no previous experience with programming, but is technical by nature. Worked with networking and system administration for a couple of years.
I started helping her with grasping the basic concepts of software and coding, but I feel the pace is so fast that I'm beginning to doubt if it's possible to learn at such rate.
They're using a fairly new language/platform called Processing, which is kind of like Java directed towards graphic programming.
It's 2-3 weeks into the course and they're already starting with classes, recursion and larger assignments like "make a rotating cube with images and webpages on each side that updates every minute" (she's barely digested what a function is or that variables are not return values). As if that wasn't enough, the teacher throws in code-to-start-with containing use of polymorphism and multi-dimensional arrays. Half the class has already quit.
I could really use some advice here. Do you have any recollection of how some things just "clicked" when somebody described a certain aspect of programming to you? How did they describe it? What method of learning was most efficient for you?
Should I go downwards and describe how code is represented in memory? Should I rant about analogies like cars inherits vehicle, with properties and car.Drive() etc?