Catalyzing Inquiry at the Interface of Computing and Biology

(nextflipdebug5) #1
340 CATALYZING INQUIRY

Box 10.3 Continued

This last point is often misunderstood. For many outsiders, computer science is the same as computer pro-
gramming—a view reinforced by many introductory “computer science” courses that emphasize the writing
of computer programs. But it is better to understand computer programs as the specialized medium in which
the ideas and abstractions of computer science are tangibly manifested. Focusing on the writing of the com-
puter program without giving careful consideration to the abstractions embodied in the program is not unlike
understanding the writing of a novel as no more than the rules of grammar and spelling.

Algorithmic thinking, information representation, and computer programs are themes central to all subfields
of computer science and engineering research. They also provide material for intellectual study in and of
themselves, often with important practical results. The study of algorithms is as challenging as any area of
mathematics, and one of practical importance as well, since improperly chosen or designed algorithms may
solve problems in a highly inefficient manner. The study of programs is a broad area, ranging from the highly
formal study of mathematically proving programs correct to very practical considerations regarding tools with
which to specify, write, debug, maintain, and modify very large software systems (otherwise called software
engineering). Information representation is the central theme underlying the study of data structures (how
information can best be represented for computer processing) and much of human-computer interaction (how
information can best be represented to maximize its utility for human beings).

Finally, computer science is closely tied to an underlying technological substrate that evolves rapidly. This
substrate is the “stuff” out of which computational hardware is made, and the exponential growth that char-
acterizes its evolution makes it possible to construct ever-larger, ever-more-complex systems—systems that
are not predictable based on an understanding of their individual components. (As one example, the proper-
ties of the Internet prove a rich and surprisingly complex area of study even though its components—comput-
ers, routers, fiber-optic cables—are themselves well understood.)

A second report of the National Research Council described fluency with information technology as requiring
three kinds of knowledge: skills in using contemporary IT, foundational concepts about IT and computing, and
intellectual capabilities needed to think about and use IT for purposeful work.^2 The listing below is the
perspective of this report on essential concepts of IT for everyone:


  • Computers (e.g., programs as a sequence of steps, memory as a repository for program and data, overall
    organization, including relationship to peripheral devices).

  • Information systems (e.g., hardware and software components, people and processes, interfaces (both
    technology interfaces and human-computer interfaces), databases, transactions, consistency, availability, per-
    sistent storage, archiving, audit trails, security and privacy and their technological underpinnings).

  • Networks: physical structure (messages, packets, switching, routing, addressing, congestion, local area
    networks, wide area networks, bandwidth, latency, point-to-point communication, multicast, broadcast, Eth-
    ernet, mobility), and logical structure (client/server, interfaces, layered protocols, standards, network services).

  • Digital representation of information: concept of information encoding in binary form; different informa-
    tion encodings such as ASCII, digital sound, images, and video/movies; precision, conversion and interoper-
    ability (e.g., of file formats), resolution, fidelity, transformation, compression, and encryption; standardization
    of representations to support communication.

  • Information organization (including forms, structure, classification and indexing, searching and retrieving,
    assessing information quality, authoring and presentation, and citation; search engines for text, images, video,
    audio).

  • Modeling and abstraction: methods and techniques for representing real-world phenomena as computer
    models, first in appropriate forms such as systems of equations, graphs, and relationships, and then in appro-
    priate programming objects such as arrays or lists or procedures. Topics include continuous and discrete


(^2) Computer Science and Telecommunications Board, National Research Council, Being Fluent with Information Technology, National
Academy Press, Washington, DC, 1999.

Free download pdf