The Anti-Frustration Speech
The beginning stages of this course can be very frustrating: things are slow right now because we're still trying to get environments set up and as such I haven't been able to focus my time effectively in guiding you in learning the core concepts of programming, we needed my laptop for people to work on (which I found out only a few minutes after class started) and thus I didn't have a display I could lead the class with, the Javascript tutorial files are lacking (if I don't find them I'll rewrite them by next time), the Perl tutorial files still need to be rewritten, etc...
Let this be a metaphor for how computer programming will be for you: it's hard, unexpected things come up all the time and you just have to deal with it in the best way possible given the tools/situation, progress is *slow*, etc...
From Psychology, the term "flow":
"Flow is the mental state of operation in which the person is fully immersed in what he or she is doing by a feeling of energized focus, full involvement, and success in the process of the activity." http://en.wikipedia.org/wiki/Flow_(psychology)
You can only experience "flow" in what you're doing if:
(1) you redefine what success is (measure success by progress over longer periods of time, reinterpret failure as just another lesson, try to stay relaxed and calm in the face of difficult problems, and expect this to be a skill that will indeed come but only with constant effort over a *longer* period of time), and
(2) you become actively involved as both a consumer (student) and producer (teacher) of knowledge in this course. Due to the hands-on nature of this course and the fact that I can't clone myself, we all have to help each other out, take active roles in pursuing knowledge, talk to each other, and ask questions or ask for direction when questions/direction aren't clear.
Soon we'll start working on more concrete projects, which will help give focus and "flow" as well.
I encourage you to keep with this course, as it will become more rewarding if you give it the proper time. As a testament, all of my students from the previous semester who stuck it through the first few weeks have been with me since September of last year, not even stopping for winter break, and one (from the intermediate-level class) is even planning on joining us next week. I know this learning environment is different, it's not traditional, but do trust that there are good, long-thought-out reasons (inspired from my background in learning/behavior/neuroscience/education policy/computer science/human languages, and from my background as both a student and professional programmer) underlying its non-traditional manner, and please ask and question if there's anything you don't trust / want to clarify. I don't spend all of my time explaining why I'm doing what I'm doing, because then you wouldn't learn any programming. I think this class format is better than many alternative formats for many reasons, but by its nature it *starts out* frustrating and a bit slow. If you can overcome that / stick with it, then I think you will be highly rewarded as an individual, and we will be rewarded as a group who is made incrementally stronger by your efforts.
Hope to see you all next week,
~Seth
