What is Computer Science?

From IAE-Pedia

Jump to: navigation, search
IAE-pedia Header.png


Contents

Introduction

The history of mechanical aids to computation is quite long. The abacus was (still is) a wonderful aid to calculation. A nice summary of the history of calculators is available in the Wikipedia. Mechanical, electromechanical, and then electronic computers are natural extensions of calculators.

A computer can automatically, rapidly, and with great accuracy follow a step by step set of instructions specifying a sequence of calculations and other manipulations of numerical and alphabetic characters. While initially conceived of mainly as an automated calculator, it soon became evident that a computer could be used to solve or help solve wide range of problems in many different disciplines. For example, a computer can store the types of material that are stored in a library, and can aid in the processing and retrieval of such digitized materials.

This wide range of uses and potential uses of computers led to the development of programs of study, and then degree programs in the field of computer science. At the time this was occurring, relatively few people thought about whether computer science is a science, or whether an academic department and a field of research should be built around a machine.

Perhaps part of the issue is just the choice of a name for the discipline or disciplines such departments focused on. If the new department was mainly business oriented, it might have be called a Department of Business Data Processing. If the new department was mainly engineering oriented, it might have been called the Department of Computer Engineering. If formed in under the bailiwick of liberal arts, it might have been called the Department of Computer Science or the Department of Computer and Information Science.

Computer Science

The business-oriented, engineering-oriented, and liberal arts-oriented types of departments approached the disciple from different points of view. A business-oriented computer science discipline of study merged the computer and its capabilities into the overall discipline of business. Computers can be use d to represent and to solve or help solve a wide range of business problems. The emphasis was on the representation and solution of business problems. Computers and computer science were tools that aided in this process.

This approach to computers is now common throughout all academic disciplines. For example, consider computers and music or computers and the graphic arts. Both music and the graphic arts existed as major disciplines in their own rights long before electronic digital computers came on the scene. Both continue as major disciplines of study—but both have been influenced by computers. We also see this in each of the sciences ad in mathematics. We now have major subdivisions of each of these disciplines that are called "Computational" as in Computational Physics or Computational Mathematics.

"Computational" has gained additional credibility through the Computational Thinking work of Jennette Wing and others. Students in each discipline of study are faced by the challenge of deciding what and how much to learn about computers.

Computer engineering focuses on the theory and practice of designing and building computer hardware components and entire computer systems. This discipline has been very successful and has brought us a steady stream of major improvements in the cost effectiveness and reliability of computer systems.

Computer and Information Science Departments have prospered. A discipline was developed that was far more than computer programming and solving application problems in various other disciplines.

SomeDefinitions

Here is a short definition from a 1985 article written by Peter J. Denning:

Denning, Peter J. (September 1985). What is Computer Science. American Scientist 73 No. 1 (Jan-Feb 1985). Retrieved 2/16/08: ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/19900067426_1990067426.pdf

Computer Science is the body of knowledge dealing with the design, analysis, implementation, efficiency, and application of processes that transform information. The fundamental question underlying all of computer science is, “What can be automated?” This discipline was born in the mid-1940s with the invention of the stored-program electronic computer and has grown rapidly ever since.

The key issues is, what can be automated. We are used to the idea of automating physical activities. Thus, we had automated factory equipment long before we had electronic digital computers. One way to think about computers is in terms of how they aid in the automation of physical activities and how they aid in the automation of mental activities. Nowadays, when we talk about factory automation, we generally mean use of computerized equipment, including a wide range of robots. That role of computers in automation is well established and is a clear extension of factory automation that came before the existence of electronic digital computers.

The automation of mental activities is, in some sense new. Sure, we had aids to mental activities. A math table is a example. But, it was a person and the table working together that accomplished the desired task.

Now, we are automating mental tasks that are beyond what a human brain can do, and in many cases the computer functions without human intervention.

Some Other Definitions

Here are a few of the definitions produced from a Google search on define: computer science.

Organizations that conduct research in the area of science that addresses the study of data and information storage and processing systems including hardware, software, basic design principles, user requirements analysis and related economic and policy issues. nccs2.urban.org/ntee-cc/u.htm
The study of computers, including both hardware and software design. Computer science is composed of many broad disciplines, including artificial intelligence and software engineering. Most universities now offer bachelor, master, and doctorate degrees in computer science. www.faxswitch.com/Definitions/telecom_dictionary_c.html
Computer science, or computing science, is the study of the theoretical foundations of information and computation and their implementation and application in computer systems. ... en.wikipedia.org/wiki/Computer science

Is Computer Science Science?

Over the years, people have argued whether Computer Science deserves to be called a science. The following article by Peter J. Denning addresses this issue:: Denning, Peter J. (April 2005. Is Computer science Science?. Communications of the ACM. Retrieved 2/16/08: www.cs.gmu.edu/cne/pjd/PUBS/CACMcols/cacmApr05.pdf.

This article discusses various aspects of the disicpline of computre science and certainly helps to give a definition of the field. The article is written in the form of an interview (in essence, the author interviewing himself). Here is the beginning of he article:

What is your profession?

Computer science.

Oh? Is that a science?

Sure, it is the science of information processes and their interactions with the world.

I’ll accept that what you do is technology; but not science. Science deals with fundamental laws of nature. Computers are man made. Their principles come from other fields such as physics and electronics engineering.

Hold on. There are many natural information processes. Computers are tools to implement, study, and predict them. In the U.S. alone, nearly 200 academic departments recognize this; some have been granting CS degrees for 40 years.

Has computer science already made all the big discoveries it’s going to? Is incremental progress all that remains? Has computer science bubbled up at the end of the historical era of science?

I think not. Horgan argues that the number of scientific fields is limited and each one is slowly being exhausted. But computer science is going a different way. It is constantly forming relationships with other fields; each one opens up a new field.

Computer Science Degree and Jobs

Marsan, Carolyn Duffy (2/22/2010). Want a job? Get a computer science degree. Network World. Retrieved 2/24/2010 from http://www.networkworld.com/news/2010/022210-computer-science.html. Quoting from the article:

Leading universities report that enrollment in computer science and engineering courses is up significantly this year among students pursuing computer science majors as well as those studying other subjects, particularly science or business.
"I think the job market is what's driving the growth," says Professor Bruce Porter, Chair of the Department of Computer Sciences at the University of Texas at Austin, which has seen its enrollment increase more than 5% this year. "The government has made it clear that computer science is a growth field, and I think that message is getting back to students and their parents."
Corporate recruitment of top computer science grads has remained steady throughout the economic downturn. Last spring, at the height of the recession, Georgia Tech's College of Computing had the highest job placement rate of any major on campus and the highest starting salary.

Teaching Computer Science

"It goes against the grain of modern education to teach children to program. What fun is there in making plans, acquiring discipline in organizing thoughts, devoting attention to detail, and learning to be self-critical?" (Alan Perlis; American Computer Scientist; 1922–1990.)

What constitutes good teaching of computer and information science, and what can be done to improve teaching in this field?

First note that this same type of question is applicable in every discipline. Indeed, each discipline of study puts some effort into helping people learn about the discipline.

Consider the challenge this places on teacher who teach a number of different disciplines, such a the typical elementary school teacher. If it is difficult to have the knowledge, skills, and experience to be a good teacher in a single discipline such as computer science, imagine trying to be a good teacher over the full range of disciplines that a typical elementary school teacher faces. Moreover, think about the fact that this elementary teacher is laying the foundations for a student's future learning in each of the disciplines that he or she teaches.

Back in the "good old days, there was quite a large push to teach BASIC and/or Logo programming to elementary and middle school students. I (David Moursund) remember the stories that came out of Texas. There, quite a few physical education teachers were given two weeks of instruction on computer literacy and then put to work as computer literacy teachers. That approach did a major disservice both to the teachers and to their students.

Each academic discipline includes a focus on representing and solving the types of problems and challenges that are part of the discipline. That is, problem solving is core to each discipline. Research on problem solving identifies domain specific and domain independent ideas relevant to problem solving. To a large extent, it takes considerable domain-specific knowledge in a disincline to be a good problem solver within the discipline.

And, as an aside, consider the challenge of transfer of learning of one's domain-specific problem solving expertise to other disciplines. This challenge is particularly severe in disciplines such as computer science and math that have widespread applicability and a relatively deep vertical structure.

Here is an article that some readers will find useful:

AMEInfo (2/10/2009). Researcher calls for new approach in computer education. Retrieved 2/11/2009: http://www.ameinfo.com/184306.html. The following quoted material is from the introduction to the paper.
Dr. Uma Gunasilan, senior lecturer in the School of Engineering and Information Sciences at Middlesex University Dubai, was honoured for presenting best paper at the Seventh Worldwide Conference on Education and Culture, held recently in Rome, Italy.
The paper entitled 'Towards Improving the Teaching and Learning Experience in Computer Programming: A Case Study in Middlesex University Dubai' won much acclaim at the international conference, which was organised by the Worldwide Conference on Education and Culture series, based in Virginia, USA.
In her paper, the researcher stated that students should be allowed to 'construct knowledge' rather than to acquire, apply and retain knowledge that is given by educator. Although this is acknowledged and works effectively in science and mathematics education, there is a discrepancy, specifically in computer science.
Dr. Gunasilan was appreciated by academics from across the world, for her effort in highlighting the problems and arguments in the pedagogy of computer programming in the Middle-Eastern region and outlining active elements that play a significant role in teaching and learning in the UAE.

Computer Programming

A computer program is a step by step set of instructions that can me interpreted by a carried out by a computer. Computer programmers draw on four skill sets:

1. Problem solving—with special emphasis on problem solving within the discipline or disciplines that encompass the problem to be solved.(Think in terms of designing a method to solve a general class or problems or accomplish a general class of tasks, and then designing a computer system than can effectively implement the design.)

2. Relatively detailed knowledge of and skill in using both programming languages in general and the specific programming language being used in the project one is addressing.

3. The ability to work individually and in team environments.

4. The ability to learn new programming languages, new programming ideas, new problem-solving ideas, and new problem areas.

As you can see, computer programming (sometimes called software engineering) is a very challenging discipline. The capabilities and productivity of "professional" programmers vary widely.

The discipline of computre programming has made considerable progress over the years. A Google search of waterfall programming Wikipedia returns a number of intersting hits. Quoting from the Wikipedia:

The waterfall model is a sequential software development process, in which progress is seen as flowing steadily downwards (like a waterfall) through the phases of Conception, Initiation, Analysis, Design, Construction, Testing and Maintenance.
The waterfall development model has its origins in the manufacturing and construction industries; highly structured physical environments in which after-the-fact changes are prohibitively costly, if not impossible. Since no formal software development methodologies existed at the time, this hardware-oriented model was simply adapted for software development.
The first formal description of the waterfall model is often cited to be an article published in 1970 by Winston W. Royce,[1] although Royce did not use the term "waterfall" in this article. Royce was presenting this model as an example of a flawed, non-working model (Royce 1970). This is in fact the way the term has generally been used in writing about software development—as a way to criticize a commonly used software practice.[2]

Modern approaches to computer programming place a very high emphasis on maintainability and modifiability of a computer program.

Precollege Computer Science Education

A number of states have local and state organizations that foster and promote students learning computer and information science. Oregon provides a good example. The following segments are quoted from an email message set by /Ron Tennison to David Moursund on 3/16/2009.

I still am interested in trying to do some work with you – particularly the oral history project that we discussed. Right at the moment, I have gotten myself so involved in the Oregon CS Taskforce /OCSTA?TechStart projects that my wife wonders if I am actually retired.
I included a copy of the OCSTA newsletter (below) that I write so you can see what I am/have been up to. It is not as elegant as yours,[the Information Age Education Newsletter] but it gets the communication done. By the way, OCSTA traces its lineage back to OCCE, so in a way you are partly responsible for this too.
The Oregon Game Programming Challenge (OGPC) is a competition for your students and is currently scheduled for May 16, but you need to be forming teams and starting now. The challenge problem for the year will be announced this weekend. All the details, registration information, and extensive materials are available on the website at http://www.techstart.org/ogpc.
We hear that nationally, Oregon is the “hot spot” when it comes to CS activity. OCSTA is the longest running state CS teacher’s organization, and was the first official chapter in the National CSTA. We are reported to have more competing robotics teams than any other state. Our annual SuperQuest summer institute has been running 14 years. All of this activity is due to a unique combination of OCSTA, TechStart, and OPAS/ETIC CS Taskforce, but it all runs on volunteers.

Here is a reference about declining opportunities for precollege students to learn about Computer and Information Science:

Crawford,Amy (2/20/2011). Few students make time to study computer science. Pittsburgh Tribune-Review. Retrieved 2/23/2011 from http://www.pittsburghlive.com/x/pittsburghtrib/news/pittsburgh/s_723777.html.

Quoting from the article:

As computers have become ubiquitous in Americans' daily lives, computer science is declining in public schools. It's an irony that troubled the authors of a recent report, "Running on Empty," published by the Association for Computing Machinery, a membership organization for people who work in the industry, and the Computer Science Teachers Association.
"As the digital age has transformed the world and work force, U.S. K-12 education has fallen woefully behind in preparing students with the fundamental computer science knowledge and skills they need for future success," the study's authors wrote.
The authors found that between 2005 and 2009 the number of secondary schools offering introductory computer science courses dropped by 17 percent. The number of high schools offering Advanced Placement computer science plummeted by 35 percent

What is Artificial Intelligence?

For an insightful interview of Ed Feigenbaum, one of the AI pioneers, see Shustek (2010).

The following references are suitable for use with middle school students and were provided by Dr. Art Farley, an AI researcher in the Department of Computer and Information Science, University of Oregon 3/6/08.

Overview for students: http://library.thinkquest.org/2705/

Interesting Q&A style by McCarthy, one of AI "fathers": http://www-formal.stanford.edu/jmc/whatisai/whatisai.html

Wikipedia: http://en.wikipedia.org/wiki/Artificial_intelligence

AAAI Topics page for references: http://www.aaai.org/AITopics/pmwiki/pmwiki.php/AITopics/HomePage

References

CCC Blog (11/12/08). The Computing Community Consortium Blog. Accessed 11/17/008: http://www.cccblog.org/2008/11/12/computer-science-outside-the-box/. Quoting from the Blog:

The workshop vastly exceeded my expectations – 8 hours of brainstorming about strategies and best practices, in four areas:
  • “Go Outside Your Box” – what strategies can we adopt to increase collaboration across subfields and with other fields?
  • “The World Needs Us” – how to contribute to the solution of societal “Grand Challenge” problems while simultaneously driving computing research forward.
  • “Breaking the Cycle” – can we change the reward structure to decrease incrementalism, encouraging long-range thinking?
  • “Serving the Community” – how can we further increase the culture of service to the research community and to the nation?

Computer Science Unplugged (n.d.). Teach Computer Science without a computer! Retrieved 2/14/0-9: http://csunplugged.org/.

Unplugged is based at the University of Canterbury in Christchurch New Zealand. Quoting from the Website:

Computer Science Unplugged is a series of [free] learning activities that reveals a little-known secret: computer science isn't really about computers at all!
Unplugged teaches principles of computer science such as binary numbers, algorithms and data compression through games and puzzles that use cards, string, crayons and lots of running around.
Unplugged is suitable for people of all ages, from elementary school to university, and from many countries and backgrounds. Unplugged has been used around the world for over fifteen years, in classrooms, science centers, homes, and even for holiday events in a park!

Cox, John (12/11/08). Computing for Good: Web technology to solve human problems. NetworkWorld. Retrieved 12/17/08: http://www.networkworld.com/news/2008/121108-computing-for-good.html?page=1.

The general idea discussed in this article is that graduate students in computer and information science are quite capable of doing project that address world, regional, and local problems. This specific article focusses on a new course at Georgia Tech called Computing for Good, or C4G. Quoting from the article:

The Georgia Tech course is just one example of a growing interest in what's often called computing for a cause or socially relevant computing. As one paper, by researchers from State University of New York in Buffalo, Rice University and Microsoft Research, put it: "It presents computer science as a cutting-edge technological discipline that empowers [students] to solve problems of personal interest…as well as problems that are important to society at large…."

Denning, Peter J. ( 1999). Computer Science: The Discipline. Retrieved 3/17/09: http://www.rpi.edu/~arkouk/pocs/block1/denning2.pdf.

This article was written for the 2000 Edition of the Encyclopedia of Computer Science. Quoting from the article:

The computing profession is the people and institutions that have been created to take care of other people's concerns in information processing and coordination through worldwide communication systems. The profession contains various specialties such as computer science, computer engineering, software engineering, information systems, domain-specific applications, and computer systems. The discipline of computer science is the body of knowledge and practices used by computing professionals in their work. This article, with many cross-references to other articles in this encyclopedia, discusses these aspects of the profession and the relations among them.
The body of knowledge of computing is frequently described as the systematic study of algorithmic processes that describe and transform information: their theory, analysis, design, efficiency, implementation, and application. The fundamental question underlying all of computing is, What can be (efficiently) automated?
This common characterization is too austere. It only hints at the full richness of the discipline. It does not call attention to the connections between computing knowledge and the concerns of people to whom this knowledge contributes, notably the universal concerns for reliability, dependability, robustness, integrity, security, and modifiability of computer systems. It hides the social and historical context of the field and the values of the people who practice in it.

Shustek, Len (2010). An interview with Ed Feigenbaum. Communications of the ACM. Retrieved 6/24/2010 from http://cacm.acm.org/magazines/2010/6/92472-an-interview-with-ed-feigenbaum/fulltext. Quoting from the document:

The computer history Museum has an active program to gather videotaped histories from people who have done pioneering work in this first century of the information age. These tapes are a rich aggregation of stories that are preserved in the collection, transcribed, and made available on the Web to researchers, students, and anyone curious about how invention happens. The oral histories are conversations about people's lives. We want to know about their upbringing, their families, their education, and their jobs. But above all, we want to know how they came to the passion and creativity that leads to innovation.
Presented here are excerpts from four interviews with Edward A. Feigenbaum, the Kumagai Professor of Computer Science, Emeritus, at Stanford University and a pioneering researcher in artificial intelligence. The interviews were conducted in 2007 separately by Donald Knuth and Nils Nilsson, both professors of computer science at Stanford University.

Author or Authors

The original version of this document was developed by David Moursund.

Personal tools