• Tidak ada hasil yang ditemukan

What Is Computer Science?

Dalam dokumen Guide to Teaching Computer Science (Halaman 49-53)

Sect. 3.2)

The history of computer science (

Sect. 3.3)

Computer scientists (

Sect. 3.4)

Social issues of computer science (

Sect. 3.5)

Programming paradigms (

Sect. 3.6)

Computer science soft ideas (

Sect. 3.7)

For each topic, we first explain its meaning and its importance and relevance in the context of computer science education, and then, suggest several activities which deal with the said topic that can be facilitated in the MTCS course.

The different topics and activities that the chapter deals with should not necessarily be addressed in sequential lessons and can be spread over the MTCS course. We recommend that each instructor incorporate these topics in the course when he or she feels that it is important to highlight a topic that provides a broad perspective of the discipline of com- puter science. Such a decision may be based on different considerations. First, the instruc- tor may notice that students’ image of the discipline is too narrow (e.g., they are either not aware of the history of computer science or overemphasize programming-oriented aspects);

second, when a specific computer science topic is addressed in the MTCS course and it is relevant to associate it with one of the above topics (e.g., when the teaching of Turing machine or Dijkstra algorithm are discussed, it is relevant to mention the history of the discipline, in general, and the pioneers who shaped it, whose names appear in these con- cepts, in particular); and finally, when the instructor feels that he or she should diversify the course content by addressing topics related to the nature of the discipline rather than its core scientific topics.

3.2

What Is Computer Science?

The question “what is computer science?” does not have a single answer; different scholars emphasize different aspects of the field. Nevertheless, there is an agreement that computer science is a multifaceted field that encompasses scientific and engineering aspects, which are manifested in algorithmic problem-solving processes, for which computational think- ing skills (Wing 2006), and sometimes also artistic and creative thinking, are required. It is also widely agreed that computer science is about conceptual ideas, whereas the com- puter serve as a means or a tool for solving computer science problems. See also, for example, Denning (2005) for different perspectives of computer science.

One important resource for the discussion about the nature of computer science is the 1989 Computing As A Discipline report of the ACM Task Force (Denning et al. 1989). The task force declares that “the three major paradigms, or cultural styles, by which we approach our work, provide a context for our definition of the discipline of computing.” (p. 10).

23 3.2 What Is Computer Science?

Specifically, they present the following three paradigms on which computer science is based: theory, rooted in mathematics; abstraction (modeling), rooted in the experimental scientific method; and design, rooted in engineering.

A related interesting point to address is the name of the discipline. First, as we just noted, computer science is not a pure science. Further, some computer scientists claim that it is not a science at all. For example, Abelson et al. (1996) say that “Computer science is not a science, and its ultimate significance has little to do with computers.”1 Second, the word computer, which appears in the name of the discipline, is misleading. In this context, it is relevant to quote Edsger Dijkstra, one of the pioneers of the filed who said that

“Computer science is no more about computers than astronomy is about telescopes.”

From a pedagogical perspective, according to Ragonis (2009), an examination of the high school computer science curricula, implemented in different countries throughout the world, shows a lack of uniformity in the interpretation various bodies and countries give to curricula in computer science. The different approaches even appear in the different names of the cur- ricula, such as information technology, information and communication technology, informa- tion systems, computer science, informatics, computer engineering, and software engineering.

Sometimes, the differences between the approaches imply significant differences in the high school curricula.

Clearly, each teacher should be familiar both with the contents of the filed he or she is teaching and with the nature of the field. It is suggested, that this claim is amplified in the context of computer science education due to the fact that accepted definition for the field does not exist and that different computer scientists conceive it differently. Activities 1 and 2 aim at increasing the prospective computer science teachers’ awareness to these issues.

Activity1:TheNatureofComputerScience

This activity is based on five stages in which the students explore the nature of the discipline of computer science.

Stage A: Explain what computer science is, work in pairs

The students are asked to explain what computer science is to someone who is neither a computer scientist nor a computer science student. It can be requested to limit the explanation to one to two sentences. From a pedagogical perspective, since the need to formulate such a brief definition for a concept like computer science requires one’s deep understanding of the said topic, it is assumed that such a task foster students’ thinking about the essence of computer science.

