• Tidak ada hasil yang ditemukan

Contents 1. Introduction

Dalam dokumen of the (Halaman 141-144)

2. The Need for Masters Programs 3. Goals of Program

3.1 Basic Intent

3.2 Communication Skills 3.3 Current Literature Level 3.4 Professionalism

4. Entrance Requirements

4.1 Admission Requirements 4.2 Prerequisites

5. Program Organization 5.1 "Course Work

5.2 Culminating/Unifying Activity 5.3 Seminar

5.4 Thesis or Project

5.5 Comprehensive Examination 6. Resource Requirements

6.1 Faculty

6.2 Computing Equipment 6.3 Library

7. Specializations 8. Conclusions

Appendices

A. Contributors B. Course Descriptions References

139

1.0 Introduction

T h e Committee on Curriculum in Computer Science (C

3

S)* of the Association for Computing Machinery has within its charter the obligation to address computer science education at the baccalaureate level and above.

T h e Committee intends that this document establish a basis for master's degree programs of substance while at the same time permitting sufficient flexibility to allow for adaptation to the objectives and resources of individ- ual colleges and universities. A second objective of the report is to provide guidance to those institutions which have begun or are about to begin a master's program without specifying a rigid blueprint for the establishment of such programs. Finally, and perhaps most impor- tantly, the Committee hopes this report will foster mean- ingful interchange among computer science educators regarding instructional programs at the master's level.

G r a d u a t e programs in computer science preceded the introduction of undergraduate programs, the earliest pro- grams appearing in the early 1960s. "Curriculum '68"

[5] concentrated on the definition and specification of undergraduate programs but did consider master's pro- grams also. Specifically the following recommendation was given:

The master's degree program in computer science should consist of at least nine courses. Normally at least two courses—each in a different subject area—should be taken from each of the following subject divisions of computer science:

I. Information Structures and Processes II. Information Processing Systems III. Methodologies

Sufficient other courses in computer science or related areas should be taken to bring the student to the forefront of some area of computer science [5, p. 163],

T h e section on the master's curriculum concludes with the statement:

This proposed program embodies sufficient flexibility to fulfill the requirements of either an "academic" degree obtained in preparation for further graduate study or a terminal "professional"

degree. Until clearer standards both for computer science research and the computing profession have emerged, it seems unwise to attempt to distinguish more definitely between these two aspects of master's degree programs [5, p. 164).

T h e Committee believes that the discipline has ma- tured enough that we can now see this distinction be- tween academic and professional programs beginning to appear. We reject, however, the concept of an utterly terminal program. In our view all programs should pro- vide the possibility of additional study in the field. This report tries to establish the common aspects of master's programs in computer science and indicates possible differences and distinctions.

Some attention was given to master's level programs by C

3

S following the publication of "Curriculum '68."

* The Curriculum Committee on Computer Science (C3S) became a subcommittee of the Curriculum Committee on Computer Education in 1978.

The results of this work were presented by Melkanoff [8]

in 1973. Further work in this area was deferred, however, while work progressed on the new C

3

S recommendations at the undergraduate level. T h e new undergraduate rec- ommendations were published as "Curriculum '78" in the March 1979 Communications of the ACM [2],

In an independent effort, the A C M Curriculum Com- mittee on Computer Education for Management (C

3

EM) (now the Subcommittee on Curriculum in Information Systems) developed guidelines for a master's program in Information Systems [1,9]. They clearly define a related professional degree program. The scope and extent of existing graduate programs in computer science have been recently surveyed [4, 7],

2.0 The Need for Master's Programs

T h e classical objective of academic master's pro- grams is the preparation for study at the doctoral level, and this remains an important aspect of such programs.

Different goals exist for professional programs, but we believe that all programs should prepare the student for study beyond the master's level.

Among the objectives for students in master's pro- grams is entry into the computer field at a relatively high level of responsibility and expertise. Computer Science is such a new and rapidly expanding field that individ- uals entering with a master's degree in this field will almost immediately move to positions with great respon- sibility. This, in turn, implies the requirement for an advanced level of prior training in both technical and related areas (e.g., communication skills).

Many people already in the field desire additional training in computer science. These individuals may have undergraduate degrees in computer science and desire to advance; or they may have had considerable experience in computing, but little formal education in the field. While this latter group should be declining in number as more undergraduate computer science majors enter the j o b market, the demand does exist and will continue to do so in the foreseeable future. In addition, there will be a continuing need for individuals with a bachelor's degree in computer science to update their training.

In all of these cases, the master's degree provides both motivation for the student and a standard for reward by the employer.

The two-year colleges are offering a large number of courses in data processing and related topics. F o r most faculty positions in such institutions, a master's degree is a minimum requirement and a master's in computer science is an appropriate preparation.

Increasingly, precollege instruction in computer sci-

ence is being offered. Consequently, there is a need for

a master's program to prepare individuals to teach com-

puter science at the precollege level. Further exploration

of such a master's program should be done jointly by

140

this Committee and the A C M Subcommittee on Elemen- tary and Secondary Education.

Graduate enrollments in computer science, informa- tion systems, and other related programs have grown steadily since their inception in the early 1960s. Even though growth rates are substantial, estimates of demand for personnel with graduate degrees in such programs far exceed the supply. During the 80s, the need for master's graduates is estimated to be approximately 34,000 annually. During this same period, annual pro- duction will only increase f r o m about 3,000 to 4,000 [6],

3.0 Goals 3.1 Basic Intent

The basic intention of a master's program in com- puter science is to develop the student's critical profes- sional thinking and intuition. T h e curriculum must be structured to provide a balanced mixture of learning experiences to make the graduate capable of sound professional decisions. As a result the graduate should be able to assume responsible positions in business, government, and education at the research, development, and planning levels. T h e program should also provide an excellent foundation for further formal training.

