Bits and Behavior
Published in

Bits and Behavior

A pink cloud shaped vaguely like a brain, outlined with a sharper, dark pink stroke.
Tracing the outline of vague concepts for the sake of progress.

Human-centered definitions of computer science for public education

  • The study of the principles and use of computers (Oxford English Dictionary). What are these mystical principles?
  • The study of computers and algorithmic processes, including their principles, their hardware and software designs, their implementation, and their impact on society (ACM). What’s an algorithm? What’s an implementation? The impact on society part makes sense, but don’t economists do that?
  • The study of processes that interact with data and that can be represented as data in the form of programs (Wikipedia). Processes? What’s a program? What is “representation”?
  • The study of computers and the phenomena that surround them. (Newell, Perlis, and Simon 1967). I love this one because it’s so intellectually inclusive (and I’m a biased Carnegie Mellon alum). But doesn’t this just say that computer science is anything involving computers? Education involves computers, so is that computer science?
  • The systematic study of algorithmic processes that describe and transform information: their theory, analysis, design, efficiency, implementation, and application (Denning 1988). What does “transform” mean? What is “information”? What is “design”?
  • Keep definitions short.
  • Don’t worry about how “true” definitions are with respect to academic CS; worry more about their comprehensibility.
  • Be human-centered, appealing to what people do with computers, rather than what computers do.
  • Software. Apps, websites, and other products and services that people use on computers, laptops, tablets, smartphones, and other digital devices that have computers in them.
  • Educational technology. Software designed to support learning and teaching (e.g., grading software, math practice software).
  • Computer use. Clicking, tapping, and typing on a computer to control what the computer does next.
  • Computer programming. Clicking, tapping, and typing on a computer to write, test, and revise instructions that control what a computer will do in the future.
  • Coding. A synonym of computer programming.
  • Program. The final product of computer programming; an essential part of software.
  • Software engineering. Programming, usually in teams, with the goal of creating software for others to use.
  • Computational thinking. Abstract, precise, and creative reasoning about how to solve problems with programs.
  • Data science. The use of data, statistics, and programs to answer questions about the world.
  • Artificial intelligence. Programs that can do things that humans can do, such as speak, understand language, perceive the world, answer questions, and make complex decisions (e.g., autonomous robots can navigate the world like people, digital assistants can do some things that human assistants can do, web search can do some things that librarians can do).
  • Machine learning. Algorithms that create programs from data, often used to enable artificial intelligence (e.g., using large data sets of medical images labeled as cancerous or not to classify whether future images contain cancer).
  • Computer science. The academic discipline that studies both human and technical aspects of computer use, computational thinking, programs, programming, software, and software engineering.
  • Computing. Computer science, plus other academic disciplines that study related phenomena, including 1) computer hardware and its design and construction; 2) information and how to collect, process, store, and distribute it in society; 3) how computers and society mutually shape each other.
  • Computer science education. Any context of formal education that teaches concepts and skills studied in computer science.
  • Computing education. Any context of formal education that teaches concepts and skills studied in computing.



This is the blog for the Code & Cognition lab, directed by professor Amy J. Ko, Ph.D. at the University of Washington. Here we reflect on our individual and collective struggle to understand computing and harness it for justice. See our work at

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Amy J. Ko

Professor of programming + learning + design + justice at the University of Washington Information School. Trans; she/her. #BlackLivesMatter.