Stage B: Class discussion

The explanations proposed by the students are presented in the class. For each description, it is discussed what aspects of the field it highlights. Another option is (continued)

1 See also Hal Abelson’s 10-min talk on What is “Computer Science”? at http://www.youtube.

com/watch?v=zQLUPjefuWA

3

Activity1 (continued)

to gather the definitions and to ask the students to categorize them according to some criterion. See Chap. 7 for additional information about classification tasks.

Stage C: Internet exploration of computer science definitions

If the lesson takes place in a computer lab, the students are asked to explore (by the Internet) different definitions for computer science as well as disagreements related to the nature of the field.

Stage D: Summary and class discussion (can be carried out whether Stage C takes place or not)

The instructor, together with the students, summarizes the different perspectives of computer science, presented so far in the lesson. In this summary, it is important to emphasize that:

Computer science deals with what is computable and with the characterization of

these computations.

Computer science is a multifaceted field and is inspired by mathematics, science,

and engineering.

Computer science has many subfields and has interconnections to other disci-

plines, such as biology, economic, medicine, and entertainment.

The name of the discipline is misleading and sometimes there is a tendency to

confuse it with computer applications.

The above characteristics of the field of computer science set special challenges for computer science educators. With this respect, several questions can be asked and discussed in the MTCS course:

Should the teaching of computer science be different from the teaching of math,

science, engineering, and art? If yes – how; if not – why?

Taking into consideration the above characteristics of computer science:

Is it important at all to teach computer science in the high school?

How should the first lesson in a high school computer science class be –

planned?

Stage E: Review of the Computing Curricula 2001, homework

Review the computer science volume of the series, developed by The Joint Task Force on Computing Curricula of the IEEE Computer Society and the Association for Computing Machinery.2

What does the report tell us about connections between the nature of computer science and its teaching?

2 See http://www.acm.org/education/curric_vols/cc2001.pdf

25 3.2 What Is Computer Science?

Activity2:ComputerScienceandOtherSciences

This activity is related to the comment stated above with respect to interconnections of computer science with other disciplines, such as biology, economic, medicine, and entertainment.

Stage A: Connections between computer science and other sciences, individual/team work

The students are asked to identify a science which is interconnected somehow to computer science and to define the connection between the two sciences. This work can be based on Internet resources and journals.

One recommended resource for this task is the Microsoft Corporation’s report Towards 2020 Science, published in 2006 (Microsoft Research 2006).3 According to that Web site the report “sets out the challenges and opportunities arising from the increasing synthesis of computing and the sciences.”

Stage B: Presentations

The students present, in front of the class, the science they focused on as well as its interrelationships to computer science. It is recommended to upload the students’

products to the course Web site.

Stage C: Class discussion

The discussion that follows these presentations has the potential to deepen stu- dents’ understanding with respect to what computer science is on the one hand, and on the other hand, to highlight how computer science is used by and connected to other sciences.

For illustration, we examine the case of computer science – biology interrelation.

According to the Towards 2020 Science report (2006), “computer science is poised to become as fundamental to biology as mathematics has become to physics.” (p. 8) Specifically, “one of the first glimpses of the potential of computer science concepts and tools, augmented with computing, has already been demonstrated in the Human Genome Project, and by the success of structural biology to routinely decipher the three-dimensional structure of proteins. In this and in related sequencing projects, sci- entists use computers and computerised DNA sequence databases to share, compare, criticise and correct scientific knowledge, thus converging on a consensus sequence quickly and efficiently.” (p. 24). Further, the report states that “there is a growing awareness among biologists that to understand cells and cellular systems requires viewing them as information processing systems, as evidenced by the fundamental similarity between molecular machines of the living cell and computational automata, and by the natural fit between computer process algebras and biological signalling and between computational logical circuits and regulatory systems in the cell.” (p. 8).

3 The report is available online at http://research.microsoft.com/towards2020science/ background_

overview.htm

3 3.3

Dalam dokumen Guide to Teaching Computer Science (Halaman 49-53)