T h e primary emphasis of the program should be on the concepts, theory, and practice of computer science.

Students should have a broad understanding of the field.

Techniques and methodologies of computer science should be discussed and used. Intensive education in specific areas of computer science a n d / o r training in an application area is desirable. An academically oriented program will encourage students to develop and use abstract models. A professionally oriented program will encourage students to apply abstract models and com- puter science concepts in practical situations.

Academically oriented programs will tend to attract full-time students, and these students are generally ori- ented toward further education and research. Students in professional programs are generally oriented toward careers in industry or government, and such programs are frequently designed to accommodate part-time stu- dents.

3.2 Communication Skills

Computer scientists require special communication skills. They must be able to communicate with the rest of their organizations in understandable terms, both orally and in writing. They must be able to communicate with their co-workers, users of their computer systems, and other professionals who require computer expertise.

They must be able to produce documentation for a complex computing system which is clear, concise, un- ambiguous, and accurate. They must be able to produce well organized reports which clearly delineate objectives, method of solution, results, and conclusions for a com- plex task.

3.3 Current Literature-Level

Graduates should be cognizant of the pertinent lit- erature in their field of choice and be able to read, interpret, and use this material. They should find it a normal procedure to review current journals to keep abreast of new trends and ideas. They should be able to recognize and use techniques relevant to their present endeavors.

3.4 Professionalism

Since graduates could assume responsible positions in some organizations they should be able to function effectively as members of teams. They should possess qualities of leadership along with technical skills so as to effectively lead a group to the successful completion of a task.

Master's students should take an active part in the activities of any local professional computer science or- ganization which may exist. They should be aware of the societal impact of computing as incorporated in the A C M Code of Ethics [12],

4.0 Entrance Requirements 4.1 Admission Requirements

T h e G r a d u a t e Record Examinations ( G R E ) Ad- vanced Computer Science Test has been available since October 1976. Its purpose is to help graduate committees assess the qualifications of applicants with a bachelor's degree in Computer Science for advanced study in com- puter science. The Advanced Test in Computer Science is one of a number of measures that might be used to evaluate a candidate for admission to the M.S. degree program. T h e verbal part of the G R E may help measure the communication skill level of applicants and the quantitative part is a good general indicator of numeric manipulation capabilities.

A " B " average for the undergraduate degree is a common requirement for admission to graduate study.

Some schools provide a "special" status for those who do not meet entrance requirements with subsequent re- evaluation for admission to full status.

4.2 Prerequisites

The student entering a master's program ideally

should have a B.S. in Computer Science or at least the

material included in CS 1 through CS 8 of "Curriculum

'78" [2] or SE-1 through SE-4 and CO-1 through CO-4

of the IEEE Computer Society Model Curriculum [11],

and mathematics through calculus, linear algebra, and

one course in statistics. Course titles for C S 1 through

CS 8 are given in Appendix B. Discrete structures,

maturity in both abstract reasoning and the use of

models, and one or more years of practical experience in

computer science are desirable. Of course, the applicant

must satisfy the general entrance requirements of the

institution's graduate school or department.

Some schools may admit students who do not meet the entrance requirements listed above. These students will have to remove deficiencies early in their graduate studies.

Removal of academic deficiencies might be through any or all of the following approaches:

a. Require students to take specific existing under- graduate courses for no credit toward the mas- ter's degree;

b. Establish special "immigration" courses that rap- idly cover the material in the areas of deficiency;

or

c. Provide the students with self-study outlines in conjunction with appropriate proficiency exam- inations.

Any courses taken to remove deficiencies must be in addition to the program required for the master's degree.

5.0 Program Organization 5.1 Course Work

Formal course work is provided to give the students a mixture of practical and theoretical work. Such courses will typically begin at a level in which the courses may be taken by advanced undergraduate students or grad- uate students.

T h e specific graduate courses which are offered re- flect the expertise and judgment of the faculty involved.

G r a d u a t e programs reflect their specific environments far more than do undergraduate programs. It is possible to envision several independent axes, e.g., software/hard- ware, theory/practice, and numeric/nonnumeric com- putation. Each department should determine where on each axis its program should be, consistent with available resources and expertise. These emphases should be re- evaluated at least every three years.

Nevertheless, the Committee believes all master's programs should have some aspects in common. Accord- ingly, a list of possible courses is given below. Depart- ments planning master's programs should start with this list. In preparing these course descriptions, the Commit- tee drew on material from well-established master's de- gree programs at

Georgia Institute of Technology University of Illinois

University of Maryland University of Missouri-Rolla Northwestern University

University of North Carolina at Chapel Hill Ohio State University

Purdue University

Rutgers: T h e State University of New Jersey Stanford Unversity

T h e University of Texas at Austin [13],

Computer Science is a rapidly changing field. T h e courses listed here reflect the present state of the field

and will require periodic updating. Descriptions of these courses are given in Appendix B. They provide a starting point for developing or updating a master's degree pro- gram.

Typical courses which should be offered, under the topical areas within which they fall, might be as follows.

Courses CS 9 through CS 18 are described in [2], Courses CS 19 through CS 38 are described in Appendix B.

A. Programming Languages

CS 14 Software Design and Development CS 15 Theory of Programming Languages CS 19 Compiler Construction

CS 20 Formal Methods in Programming Languages

CS 21 Architecture of Assemblers CS 25 High Level Language Computer

. Architecture

B. Operating Systems and Computer Architecture CS 10 Operating Systems and Computer

Architecture II

Dalam dokumen of the (Halaman 141-144)