Messy Minimalism | 2021

HOW TO BEGIN

 

Abstract


The majority of introductory computer science courses for potential majors focus on the development of programming skills. This is an obvious place to begin. Programming skills are essential for more advanced study. In many ways, however, it is a terrible way to introduce students to computing. Most students taking CS 1 enter the course with relatively little knowledge of the nature of our discipline. Any plans they may have to concentrate in computer science are based on flimsy evidence. Experiences from surfing the web to playing video games may have convinced them that they like computers, but this does not mean they will like computer science. Recent fluctuations in enrollments certainly suggest that interest in computer science is often based more on the job market than on knowledge of our field. The earlier students can refine the vague academic goals with which they typically begin their undergraduate careers into clear plans based on concrete knowledge of the disciplines they choose to pursue, the more fulfilling their educations will be. Compared to many other disciplines, students receive very little information about computer science in elementary and secondary schools. Accordingly, we have a responsibility to provide more in CS 1 than prerequisites for those who decide to concentrate in computer science. It is important that we provide students with a view of the nature of our field sufficiently detailed to enable them to make informed decisions on whether to continue their studies in computer science. Our students would not be the only ones to benefit if introductory computer science courses conveyed a broader picture of the field. As a discipline, we would benefit greatly if the students who decided to pursue more advanced studies really knew what they were undertaking. I have frequently been disappointed when bright students have abandoned computer science after one or two semesters because they want more than “just programming,” and depressed by students in upper-level courses who complain that they “hate math.” In addition, an introduction that presented our discipline in a context that highlighted ways in which computer science has impact on daily life in our society might help attract a set of students to our programs that was more diverse. At first glance, this may just sound like an argument for the breadth-first approach. This approach, clearly elucidated over fifteen years ago in the “Computing as a Discipline” report, suggests that introductory CS courses should provide a breadth-first introduction to our discipline[DCG89]. Many approaches to the design and implementation of breadth-first courses have been proposed. Unfortunately, the ACM/IEEE Computing Curriculum 2001 report concludes “We have not been able to identify any such models that meet our acceptance criterion of successful implementation by faculty other than the originator.” [CC01] Strikingly, the report still encourages the development of such courses despite its gloomy conclusion that no such course has yet been successful. It even hints at what might be needed:

Volume None
Pages None
DOI 10.2307/j.ctv1fj85b9.15
Language English
Journal Messy Minimalism

Full Text