requirements for a computer science curriculum ... - ACM Digital Library

22 downloads 200990 Views 468KB Size Report
Curriculum '91 divides Computer Science into eleven subject areas: AL: Algorithms and Data Structures. AR: Architecture. AI: Artificial Intelligence and Robotics.
REQUIREMENTS FOR A COMPUTER SCIENCE CURRICULUM EMPHASIZING INFORMATION TECHNOLOGY SUBJECT AREA: CURRICULUM ISSUES Charles Reynolds reynolds @cs.jmu.edu

Christopher Fox [email protected]

Department of Computer Science James Madison University Harrisonburg, Virginia 22807

THE NEED FOR A CURRICULUM IN INFORMATION TECHNOLOGY The landscape of computing has changed dramatically for computing users, We routinely hear about the information superhighway, world-wide web and the Internet, multimedia, virtual reality, electronic mail and bulletin boards, groupware, desktop publishing, expert systems and knowledge engineering. Dramatically, these are not topics discussed exclusively by computer scientists and other kinds of computing specialists. These topics are being discussed by the general user community, a community ill-trained to use these technologies fully and effectively. Although the computer has come out of the computing center and is sitting on the desktop, the immense and growing power of these computers is being only partially utilized by users with limited time for learning about and understanding the rapidly changing information technologies available to them. The fastest growing demand in our society is for computer professionals who help people use information technologies to solve their computing problems. This is an unusual computing professional who combines strong technical skills (in networks, multimedia, databases, intelligent systems, and the integration, configuration and management of these) with the human element (identifying user needs, designing friendly user interfaces, establishing local information policies and procedures and integrating evolving standards). Traditional programs in computing have prepared students for jobs as researchers or developers rather than as information technologists. The growth of opportunities in information technology has created the need for programs emphasizing careers in this area. In this paper we propose requirements for a curriculum in Information Technology based on A CM Curriculum ’91. We first use a profile of an information technologist to extend Curriculum’91 to include new knowledge units. We next refine the knowledge units to include learning objectives that specify the level of mastery of each knowledge unit. Information Technology curricula then are formed as a collection of courses covering the set of learning objectives to the specified level of mastery.

CURRICULUM GOALS The first step in developing our curriculum requirements is to define the overall goal for students completing the curriculum: Information Technology Curriculum Vision: TO develop a reasonable level of understanding in each of the subject areas of Computer Science and to use that understanding to help people solve problems by using information technology. We will use this vision statement as the basis for a refined statement of curriculum goals below. Curriculum ’91 is the product of a joint task force of the ACM and the IEEE and is the current standard governing computer science curricula in the United States. Curriculum ’91 divides Computer Science into eleven subject areas: AL: AR: AI: DB: HU: NU: OS: PL: PR: SE: SP:

High level goals for an Information Technology curriculum can be generated by stating how the Curriculum’91 knowledge areas can support the Information Technology Curriculum Vision: The high level goals of the curriculum in Information Technology are to prepare students to use their understanding of computer science to solve problems using information technology by: ● decomposing problem statements and synthesizing algorithmic solutions (AL); . using computing hardware effectively to solve problems (AR); . using intelligent systems technologies to solve problems (AI); . using database and information retrieval technologies to solve problems (DB);

Permission to copy without fee all or part of this material is gnmted provided that fhe copies are not made or disfrfbuted for direct commercial advantage, the ACM copyright notice and tfre title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery. To copy otherwise or to republish, fequiree a fee amflor SIGCSE ’96 2/9S Philadelphia, PA USA Q199S ACM 0-S9791-757-X19610002 ....50.5O

speeific

Algorithms and Data Structures Architecture Artificial Intelligence and Robotics Database and Information Retrieval Human-Computer Communication Numerical and Symbolic Computation Operating Systems Programming Languages Introduction to a Programming Language Software Methodology and Engineering Social, Ethical, and Professional Issues

permission.

247









● ●



designing and building effective user interfaces, especially using multimedia technologies (HU); making and interpreting numeric computations correctly (NU); using operating system and networking technologies to solve problems (OS); expressing algorithmic problem solutions correctly in an appropriate language (PL); implementing algorithms (PR); participating in the full range of the problem solving process (SE); behaving in a professional manner (SP).

Adding knowledge units and lecture hours makes the core curriculum much larger, effectively eliminating electives. It could be argued that Curriculum’91 lists core knowledge units not needed in an Information Technology curriculum; although we believe this to be true, eliminating knowledge units from the core is a contentious issue. For now, we propose only adding knowledge units, leaving elimination of knowledge units from the core for further discussion, at the expense of a much larger core. The extended allocations of lecture hours are summarized below by subject area. Distribution

The transformation of a vision statement and knowledge areas into phrases expressing high level curriculum goals is an important step because of the emphasis it reveals. We no longer have just subject areas as noun phrases. We now have verbs attached to each subject area that provide a basis for specifying the “reasonable level of understanding” of knowledge units. Our students need to use computing hardware, intelligent systems, databases, multimedia technologies, arithmetic hardware and networking technologies to help people solve problems. The emphasis here is on using information technology, not implementing it. Of much greater importance than this knowledge of information technologies, our students need a deep understanding of the problem solving process that includes the ability to use technology to solve problems, to express that solution in a computing language, and to participate in a problem solving team in a professional manner. THE

Of

Lecture

Hours

SP

C’91 hours 47 59 9 9 8 7 31 46 12 44 11

17 21 3 3 3 2 11 16 4 16 4

New hours 47 59 53 72 72 7 76 46 12 112 11

Total

283

100

549

Subject Area AL AR AI DB Hu Nu 0s PL PR SE

%

Over

Subjects ?4.

8 10 9 13 13 1 13 8 2

20 2 100

REFINEMENT OF KNOWLEDGE UNITS AS LEARNING OBJECTIVES Besides adding knowledge units to the core, we ’91 requirement that students wish to refine the Curriculum “develop a reasonable level of understanding” by specifying the level of mastery for all knowledge units. The topics ’91 knowledge units are clear covered by the Curriculum enough, but the level of mastery of these topics is not. For example, knowledge unit PL7, Finite State Automata and Regular Expressions, is specified as “Finite state automata (fsa) as restricted models of computation and acceptors of regular expressions. Applications of regular expressions to programming language analysis” (p. 61). This specification is ambiguous because students can be considered to have mastered this knowledge unit by exhibiting some or all of the following wide range of masterv: . . Able to determine whether a string is accepted by a given finite state automaton, or is part of the language described by a particular regular expression. ● Able to generate code (using a software tool) implementing a finite state automaton 10 recognize a language described by a given regular expression. ✎ Able to state and prove various theorems about finite state automata and regular expressions.

EXTENDED

KNOWLEDGE UNITS expands the eleven subject areas as a collection of knowledge units that must be included in the also specifies core of computing curricula. Curriculum’91 the minimum number of lecture hours to be devoted to each knowledge unit. Over 80% of these lecture hours are in algorithms, architecture, operating systems, programming hmguages and software engineering, and less than 109Z0are in artificial intelligence, database, and human-computer interaction. Furthermore, computer networks are only minimally discussed in the operating systems area. ’91 knowledge All the material in the Curriculum units can be used to support problem solving, but the areas most prominent in recent years are user interfaces, intelligent systems, databases, and networks. Since these are the information technologies that people are using, they must be prominent in an Information Technology curriculum. Consequently the next step in developing a curriculum in Information Technology is to add knowledge units covering these areas to those from Curriculum’91. We have added knowledge units covering material in the essential areas mentioned above along with the lecture hours committed to them. The new knowledge ’91 subject areas units are apportioned into the Curriculum as shown in the Appendix where the new knowledge units appear in bold. Cun-iculum’91

248

A more effective specification might define how students will demonstrate their level of understanding after completing the knowledge unit. Our approach to designating levels of mastery of knowledge units is to restate them as learning objectives. In restating knowledge units, we have been guided by our overall goal of preparing students to apply computing technology to solve problems. In other words, for each knowledge unit, we have asked: “What level of mastery of this material is required by an individual to use information technology to solve problems?” To define a standard or level of performance that we can certify graduates as having achieved, we must define what the students are able to do that demonstrates their attainment of the standard. Thus, our task is studentcentered (what do students do) rather than teacher-centered (what do teachers do). Rather than organizing the lecture topics of a subject area (what teachers do), we must organize the demonstrable skills and competencies of that area (what students do). The Bloom taxonomy is a classification system for learning objectives that has been a standard in curriculum development since its publication in 1954 (Bloom [1956]). The taxonomy was created to facilitate communication about curricula by providing a precise mechanism for classifying learning objectives. The Bloom Taxonomy describes six levels of cognitive development,

