Friday, October 31, 2014

Learning Blog Week 6

Vygotsky

    This week was a pleasure both in my coding projects and my weekly reading.  I quite enjoyed Vygotsky's own words, though I found some of the time got a little bit lost.  The beginning of the article, when he's talking about language and how it changes the way we think and process memory gave me pause.  I am right now learning a language.  It is a programming language, and it isn't the first language I'm learning, but I think having the experience of gaining language has given me a little bit of a hint of what Vygotsky is talking about when he says "In this new process the direct impulse to react is inhibited, and an auxiliary stimulus that facilitates the completion of the operation by inderect means is incorporated." (pg 40)  More on this later

The Experience

  This week my lessons were on Hashes and Symbols.  My task was to build a data base which can be added to, subtracted from and edited.  This made me so happy! I finally found an assignment that might give me a tool to use in real life!  (Read last week's blog for more on this).  I was really excited to take my first real steps into programming a program that I might use.  For this assignment we created a movie database which attached ratings to movies (5 stars, or two thumbs up or whatever) and then you could sort it by rating, or title or whatever.  Despite my enthusiasm, it turned out to be as difficult and as frustrating as any of the previous weeks.  I'm just not detail oriented enough to keep all the minutiae straight.  (I was hung up by a comma for an hour!!)  Anyhoo... I was excited, but the task was pretty tough for me.  I decided I should not toil in frustration alone!  I called my expert friend, who was in the mountains of Idaho camping!  No cell service.  Ok, so I turned to the next best thing (maybe the first best thing!) the discussion forums.  There is a button on the bottom of each instruction which links you to the discussion threads for that topic.
This takes you to a forum where you can ask a question which is then open for anyone to answer.  There are CodeAcademy moderators who comb through and answer questions, and most importantly are the already existing threads from people previously moving through the Ruby class who have the same questions as you do, and have already received answers.  The last time I tried the forums it took a long time to get a response... this time I just looked for questions that looked like my question and read the answers.  So much quicker as I was able to get several responses right away.  It was really helpful to look through the code examples that people posted into the threads and compare what I was doing to what the experts, or fellow travellers in some cases, were doing.
  This is where I talk about the Zone of Disparate Knowledge... I mean, the Zone of Proximal Development.  Vygotsky was very thorough in his explanation of learning, development and the relationship they share.  I appreciated the step by step building of learning vs. development, then learning = development and finally learning + development = ZPD.  In regards to my coding experience (not just this week) it becomes quite obvious that what I know (even now 6 weeks in) is just the tiniest drop in the bucket of what knowledge is available to me.  My actual developmental level, as an adult who has never seriously coded before was pretty low.  Even as an adult!  The computerific mind requires some serious work for those of us who don't think in maths.  It requires a retraining and a development process to force our brains into certain kinds of thought.  Anyway, I feel like my brain is like a giant cruise liner... it can turn around, but it's not easy and it isn't fast.  So, it's hard to really quantify where my baseline was in terms of an actual developmental level since my brain is quite mature (I'm 32) but doing something new.  I guess the best way to say it is that I had the capacity, but not the experience.  My brain was a big empty barn, and the complete world knowledge on Ruby was a giant pile of manure just outside.
   How the ZPD applies to me... finally!  So, cruising the forums all week I learned a lot about how programmers interact with each other.  I had seen this when chatting with friends about programming, but I felt like I was immersed in it as I forced myself to interact on the forums.  I put questions and even took a stab or two at answering some other folks questions.  I felt for the first time the enormity of the collective knowledge, and my miniscule hold.  But!  I also felt the expansion of my miniscule corner.  It felt it expand, and it did this as I tried out expressions... like array and variable and boolean.  (I like that last one... it's nice to say outloud... boooolean).  Communication is elementarily social, and I saw how the language I was learning changed the process I used to make choices.  Now, the process described by Vygotsky is pretty simple, and I'm not saying that the process, you know, this thing: 
  I'm not saying this change in structure, only that the X had changed.  This change in X, the inhibitor, helped me understand how the process works.  By simply having language we process the world in chunks rather than as a whole.  We label everything, give it a value, quantify down to constituent pieces.  Learning a programming language hasn't given me these abilities, but has change the value of those pieces.  So while I'm betwixt stimulus and response my auxiliary stimulus has changed and thus my response has changed as well.  For the better when I'm programming.  In the beginning I felt a little bit of a pre-language impulse response on my part.  At first I couldn't understand what I was looking at... it was all so foreign sitting there on the screen.  I didn't have the language to deconstruct it, so I just began typing whatever fragments I could find... though I'm sure this was even filtered through my pre-existing language-knowing mind.  Now I spend a lot of time in that X trying to abstractly solve how to code things, which sometimes work, and sometimes don't.  

    In the end, I was able to expand my knowledge, learn and develop enough to create this

  Which isn't the website I was hoping to be working on right now, but might be a step in that direction.  I feel like being around an online group of folks who, collectively, have a much larger knowledge base has helped me develop and learn much more quickly and deeply than if I were simply toiling on my own.  I see Vygotsky's ideas of external/social learning becoming internalized in my own mind. 

Friday, October 24, 2014

Learning Blog Week 5

Sociocultural Coding


   This week my computer's video card died.  It's very sad, he was so young!  So, this created some excitement as I have used that computer to do my learning blog.  I had to change a few things from the first four weeks, and it made this week feel particularly frustrating.  First, I had to use my laptop which has a screen half the size of my regular computer (and then take into consideration that I have two monitors hooked up to it and my work space feels very cluttered indeed!)  Second, my laptop is older and slower than my desktop computer.  It can get the job done, but when you're rushing to finish something and have to wait for loading/refreshing/rebooting it can be a bit frustrating.  Third, I'm on a weird work schedule this week and I was forced to do some of my code tutorials from work (which I suppose I'd be using my laptop for anyhow!)  And finally, my laptop does not have all the same programs my desktop did.  So my text program I used to write my codes looked and felt a little different.  All these things are minor in the grand scheme of things (compared to say, the premature death of a video card) but they added up.

The Experience 

   This week I was learning Methods, Blocks, and Sorting.  It was a bit different this week as I didn't have a "final project" per se.  No histograms or redacting program to show for my work.  It just sort of ended abruptly.  So, I took it upon myself this morning to use my new knowledge to create my own sort of "final project" for the week.  I endeavored to make a program that would take a list of titles (any words really) and alphabetize them.  My impetus for this activity was my fascination with the Brown, Collins, Duguid article.  I have often considered myself a poor test taker.  I do not thrive in a silent room full of anxious people with scantrons and essay books.  I have felt as though part of my problem is that I do not study in silent rooms, nor do I use a scantron.  Sometimes I'll write an essay, but it's never all in one go, or by hand.  So, it just has always felt unnatural for me.  This relates to my learning of Ruby in one terrifying way.  My precious and comfortable CodeAcademy templates are not how I will one day be forced to use Ruby to create the website which will house the final installment of this very blog.  Perhaps this fear is why I have tried to use other platforms like Textmate and Terminal to recreate the programs I learn in CodeAcademy.  I am worried that left to my own devices outside of the CodeAcademy website I'll have poor recall of what I've learned.  Here is how CodeAcademy looks:

and here is what Textmate looks like, which is one way you can write Ruby code:

  It's the same code in both, but the CodeAcademy helps you know what you're looking at by giving it a color coding scheme and also adds the indentations to where they're supposed to be, which Textmate does not.  While this is very helpful scaffolding while a beginner learns Ruby and all it's complexity (the indentations and line spacings and word spacings aren't necessary, but they are part of enculturation into the Ruby community.  It makes sense for everyone to adopt the same standards, even if they language doesn't insist on them, so that it's easier to look at each others code.)

  I was asked to add a social/expert element to my original proposal for this learning blog.  After last week, and even more so after this week I see why.  Programming really is a culture, and I've tried to learn it largely from outside that culture.  I have been speaking with my expert friend, and also another friend of mine who doesn't know Ruby but knows just about every other programming language.  When we all chat together (we usually have a Tuesday skype chat just to catch up) they can sometimes lose me with their insider talk.  I've become better at understanding what they talk about though over the past month.  Brown et al talked about the enculturation process in their article.  I think my experience learning Ruby could benefit from more frequent practice in situ with other programmers in person.  I think it could be very helpful to go to my expert friend's house and look at some of his code, and maybe work on something with him.

  This brings me back to my original thought... my website I'm supposed to build in 3 weeks.  I have a sinking feeling about my Ruby abilities, and I feel like the gulf between where I am (firmly scaffolded in CodeAcademy) and where I need to be (free as a lark in the sun!) are more than three weeks apart.  I may need to call in the big guns and get some learning that is geared specifically toward website design/creation.  I need to step outside the CodeAcademy classroom and into an apprenticeship.  I think I'll ask my friend to help me make the website and I can act as his cognitive apprentice.  I can get some authentic activity working with him on websites, and in that way figure out how all this stuff I've been learning actually applies to "the real world". 

  A final note:  I really liked the example of the apprentice tailors being given ironing duty, and yet by doing that seemingly mundane and useless (instruction wise) activity they learned so many of the basics of what tailoring is about.  I hope my coding thus far is more like ironing pants than reading the dictionary.

Friday, October 17, 2014

Learning Blog Week 4

My Brain

   This week I had retention in mind.  I have begun to feel as I've worked through several of these tutorials that I've forgotten too much and I fear my future learning may be hindered by the poor retention.  In my first week's blog I casually said that if I felt the need I could go back and write out an index of sorts of terms and definitions.  I did NOT realize how difficult that would be.  I should have done it.  Now, I find myself straining to recall syntax and functions and how to make my code work the way I remember it should work.

The Experience

   This week my programming tutorial was about hashes and arrays.  Basically what I learned was how to manipulate lists of information.  The tutorial began by telling me that I remember how to do something I learned a couple weeks ago and asking me to provide the correct code to get us started.  Usually these tutorials start out pretty much spoon feeding you answers.  I was taken aback, and a little bit disoriented.  I immediately had to engage my mind, and withdraw some information that I had tenuously stored somewhere in my long term memory.  My memory structure in terms of coding is that of a novice, meaning it's not very organized.  I have bits and scraps laying around here and there, but they are only loosely connected.  The reading this week explained that as we learn new things we naturally re-order them to fit our existing knowledge.  I think my problem is that I don't have much existing knowledge in this area.  The information sort of gets put in weird places that are vaguely similar.  I hope as I go along I'll be able to knit it all together in a way that I'm able to access the relevant information at the appropriate time and in a relatively easy manner.
   So, here is an example of an array in the Ruby language: my_array = [1,2,3,4].  It doesn't have to be a sequence of numbers.  It really can be anything.  my_array= ["hi", "hello", "hola"] is an array with workable data.  This is the information I learned two weeks ago, but didn't use last week.  I had to do some serious thinking before I realized I just wasn't going to be able to recall that information.  So, I did what I should have done in the first place, I looked it up.  It came back quickly as I looked it over, but something else happened almost simultaneously.  I thought I remembered another piece of syntax, but I didn't.  I had a clear recollection of how to gather a piece of entered data by using "gets.chomp".  What I missed was that I had to set an object to the information gathered by the command "gets.chomp".  So my code said something like this :
   
When it should have said something like this:



This false memory led to some real frustration.  I remembered clearly that to gather information gathered from the user of the program you simply put gets.chomp and it would collect the text or numbers entered and store them for use.  So I built my whole program, which was a simple Histogram program, with this bad code in it.  The weird thing is that this mistake doesn't make itself know with an error.  What happens is it collects some information and then uses it, but it's not necessarily the write information gathered.  I didn't notice the program doing strange things until many steps later.  I went over the wrong part of my code over and over trying to figure out what I'd done wrong.  The gets.chomp is something I learned on my first day doing Ruby and it was something I recognized and was confident in.  Reading about the people who remembered the word sweet amidst that long string of words which imply sweetness I felt like my brain had played a similar trick, only not quite the same in that I forgot a piece instead of inferred extra data. 

   I have a long way to go, and many many restructurings of my memory in regards to Ruby, but I think knowing that there is a process in place is reassuring.  Knowing that our memories aren't idle recording devices, but are actually dynamic learning machines makes it easier to accept the frailty of the system, because you also learn about the power of the human mind as well.  What an incredible network of knowledge.  It takes work for sure, but I really appreciated this bit from the conclusion to chapter four, "Although children learn readily in some domains, they can learn practically anything by sheer will and effort."  I think this is probably more true of children with the way their brains work but I can see how knowing about learning can aid in even an old person like myself learning a new trick. 

Here are the screen caps of my program this week:

Code in the CodeAcademy tutorial



And when I rebuilt the histogram on my own


  A final thought on memory

  The book explained that there are two kinds of memories, procedural and declarative.  I think in my learning this past month I have accumulated a bunch of disparate pieces of declarative memory in regards to Ruby syntax and functions, but I think I haven't retained much of the procedural memory.  I haven't developed much skill for programming Ruby, nor do I have ready processes to fall back on or build off of.  I'm not sure if this is because it takes more time to develop procedural memory, or if perhaps procedural memory relies on declarative memory to form an effective network, but I feel as though I will not feel like I really know Ruby until I develop some grasp on procedural memory in this regard. 


 

Friday, October 10, 2014

Learning Blog Week 3

Expertise

   First, a little house keeping.  For the third straight week I've made a course correction to the structure of my learning regime.  I have abandoned the Lynda.com tutorials because I am learning on the CodeAcademy.com tutorials so much faster it makes more sense to build on what I'm learning through one source (at this point)  I'm pretty sure I'll rethink this decision in the next couple of weeks as I start to branch out, but I've found that I've been plowing my rows to broadly and they aren't going deep enough (more on this later).  So, for this week I did the Looping with Ruby section on the CodeAcademy tutorials and since the topic was expertise I turned for the first time to the CodeAcademdy forums/Q&A section to get a little advice from the experts themselves.    

The Experience

   I hadn't thought too much about what it really means to be an expert, and when I saw the topic for this week was expertise I was a little bit uninterested.  However, I found the reading to be pretty informative and quite helpful.  I wanted to involve experts early in my learning experience for this week, so I posted several questions on the forums at the CodeAcademy website, and this was a very disappointing experience.  I can't blame the experts wholly because I admit I'm a terrible question asker.  Ever since I was young I've always been asked after being taught something if I have any questions and my answer is always no.  I don't know what it is about my mind, but I can never think of questions at the appropriate time to ask questions.  Write them down you say?  Great idea... but that doesn't work either, and I really don't know why.  I guess if I write something down to ask later usually the question is answered before I get a chance to ask.  Anyway, I wanted to ask some meaningful questions about Ruby programming to some folks who are in the know.  I wanted to ask some broad questions about Ruby in general and then some specific questions about the lessons I was doing currently.

These are the questions I posted:
1. What can you do with Ruby?  Are there any websites or apps that you know of that have been programmed with Ruby I can look at for an example of what it can do?
2. At what point in the process should somebody start using Rails?
3. Help I'm stuck: I am trying to figure out how to duplicate a string 30 times using an iterator.  I can do integers easy enough, but I can't figure out how to do strings!

   You may have realized that his blog is REALLY late this week.... It's 9:13pm Friday night right now as I'm writing it... and that's because I have been waiting to receive feedback on my questions and as of right now, I have received 0 responses.  So much for involving the experts!

   Expert source number two- my friend who turned me onto Ruby in the first place.  Next I turned to my friend for some advice and asked him the same questions.  It became very obvious right off the bat that I was way in over my head.  I couldn't understand a lot of the lingo he was using.  You should know that my friend is fluent in many programming languages and sometimes gets really technical without realizing it. 

   INSIGHT #1:  Sometimes experts don't know what they know, or how much.      The book talks about how abstraction is replaced with perception in the expert mind.  My friend was talking about all these ways to solve this tiny issue that had to do with these broad concepts.  He went on and on about how some such thing affects some other such thing and asking if I'd done this or that or some other thing and I kept telling him I wasn't quite to that stage in my learning yet.  I told him that I was just trying to get this thing to work so I could go on to the next step. 

  INSIGHT #2: Experts aren't always good about explaining things to novices.  The book explains how experts and novices see different patterns.  The expert will recognize patterns and be able to sort through them and access the most useful information based on the pattern, where novices aren't able to do so.  Even really talented novices can't parse relevant chunks of information nearly as effectively as an expert.  It says in the book that this is called having conditionalized knowledge.  You already know the contexts in which certain information is useful or not.  I certainly feel like I have been gaining some knowledge during the past three weeks, but that it's mostly inert, as I have no clue as to how any of the things I'm learning can work together in the formation of a useful program.  This is very frustrating for me as I'm sort of lazy and just want to get on with it!  My friend on the other hand is a very meticulous person who likes to understand every nuance of every iota before moving forward.  We often times drive each other crazy when we work on projects together (and yet we work really well together because we compliment each other).  In this situation however I was just feeling frustrated.  I asked my friend to slow down, and maybe to explain some of the things he was talking about.  He had a really hard time answering my specific programming question about duplicating a string until finally it dawned on him how rudimentary a thing we're talking about. 
 
  INSIGHT #3: The expert recalls information automatically and it can be hard to shift back into purposeful recollection on things your mind breezes past generally.  What I was so effortfully trying to remember my friend had automatically recalled and moved past.  I think this is a really important concept.  In the Ambrose et al article I found the Stages in Development Mastery diagram very helpful (and maybe even a little hopeful).  Before I started this project I was Unconscious Incompetent.  I didn't even know half of what I didn't know.  I had no clue and I couldn't do anything.  Now, I feel like I'm transitioning into the Conscious incompetence stage, though very slowly and probably not quite enough to claim conscious incompetence.  I now know that there is so much I don't know... though I am now equipped to think about and gain some competence.  I've moved through these stages before, though I didn't have a name for them at the time.  At work I've gone through a lot of training, and I think the Conscious incompetent stage is really the toughest stage to push through.  I feel like that is going to be the hardest stage for me in this project as well.  For now, I'm unmistakably in the effortful category in terms of knowledge retrieval.  If I'm able to meet my goal, creating a website to host this blog, I think I'll need to move toward the effortless retrieval, though I'm not hopeful to attain the automatic yet.  I think this relates back to why my friend was struggling to explain some very basic ideas to me.  for him, he thinks of things in broad terms, with big chunks of knowledge all categorized together and conditionalized by context.  I have none of those tools, and he has lost the ability to recall the novice perspective.  He can't remember these things outside of their current order.  His schemata are all put nicely into the proper places, where I don't even have them yet.  This means that as he jumps from topic to topic he's providing me with a very broad array of ideas that all relate back to my current problem.  However!  All these things are interconnected and chunked together in his brain so they make sense and the way they interact with each other is obvious.  To me, I'm getting tiny nuggets in such a broad variety of ideas that none of them are sticking and none of them are sinking in. 

  INSIGHT #4: A breadth of knowledge isn't better than a depth of knowledge.  My friend certainly has a depth of knowledge as well as a wide breadth of knowledge, but for a novice like me I think learning one thing deeply and completely (well... ok maybe not quite completely) can be much more effective as you develop your expertise.  Then it's a matter of linking these separate but related ideas into a network of knowledge.

    In the end I finally got a clear answer to my specific question.  He explained my problem like this-


This is what I was trying to do, which didn't work.

This is how it is supposed to look when it works.  You have to assign the variable to a number which you add 1 to each time it loops, and then tell it that when it loops to add 1 more and write the word Ruby!  What I was doing before was add the word Ruby! to the word Ruby! every time so I got Ruby! on the first loop, then Ruby! Ruby! on the second loop and then Ruby! Ruby! Ruby! Ruby! on the third loop and so on.  Also, my break didn't work because it was never landing exactly on 30 Ruby!s.  It's a really simple thing that took a long time to get to the heart of. 

Here is the program I did.  It's called Redactor because it redacts specific words you choose and replaces them with the word REDACTED








 

Wednesday, October 1, 2014

Learning Blog Week 2

Motivation

   What a perfect topic for this week.  Seriously, only week 2 and all the excitement and enthusiasm is gone.  I'm left with not but the bulk of the work.  Or, was motivation such a big part of my experience this week because I've been reading and writing and reading and thinking and reading about it all week?  In any event, my week has been full of existential quandary and angst as I try to sort out who I am and how I get to work.

The Experience
  This week I picked up on my Ruby instruction where I left off last week.  I did make one change however, in that I swapped out the Tutsplus.com tutorials for what, I think, are better tutorials on Codeacademy.com.  These tutorials are much easier to follow, and rely less on PhP comparisons.  They're more project oriented as well, which is helpful to me because it allows me to see how the concepts fit into the execution.
  I learned this week about objects, integers, floats, if/else, and booleans.  The mini project I did was a "translation" program that would translate what you type into Daffy Duckism.  For example, if you typed, "I say, does this dress make me look slim?" the program would seek out the all the S's and exchange them for th's, then spits the phrase back out as, "I thay, doeth thith drethth make me look thlim?".  Seems pretty simple and pointless, but it incorporated all the new stuff I'd learned. 



  I've included two screen caps, the first is my code in the Code Academy tutorial, and the second is my attempt to recreate it in Ruby itself.  This fit nicely in with the Lynda.com tutorials which covered much of the same material, but didn't have a project associated with it.

Motivation Theory in Action

  You may be wondering how this experience has any relationship to motivation theory.  So far nothing I've written seems to relate at all to what we've been studying.  That is because I didn't start at the beginning.  The beginning was me laying in bed Sunday night dreading this week's learning blog.  I work late on Sundays, usually getting home well after midnight.  So, my motivation at that time was pretty low.  My arousal state was next to nil, and I felt the cognitive miser inside me complaining about having to do any sort of learning, let alone something so foreign and rigorous for me as computer programming.
  Monday I avoided thinking about the learning blog and focused on the reading guide.  During which time I couldn't help but think about my learning blog.  Reading about intrinsic and extrinsic motivation I wondered, "why am I doing the learning blog?"  For the grade?  for the knowledge?  So I can fit in with all my friends who know programming?  Why?  What's in it for me?  Which of the theories explains why I am choosing to do this weeks learning blog assignment?
  I think it's important to point out the structure of the learning blog assignment here.  It is interesting to me that we were asked to learn something that we're excited about.  Almost anything would do, as long as it was something we wanted to learn.  It seems like a perfect way to promote intrinsic motivation to do the assignment.  Indeed I've been wanting to get my feet wet in programming for a long time now.  Also, the blogging part of it is interesting to me too, so that shouldn't be a deterrent from wanting to dive in and get going.  But!  For whatever reason it was really hard this week to get going on it.  I wondered if perhaps the extrinsic motivation, just simply by existing was somehow over shadowing the intrinsic motivation?  Was I focused too much on the grade?  For some reason the grading aspect of any assignment makes all graded experiences feel the same to me in two ways.  First, I instantly procrastinate due to performance anxiety.  And second, I always give a good effort when I finally get around to doing it, but usually take a much longer amount of time than I had budgeted.  If the grade of the assignment is the extrinsic motivation, the desire to learn coding is the intrinsic motivation.  The assignment utilizes both, though I have to admit I think the true reason I'm doing it is because of the extrinsic motivation.  That is why I've never actually taken the effort to learn programming before.  I guess to me I feel the weight of the extrinsic motivation more heavily than the buoyancy of the intrinsic motivation in this case.
  This leads me back to an earlier comment when I called myself a cognitive miser.  I think this is generally true of me.  I don't possess that need for cognition.  Though I get quick bursts of ambition to learn from time to time, my new pursuits generally don't last long.  I think in terms of expectancy-value theory I fall under the great aversion to negative consequences umbrella.  To avoid disappointment I tell myself that if I try and am terrible, then I can quit.  (this aversion probably explains why I procrastinate my homework as well)  With some exceptions I usually choose to quit after the initial burst of enthusiasm.  (it's usually about this time in the learning process)  Perhaps this is a bit of self-fullfilling prophecy?  My own expectations to give up have led me into my cognitive miserliness of rarely trying in the first place?  I think some of this anxiety comes from my locus of control.  I do usually think that if something good happens it's because of luck, but if something bad happens it's usually because I screwed it up somehow.  I don't want to discount the idea of hard work, because I see how working hard and giving a sustained effort also contribute to success.  I guess I'm a hybrid thinker in this regard.  I don't quite know how it all pieces together.

   A quick note on incremental theory.  Sometime in the past week I wrote in the discussion boards that I just don't have a programmer's mind.  That little line came back to me, though I can't remember exactly where I wrote it, as I read about incremental theory, as well as the Carol Dweck article.  The first thing Carol gives us in that article is the hint to never tell our children they are smart.  I grew up my whole life being told I was smart, though I've never really bought into that... I'm more clever than smart and better at circumventing the system than mastering it... (maybe a bad place to make this admission?)  Anyhow, I've had to really push myself to work hard at things I don't pick up naturally.  My brother is the exact opposite.  He struggled to learn early in his education and as a result he knows how to work and work and work at something he doesn't understand.  Well, this programming language thing is something I do not understand quickly at all.  I have to re-watch, rework and try try try again to figure even some of the most basic stuff in these tutorials.  Reading about incremental theory put some of this into perspective for me.  end note.

Conclusions
  I suppose this week was a net gain in that I faced the wall and broke through it.  If my past is any indication I will probably have several other pinch points where I'll feel inclined to quit.  Maybe the balance struck between intrinsic/extrinsic motivation has taught me how to overcome my natural (or was it learned?) tendency to quit.

A final thought


  This is how they extrinsically motivate you on the Code Academy website.  They give you badges you can share on Facebook and Twitter!  No, I chose to keep these prestigious accomplishments to myself and treasure them only in my heart.