In my experience, the biggest barrier to students grasping CS concepts has been an aversion to parsing errors. I've seen students slowly melt down as errors and warnings thrown up by the compiler/interpreter slowly chip away at their sanity. It's almost as if these students take it as a personal insult that the computer isn't behaving as expected and their snowballing frustrations preclude any opportunity for them to learn. The problem only gets worse as the class progresses because the topics grow in complexity but the student's strategy for dealing with problems (frustration/agitation/resentment) remains ineffective.