6. Evaluation—The ability to make quantitative and qualitative judgments about the value of material for some purpose. Objectives in this category require students to make and defend judgments of merit or value. For example, “evaluate the impact of the use of information technology on the productivity of an organ ization. ” Each knowledge unit in the Information Technology curriculum is shown in the Appendix written as a learning objective and classified into one of the six levels of the Bloom taxonomy. Different programs might ’91 knowledge units into the Bloom classify the Curriculum taxonomy differently than we have. Objectives tend to concentrate at the lowest levels of mastery because these are the easiest to teach and to test; one way to evaluate a curriculum is to classify its objectives and see whether they are spread across the taxonomy in a reasonable way. In this regard, it is interesting to highlight objectives assigned the highest ’91 subject areas. level of mastery in each of the Curriculum This again reveals the emphasis of our curriculum requirements on using information technology. AL: AR: AI: DB : HU: NU: 0s: PL: PR: SE: SP:

1. Knowledge—The ability to recall and recognize material. For example, “explain the use of parallel execution to yield significant speed-up over sequential execution. ” 2. Comprehension—The ability to explain material in a different form. Objectives in this category require students to demonstrate understanding of material through use of that material, but not to apply it in problem solving activities that require the selection of one of several possibilities. For example, “implement a given algorithm in a programming language.”

CONCLUSION We have proposed a refined set of learning objectives as requirements for a curriculum in Information Technology, This refinement has consisted of(1) to expansion of the knowledge units of Curriculum’91 reflect the increased emphasis on networks, database, intelligent systems and multimedia in our profession in recent years, and (2) clarification of these expanded knowledge units by restatement as learning objectives that specify the students’ level of mastery. A fuller discussion of this curriculum proposal and more information about the knowledge units is available at http://www.cs.jmu.edu/projects/curric96.

3. Application—The ability to apply methods, techniques, laws, and theories in a new situation. Objectives in this category require students to select and amlv standard approaches to typical problems. For example, “install operating system. ”

and configure

selectiuse problem solving strategies install /configure digital systems specifyfimplement knowledge-based system design/implement a database application design/implement a user interface (none above level 2, but supports other areas) install/configure a network operating system select/use current programming paradigms implement an algorithm specify, design and analyze a software product (none above level 2, but supports other areas)

an

4, Ancdysis—The ability to recognize the structure of material in terms of hierarchy, grouping, cause and effect, and other relevant relationships. For example, “analyze and select the best of several application architectures. ”

BIBLIOGRAPHY Bloom,B.S. Objectives. 1956.

5. Synthesis—The ability to compose parts or components into a coherent whole, to create a plan for achieving a goal or solving a problem. For example, “develop an application using information technology. ”

et.al. Taxonomv of Educational David McKay and Company, Inc.

Comtmtin~ Curriculum 1991. Report of the ACM/IEEE-CS Joint Curriculum Task Force. ACM Press. 1991.

249

Appendix:

Cognitive-Based

Knowledge

Units

or

Learning

Objectives

for

Knowledge Units

AL all a12 a13 ai4 a15 a16 a17 a18 a19

Decomr)osinK a m-oblem statement and swrthesizin~ an al~orithmic use typical data structures and compare different implementations implement a reusable software component implement a recursive algorithm for an appropriate problem

m

Using

ar 1 ar2 ar3 ar4 ar5 ar6 ar7

explain different digital technologies and different levels of integration install and configure a digital system and explain its data flow explain how a digital system represents and manipulates data explain the capabilities of a machine language explain memory system organization and concepts of virtual memory and caching install and configure input/output devices explain the advantages of various akernative architectures

hardware

effectiveiv

Usin~

ai 1 ai 2

explain the history and applications observe the performance of common

ai3 ai4 ai5 ai6

use predicate logic to describe objects in a knowledge domain explain the uses of intelligent systems use a development life cycle to specify a knowledge-based system implement a rule-based system and a neural network system

DJ3

