Maybe if I didn't have this prior knowledge back then the classes would be very boring.
Keywords: CS1, cognitive approaches, curricular planning, programming, difficulties, learning, novices, programming, teaching, student retention.
Articles: * SIGCSE Bull. A cognitive approach to identifying measurable milestones for programming skill acquisition. http://doi.acm.org/10.1145/1189136.1189185
* IJ of Man-Machine Studies. "Novices and Programming" by Soloway and Spohrer (Book Review). 1993
* Lawrence Erlbaum Associates. Studying the Novice Programmer. 1989 (Soloway, E. and Spohrer, J. C.
* ITiCSE '05. A study of the difficulties of novice programmers. 2005. http://doi.acm.org/10.1145/1067445.1067453
* Using Alice in Overview Courses to Improve Success Rates in Programming I. Johnsgard, Karin and McDonald, James. 10.1109/CSEET.2008.35
* ITiCSE '03. Using lab exams to ensure programming practice in an introductory programming course. http://doi.acm.org/10.1145/961511.961519
* SIGCSE. Constructivism in computer science education. Mordechai Ben-Ari. http://doi.acm.org/10.1145/273133.274308.
* Signs. Epistemological Pluralism: Styles and Voices within the Computer Culture. Turkle, Sherry and Papert, Seymour. 1990. http://www.thinkingcurriculum.com/turklePapert.pdf
Based on your question I would recommend the last two articles as the most interesting. It's been a long time since I read the Turkle article but I recall that it is the most relevant to understanding why we observe this behaviour, and the Ben-Ari article is a comprehensive framework to wrap that understanding within.
Although I never finished the article (fairly typical academic story :) I did write the software / courses that used it and tried it out successfully for five years. I can't give you a link to the software / results for fairly boring reasons to do with IP and confidentiality, but my overall view was that we can build learning experiences that can be successfully accessed by both types of student - but the level of polish and integration that is required to pull it off is about an order of magnitude greater than what is typically invested in undergraduate education. Obviously there is such a huge variation in the effort that goes into individual courses that such an observation is only relevant to a similar institution / student group at a particular point in time.
A smaller proportion of students approach courses from the bottom-up (10-20%?) - they tend to start with the basic pieces and glue them together over time to understand larger concepts.
I’ve read about this phenomenon (it is extensively documented in pedagogic literature) and seen it in action (I taught CS for about ten years) but still could not explain to you why that split occurs.
I would speculate that it is a difference in type-1 vs type-2 reasoning based on the level of familiarity and comfort with the prerequisites to each course, but even that guess is heavily biased by studying constructivism in CS pedagogy.