onventional wisdom in computer science and engineering education trumpets "Introduction to Programming in High-Level Language X" as the preferred first course in computing to be taken by every first-year student.And, for every language X, dozens of textbooks are available from which to teach.Unfortunately, students have no foundation regarding how the computer works, so they are reduced to memorizing rather than understanding what is going on.Memorizing is not learning.In 1995, with the support of the Electrical Engineering and Computer Science faculty at the University of Michigan, we embraced what we believe is a better way: the motivated bottom-up approach.Almost 30 years later, I believe more than ever that this is the correct way to introduce first-year students to computing.In the Fall of 1995, my University of Michigan colleague Prof. Kevin Compton and I set out to introduce computing to first-year students in a very different way than conventional wisdom dictated: "the motivated bottom-up approach."The idea first surfaced in a faculty curriculum committee meeting chaired by Kevin a year earlier.Faculty moaned and groaned that students who successfully completed the first course did not understand important fundamental concepts.Pointer variables were confusing, and recursion looked like magic.I pointed out that students did not know these things because they were expected to program in that course without understanding how the computer worked.I suggested that if students did not know that memory location 4 containing the value 6 is not the same as memory location 6 containing the value 4, then understanding would be
No takes yet. Share an insight, caveat, or question.
Yale N. Patt (2024) studied this question.
Synapse has enriched 5 closely related papers on similar clinical questions. Consider them for comparative context: