Skip to main content

The Science in Computer Science


Communications of the ACM, Vol. 56, No. 5, May 2013
Peter J. Denning, editor-in-chief of Ubiquity, makes the case that computer science is indeed a “science” and that it is fundamentally distinct from any of the STEM fields. As Denning points out, how we define “computer science” matters for educators, researchers and practitioners. When it comes to education, for example, viewing computer science as a “science” will elevate it in any discussion of funding priorities for building a competitive IT workforce. When it comes to the workplace itself, it means that computer scientists will be seen as genuine collaborators with reliable predictive models and valuable analytic tools, rather than just as professional coders.
Denning points out that two external factors – the rise of computational science and the discovery of natural information processes - have spawned a science renaissance in computing. Experimental methods have regained their stature because they are the only way to understand very complex systems and to discover the limits of heuristic problem solution methods. New fields heavily based in experimental methods have opened up—network science, social network science, design science, data mining, and Bayesian inference. The widening claims that information processes occur in nature have refuted the notion that computer science is not "natural" and have complemented earlier arguments that computing is a science of the artificial. This brief history suggests that computing began as science, morphed into engineering for 30 years while it developed technology, and then entered a science renaissance about 20 years ago.
Although computing had subfields that demonstrated the ideals of science, computing as a whole has only recently begun to embrace those ideals. Some new subfields such as network science, network social science, design science, and Web science, are still struggling to establish their credibility as sciences. Denning discusses a list of criteria for “computer science” to meet the traditional ideal of a “science.” He then argues that the current educational system must shift so that it reflects the changing breadth and scope of computer science as a “science.” Students are losing interest in computing in high schools, half of which have no computer course at all, and many of the others relegated their one computer course to the basics, rather than teaching the principles of computing. The science renaissance in computing has led to an explosion of new content on the principles of computing that is beginning to reach into high schools, led by early work by the U.S. National Science Foundation and the Educational Testing Service.

Click Here to View Full Article

Comments

Popular posts from this blog

Setting up MySQL SSL and secure connections

There are different articles on how to setup MySQL with SSL but it’s sometimes difficult to end up with a good simple one. Usually, setting up MySQL SSL is not really a smooth process due to such factors like “it’s not your day”, something is broken apparently or the documentation lies... Read this article : Setting up MySQL SSL and secure connections Pre-requisite : Creating SSL Certificates and Keys Using openssl

New Language Expands on Google's Go

InfoWorld (09/23/16) Serdar Yegulalp   Polish developer Marcin Wrochniak has introduced Have, a computer language that transpiles to and expands on Google's Go. Wrochniak developed Have as a hobby project, with the goal of the language becoming a "companion" to Go that addresses some of its common "landmines." One of the most obvious differences between Have and Go is the formatting; Go uses curly braces similar to C/C++, while Have uses block indents like Python. Other differences address idiosyncrasies in Go. For example, the way that variable declaration, structs, and interfaces work have all been modified in Have to be more consistent with each other and to avoid internal inconsistencies that are a common source of bugs. The new language also plans to add generics to Go, which will enable programmers to create constructs in the language that use type parameters and make it possible to extend Have in ways not readily possible in Go. Have also features "...