Language Choice and Key Concepts in Introductory Computer Science Courses

AbstractBecause computer science is a complex and rapidly evolving discipline, educators at all levels have been required to revise their curricula as new paradigms and tools emerge. Since 1968, there have been three major computer science curriculum documents for the first course at the college/university level (CS1), and recent research shows no diminishment of this rate of evolution. This article reports on a survey of 900 postsecondary institutions in North America that offer a CS1 course. The results demonstrate that despite differing course descriptions, there is a key set of computer science concepts common to most CS1 courses. They also indicate that over the last two years there has been a significant shift in programming language use for CS1, centering or the replacement of Pascal with C and C++. This ascendancy may, however, be short-lived, as many of those presently using C+ + indicate that they are considering a further switch to Java over the next two years.

[1]  Edward J. McCluskey,et al.  Curriculum 68: Recommendations for academic programs in computer science: a report of the ACM curriculum committee on computer science , 1968, CACM.

[2]  Judith L. Gersting,et al.  Content + experiences = curriculum , 1997, SIGCSE '97.

[3]  Richard H. Austing,et al.  Curriculum '78: recommendations for the undergraduate program in computer science— a report of the ACM curriculum committee on computer science , 1979, CACM.

[4]  Christopher Connelly,et al.  Home-study software: flexible, interactive, and distributed software for independent study , 1996, SIGCSE '96.

[5]  Ken Robinson,et al.  Using Miranda as a First Programming Language , 1993, J. Funct. Program..

[6]  Peter Wegner,et al.  New directions in the introductory computer science curriculum , 1994, SIGCSE '94.

[7]  Henry MacKay Walker Collaborative learning: a case study for CS1 at Grinnell College and Austin , 1997, SIGCSE '97.

[8]  Richard E. Pattis The “procedures early” approach in CS 1: a heresy , 1993, SIGCSE '93.

[9]  David Reed,et al.  AAA and CS 1: the applied apprenticeship approach to CS 1 , 1995, SIGCSE.

[10]  Susan M. Merritt Reflections of a computer scientist for teachers and teacher educators , 1995, WCCE.

[11]  Juris Hartmanis,et al.  Computing the Future: A Broader Agenda for Computer Science and Engineering , 1992 .

[12]  Juris Reinfelds,et al.  Logic in first courses for computer science majors , 1995, WCCE.

[13]  Stef Joosten,et al.  Teaching functional programming to first-year students , 1993, Journal of Functional Programming.

[14]  Julie Zelenski,et al.  The quest for excellence in designing CS1/CS2 assignments , 1996, SIGCSE '96.