Situation Main | History | Current Situation | Existing Standards | Context

Existing Standards

At this point, few if any states have considerable computer science or programming requirements as part of their required elementary, middle, or high school curricula and benchmarks. For this reason, teachers seeking to align new computer science curricula with state education standards must be somewhat creative. For instance, below are a few state standards for math, science, and technology from a sampling of states that may be supported by computer science curricula:

State Grade Criterion
Virginia 1 Math 1.15: The student will describe the proximity of objects in space (near, far, close by, below, above, up, down, beside, and next to)
4 Math 4.21: The student will recognize, create, and extend numerical and geometric patterns, using concrete materials, number lines, symbols, tables, and words.
6-8 C/T 6-8.1: The student will ... [e]xplore how software and hardware are developed to respond to the changing needs of technology
6-8 C/T 6-8.8: The student will use technology resources for solving problems and making informed decisions
California 2 Mathematical reasoning 1.0: Students make decisions about how to set up a problem
5 Mathematical reasoning 2.4: Express the solution clearly and logically by using the appropriate mathematical notation and terms and clear language; support solutions with evidence in both verbal and symbolic work
Oklahoma 6-10 Technology Education Standard 8: The student will apply the technology design process to create useful products and systems.
New York Elementary Technology Standard 3: Students use the computer as a tool for generating and drawing ideas
Intermediate Technology Standard 3: Students use a computer as a modeling tool.
Tennessee 4 GLE 0406.3.2: Use mathematical language and modeling to develop descriptions, rules and extensions of patterns.
Pennsylvania 4 3.6.4B. Know that information technologies involve encoding, transmitting, receiving, storing, retrieving, and decoding.

More importantly, at this point, given the importance of understanding the underlying functionality of computer systems and the sorts of problem-solving skills students gain from a more formal study of computer science, states should redesign their curricula to place heavier emphasis on these topics. Fortunately, a few organizations have begun to lobby for this change, most prominently the Computer Science Teachers Association (CSTA), which has proposed a "K-12 CS Model Curriculum" as a model for school systems designing new CS standards. This curriculum includes a "Foundations of Computer Science" unit that lasts between kindergarten and eighth grade, representing a first step toward the integration of computer science into elementary and middle school coursework.

Specifically, the ACM curriculum argues that elementary and middle schools should provide students "with [the] first building blocks of computer fluency" (8). Most importantly, the CSTA recommends that students be formally introduced to the concepts of an algorithm in its own right; this contrasts with most existing math and science curricula, which only implicitly teach students about algorithms through the use of the basic arithmetic algorithms (addition, long division) and scientific methods. Specific standards in the K-8 component of this curriculum include:

Grades K-2
  8. Create developmentally appropriate multimedia products with support from teachers, family members, or student partners.
9. Use technology resources . . . for problem solving, communication, and illustration of thoughts, ideas, and stories.
11. Understand how 0s and 1s can be used to represent information, such as digital images and numbers.
Grades 3-5
  8. Use technology resources . . . for problem-solving, self-directed learning, and extended learning activities.
11. Develop a simple understanding of an algorithm, such as text compression, search, or network routing, using computer-free exercises.
Grades 6-8
  8. Select appropriate tools and technology resources to accomplish a variety of tasks and solve problems.
9. Demonstrate an understanding of concepts underlying hardware, software, algorithms, and their practical applications.
12. Understand the fundamental ideas of logic and its usefulness for solving real-world problems.

While these curriculum standards certainly represent an important first step in realizing the need for more earlier formalized CS education, they fall short in terms of depth, preferring the study of several software tools, algorithmic concepts, and even ethical concerns over a deeper study of computing techniques. This sort of introduction is useful as a general overview but fails to prepare students for more advanced study. For instance, the CSTA curriculum then continues to describe two more advanced courses as part of its high school curriculum. The more basic of these, entitled "Computer Science in the Modern World," is designed for "all students, whether they are college-bound or workplace-bound" (11). Although this is certainly a worthy goal, and the curriculum for the course is carefully designed to appeal to a variety of students, some of the specific curricular points would be near impossible for students to approach if they have never been exposed to programming. For instance, the curriculum calls for students to be able to "manag[e] complexity through top-down and object-oriented design" (12). Students who are already bogged down in the syntax of a language complex enough to support object-oriented programming (OOP) are unlikely to really understand the motivations and advantages of using OOP, especially on a small project like the ones generally assigned in such a "CS 0" (preliminary for CS 1) course.

We propose a more ambitious curriculum that introduces programming concepts early and continues to reinforce and supplement the basic knowledge throughout K-8. While OOP and other constructs may be too abstract for elementary and middle school students, the basic concepts of branching, looping, storing data in variables, and devising algorithms are approachable at this level and begin to develop the fluency with computing necessary for students to succeed in more advanced CS coursework

Early Acquisition of Computer Science · ©2008 Justin Solomon and Peter Rusev