Language considerations in the first year CS curriculum

  • Authors:
  • Jonathan D. Blake

  • Affiliations:
  • Quinnipiac University, Hamden, CT

  • Venue:
  • Journal of Computing Sciences in Colleges
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Computer science (CS) degree programs privilege programming as a fundamental tool to teach algorithmic thinking. CS curricula start with an introductory course sequence that focuses on learning how to program, and often delay introducing material with a significant ontological component until later. The importance placed on programming as a skill, coupled with its position in the course sequence and the vacuum left by postponing identity development has understandably resulted in a rousing debate about how to teach these introductory courses. As such, the literature is filled with passionate arguments for and against particular languages, processes, and paradigms. This wealth of writing should not come as a surprise. The choices made in the teaching of this sequence are very personal ones. I believe that we, as faculty each support the teaching of programming in ways that support our own identities as computer scientists, and our own definitions of the discipline. Computer science is not programming, however, and computer scientists are not programmers. I say this not to attempt to sever the ties between the two, but to disagree categorically with the notion that the two can be directly equated. I believe that we need to consider what we want students to learn beyond the syntax of a programming language, and this paper is an attempt to start that discussion.