6
2. Background
As a basis for describing a model curriculum for K–12 computer science, we use the following definition of computer science as an academic and professional field.
Computer science CS is the study of computers and algorithmic processes
1
, including their principles, their hardware and software designs, their applications, and their impact on society.
In our view, this definition requires that K–12 computer science curricula have the following kinds of elements: programming, hardware design, networks, graphics, databases and information retrieval, computer security, software
design, programming languages, logic, programming paradigms, translation between levels of abstraction, artificial intelligence, the limits of computation what computers can’t do, applications in information technology and
information systems, and social issues Internet security, privacy, intellectual property, etc..
Typically, K–12 science and mathematics curricula do not cover any significant amount of these topics, nor do they identify what they do cover as elements of computer science. However, some of the emerging K–12 information
technology curricula are addressing some of them, especially the applications and social impact of computers. However, there is strong evidence National Research Council, 1999 that a basic understanding of all these topics is
now an essential ingredient to preparing high school graduates for life in the 21
st
century. The goals of a K–12 computer science curriculum are to:
1 introduce the fundamental concepts of computer science to all students, beginning at the elementary school level.
2 present computer science at the secondary school level in a way that would be both accessible and worthy of a curriculum credit e.g., math or science.
3 offer additional secondary-level computer science courses that will allow interested students to study it in depth and prepare them for entry into the work force or college.
4 increase the knowledge of computer science for all students, especially those who are members of underrepresented groups.
Before discussing the model curriculum itself, we first clarify the context in which it is set. Here, we would especially like to clarify the distinctions between computer science and information technology, and to summarize
the nature of CS at the college and university level.
2.1 Computer Science, Information Technology, and Fluency
Information technology IT involves the proper use of technologies by which people manipulate and share
information in its various forms—text, graphics, sound, and video. While computer science and IT have a lot in common, neither one is fully substitutable for the other. Similarly, software engineering SE is the practice of
designing and implementing large software systems programs. While computer science and SE have a lot in common, neither one of these is fully substitutable for the other.
A recent National Academy study National Research Council, 1999 defines an idea called IT fluency as something more comprehensive than IT literacy. Whereas IT literacy is the capability to use today’s technology in one’s own
field, the notion of IT fluency adds the capability to independently learn and use new technology as it evolves National Research Council, 1999 throughout one’s professional lifetime. Moreover, IT fluency also includes the
active use of algorithmic thinking including programming to solve problems, whereas IT literacy is more limited in scope.
1
An algorithm is a precise, step-by-step description of a solution to a problem. Programming is used to implement algorithms on computers. While programming is a central activity in computer science, it is only a tool that provides
a window into a much richer academic and professional field. That is, programming is to the study of computer science as literacy is to the study of literature.
7
Thus, the field of computer science sits in a continuum—some of its topics overlap with IT, while some are completely different and are not relevant to an IT curriculum. For example, the complexity of algorithms is a
fundamental idea in computer science but would probably not appear in an IT curriculum. While IT is an applied field of study, driven by the practical benefits of its knowledge, computer science has scientific and mathematical, as
well as practical, dimensions. Some of the practical dimensions of computer science are shared with IT, such as working with text, graphics, sound, and video. But while IT concentrates on learning how to use and apply these
tools, computer science is concerned about learning how these tools are designed and deployed. This latter concern exposes students to the scientific and mathematical theory that underlies the practice of computing. Therefore, any
comprehensive K–12 computer science curriculum will necessarily have topics that are distinct from those that normally appear in an IT curriculum.
The idea of IT fluency National Research Council, 1999 was proposed as a minimum standard that all college students should achieve by the time they graduate. A “fluent” graduate would master IT on three orthogonal
axes—concepts, capabilities, and skills.
Concepts are the 10 basic ideas that underlie modern computers, networks, and information:
Computer organization, information systems, networks, digital representation of information, information organization, modeling and abstraction, algorithmic thinking and programming, universality, limitations of
information technology, and societal impact of information technology.
Capabilities are the 10 fundamental abilities for using IT to solve a problem:
Engage in sustained reasoning, manage complexity, test a solution, manage faulty systems and software, organize and navigate information structures and evaluate information, collaborate, communicate to other
audiences, expect the unexpected, anticipate changing technologies, and think abstractly about IT.
Skills are the 10 abilities to use today’s computer applications in one’s own work:
Set up a personal computer, use basic operating system features, use a word processor and create a document, use a graphics or artwork package to create illustrations, slides, and images, connect a computer to a network,
use the Internet to find information and resources, use a computer to communicate with others, use a spreadsheet to model simple processes or financial tables, use a database system to set up and access
information, and use instructional materials to learn about new applications or features.
Many colleges and universities e.g., see National Research Council, 1999 have implemented these or similar standards and are expecting their graduates to achieve them.
2.2 Computer Science at the CollegeUniversity Level