Usirw

db 1 db2

explain explain

db3 db4 db5

design, explain design,

HLJ

Desimin~

hu 1 hu2

use a variety of user interface technologies in a competent way explain graphical output devices and evolving industry standards

hu3 hu4 hu5

explain design design

intelligent

database

svstem

technologies

and information

retrieval

analyze, and implement and compare alternative analyze, and implement effective

technoioszies

Makinsz and intermretin~

nu 1 nu2

explain finite precision arithmetic observe the behavior of iterative

numeric

3 2 2 1 1 1 1 3 1

12 6 3 15 13 5 5

1 3 1 1 1 3 1

3 6 8 6 15 15

1 1 2 1 3 2

4 5 27 9 18

2 2 4 2 4

5 3 12 21 36

2 1 3 3

3 4

1 1

to solve m’ob]ems system

a small database client-server architectures a distributed database

user interfaces

the structure of the media used in the multimedia and implement a multimedia presentation and implement an interactive user interface

NLJ

13 2 3 4 4 6 6 6 3

to solve nroblems of artificial intelligence heuristic search algorithms

the purpose of and interact with a database management relational data models and the normalization process

and building

Taxonomy Level

to solve rxoblems

&r

commutations and its errors approximation

industry

1

correctly methods

250

Technology

Lecture Hours

solution

observe best, average, and worst case behaviors of common algorithms observe the different running times of algorithms in different complexity classes observe best, average, worst case behaviors of sorting and searching algorithms explain the idea of undecidability for some model of computation select and apply various problem solving strategies for constructing algorithms explain the use of parallelism to yield significant speed-up computirw

Information

m

using

0s1

explain major developments in the history of operating systems explain the concepts of processes and tasking explain process coordination and synchronization explain preemptive and non-preemptive scheduling explain physical and virtual memory organizations install and configure a new device including physical connection and software explain issues in file systems and naming explain standard concepts in data security explain diagrams of the various network organizational models explain issues of distributed and real-time systems

0s2 0s3 0s4 0s5 0s6 0s7 0s8 0s9 Oslo 0s11 0s12 0s13 0s14 0s15 0s16 0s17

ouerating

system

and networking

technologies

to so]ve Urob]ems

explain the history and social and ethical issues of the Internet use Internet to retrieve information and communicate with others explain the layers of the 1S0/0S1 network architecture explain terminology and issues in network hardware explain terminology and issues in network management install and configure an operating system install and configure a local area network

E

Exuressin~

pll p12 p13 p14 p15 p16 p17 p18 p19

explain major developments in the history of programming languages explain the use of interpretation and translation to create levels of abstraction explain data representation for structured data types implement an algorithm using various sequence controls explain data control, sharing and type checking explain concepts and methods of run-time storage management design and implement algorithms using a finite state automata use a table-drive parser as a program shell explain the components and their interactions of a language translation system explain models of programming language semantics build software using current programming paradigms explain parallel programming language features

pllo pill pl12

an al~orithmic

oroblem

solution

correctlv

in an aoorooriate

m prl

Imolementinsz

SE

Particioatin~

se 1 se2 se3 se4 se5 se6 se7 se8 se9

build an application using problem solving concepts explain the software development process write software requirements and specify a software product build a software product using the design paradigms for large software explain software verification and validation

se10 sell se12 se13 se14 se15

implement

lanmra~e

Behaving

Sp 1 sp2 sp3 sp4

explain explain explain exnlain

2 2 2 4 4 4 6 4 3 2

10 3

al~orithms

12

an algorithm in the ransze of the oroblem

solvinsz orocess

systems

use application software to integrate several information sources build an application from reusable components implement an algorithm using a tool that supports reuse use commercial products that support software design design and build a reusable component use project planning, tracking and management techniques participate in a group design project build a software product using various design paradigms and tools build an information system design using a CASE tool analyze several design solutions

m

3 2 4 3 4 2 4 3 3 3 4 5 3 3 3 14 14

in a professional

and ethical

11 8 4 8 8 16 12 8 2 2 2 2 8 4 12

manner

goals of methods of computing professionals social and ethical responsibilities of computing professionals the risks and liabilities in marketing a computing application OrOOeI’tV the main forms of intellectual

251

3 3 3 2

Suggest Documents