This week is Computer Science Education Week. As a concrete activity to celebrate the week, millions of people around the country are participating in an “Hour of Code” to try their hand at programming, often for the first time. Hour of Code, which is organized by Code.org, is a dedicated time to learn coding through fun, interactive media that convey a flavor of giving instructions to a computer.
Programming a computer is not a skill, but also an art. Design choices abound, some more elegant than others. Well-designed programs take a number of factors into account, including readability, efficiency, and performance. To understand the tradeoffs, knowledge is needed about system design, memory usage, data structures, and more. The elements to consider, much less their implementations, can’t be learned in an hour, but an hour is enough to whet the appetite and raise awareness.
Coding (or more generally, software engineering) is only one aspect of computer science. The field of Computer Science includes the building blocks of computing and computational thinking, both currently available and in the future. It includes research into algorithms, optimization, privacy and security, and the theoretical frontiers of what may one day be possible in the digital world. Computer scientists study which problems are computationally feasible and how computational alternatives compare. Computer scientists design, build, and evaluate computer systems, and they implement algorithms for specific applications. Computer science as a discipline covers a wide variety of skills, topics, and ideas – far beyond coding.
Computer science is already an integral part of all the sciences, including the biomedical sciences. So, to celebrate Computer Science Education Week, how about treating yourself to an uninterrupted hour of writing coding or reading a scientific article about computation?