REQUIREMENTS FOR A COMPUTER SCIENCE CURRICULUM EMPHASIZING INFORMATION TECHNOLOGY SUBJECT AREA: CURRICULUM ISSUES Charles Reynolds Christopher Fox reynolds @cs.ju.edu fox@cs.ju.edu Departent of Coputer Science Jaes Madison University Harrisonburg, Virginia 07 THE NEED FOR A CURRICULUM IN INFORMATION TECHNOLOGY The landscape of coputing has changed draatically for coputing users, We routinely hear about the inforation superhighway, world-wide web and the Internet, ultiedia, virtual reality, electronic ail and bulletin boards, groupware, desktop publishing, expert systes and knowledge engineering. Draatically, these are not topics discussed exclusively by coputer scientists and other kinds of coputing specialists. These topics are being discussed by the general user counity, a counity ill-trained to use these technologies fully and effectively. Although the coputer has coe out of the coputing center and is sitting on the desktop, the iense and growing power of these coputers is being only partially utilized by users with liited tie for learning about and understanding the rapidly changing inforation technologies available to the. The fastest growing deand in our society is for coputer professionals who help people use inforation technologies to solve their coputing probles. This is an unusual coputing professional who cobines strong technical skills (in networks, ultiedia, databases, intelligent systes, and the integration, configuration and anageent of these) with the huan eleent (identifying user needs, designing friendly user interfaces, establishing local inforation policies and procedures and integrating evolving standards). Traditional progras in coputing have prepared students for jobs as researchers or developers rather than as inforation technologists. The growth of opportunities in inforation technology has created the need for progras ephasizing careers in this area. In this paper we propose requireents for a curriculu in Inforation Technology based on A CM Curriculu 9. We first use a profile of an inforation technologist to extend Curriculu 9 to include new knowledge units. We next refine the knowledge units to include learning objectives that specify the level of astery of each knowledge unit. Inforation Technology curricula then are fored as a collection of courses covering the set of learning objectives to the specified level of astery. Perission to copy without fee all or part of this aterial is gnted provided that fhe copies are not ade or disfrfbuted for direct coercial advantage, the ACM copyright notice and tfre title of the publication and its date appear, and notice is given that copying is by perission of the Association for Coputing Machinery. To copy otherwise or to republish, fequiree a fee aflor speeific perission. SIGCSE 9 /9S Philadelphia, PA USA Q99S ACM 0-S979-77-X9000...0.O 7 CURRICULUM GOALS The first step in developing our curriculu requireents is to define the overall goal for students copleting the curriculu: Inforation Technology Curriculu Vision: TO develop a reasonable level of understanding in each of the subject areas of Coputer Science and to use that understanding to help people solve probles by using inforation technology. We will use this vision stateent as the basis for a refined stateent of curriculu goals below. Curriculu 9 is the product of a joint task force of the ACM and the IEEE and is the current standard governing coputer science curricula in the United States. Curriculu 9 divides Coputer Science into eleven subject areas: AL: Algoriths and Data Structures AR: Architecture AI: Artificial Intelligence and Robotics DB: Database and Inforation Retrieval HU: Huan-Coputer Counication NU: Nuerical and Sybolic Coputation OS: Operating Systes PL: Prograing Languages PR: Introduction to a Prograing Language SE: Software Methodology and Engineering SP: Social, Ethical, and Professional Issues High level goals for an Inforation Technology curriculu can be generated by stating how the Curriculu 9 knowledge areas can support the Inforation Technology Curriculu Vision: The high level goals of the curriculu in Inforation Technology are to prepare students to use their understanding of coputer science to solve probles using inforation technology by: decoposing proble stateents and synthesizing algorithic solutions (AL);. using coputing hardware effectively to solve probles (AR);. using intelligent systes technologies to solve probles (AI);. using database and inforation retrieval technologies to solve probles (DB);
designing and building effective user interfaces, especially using ultiedia technologies (HU); aking and interpreting nueric coputations correctly (NU); using operating syste and networking technologies to solve probles (OS); expressing algorithic proble solutions correctly in an appropriate language (PL); ipleenting algoriths (PR); participating in the full range of the proble solving process (SE); behaving in a professional anner (SP). Adding knowledge units and lecture hours akes the core curriculu uch larger, effectively eliinating electives. It could be argued that Curriculu 9 lists core knowledge units not needed in an Inforation Technology curriculu; although we believe this to be true, eliinating knowledge units fro the core is a contentious issue. For now, we propose only adding knowledge units, leaving eliination of knowledge units fro the core for further discussion, at the expense of a uch larger core. The extended allocations of lecture hours are suarized below by subject area. Distribution Of Lecture Hours Over Subjects The transforation of a vision stateent and knowledge areas into phrases expressing high level curriculu goals is an iportant step because of the ephasis 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 coputing hardware, intelligent systes, databases, ultiedia technologies, arithetic hardware and networking technologies to help people solve probles. The ephasis here is on using inforation technology, not ipleenting it. Of uch greater iportance than this knowledge of inforation technologies, our students need a deep understanding of the proble solving process that includes the ability to use technology to solve probles, to express that solution in a coputing language, and to participate in a proble solving tea in a professional anner. THE EXTENDED KNOWLEDGE UNITS Cun-iculu 9 expands the eleven subject areas as a collection of knowledge units that ust be included in the core of coputing curricula. Curriculu 9 also specifies the iniu nuber of lecture hours to be devoted to each knowledge unit. Over 0% of these lecture hours are in algoriths, architecture, operating systes, prograing hguages and software engineering, and less than 09Z0are in artificial intelligence, database, and huan-coputer interaction. Furtherore, coputer networks are only inially discussed in the operating systes area. All the aterial in the Curriculu 9 knowledge units can be used to support proble solving, but the areas ost proinent in recent years are user interfaces, intelligent systes, databases, and networks. Since these are the inforation technologies that people are using, they ust be proinent in an Inforation Technology curriculu. Consequently the next step in developing a curriculu in Inforation Technology is to add knowledge units covering these areas to those fro Curriculu 9. We have added knowledge units covering aterial in the essential areas entioned above along with the lecture hours coitted to the. The new knowledge units are apportioned into the Curriculu 9 subject areas as shown in the Appendix where the new knowledge units appear in bold. Subject C 9 % New?. Area hours hours AL 7 7 7 AR 9 9 0 AI 9 9 DB 9 7 Hu 7 Nu 7 7 0s 7 PL PR SE 0 SP Total 00 9 00 REFINEMENT OF KNOWLEDGE UNITS AS LEARNING OBJECTIVES Besides adding knowledge units to the core, we wish to refine the Curriculu 9 requireent that students develop a reasonable level of understanding by specifying the level of astery for all knowledge units. The topics covered by the Curriculu 9 knowledge units are clear enough, but the level of astery of these topics is not. For exaple, knowledge unit PL7, Finite State Autoata and Regular Expressions, is specified as Finite state autoata (fsa) as restricted odels of coputation and acceptors of regular expressions. Applications of regular expressions to prograing language analysis (p. ). This specification is abiguous because students can be considered to have astered this knowledge unit by exhibiting soe or all of the following wide range of asterv:.. Able to deterine whether a string is accepted by a given finite state autoaton, or is part of the language described by a particular regular expression. Able to generate code (using a software tool) ipleenting a finite state autoaton 0 recognize a language described by a given regular expression. Able to state and prove various theores about finite state autoata and regular expressions.
A ore effective specification ight define how students will deonstrate their level of understanding after copleting the knowledge unit. Our approach to designating levels of astery of knowledge units is to restate the as learning objectives. In restating knowledge units, we have been guided by our overall goal of preparing students to apply coputing technology to solve probles. In other words, for each knowledge unit, we have asked: What level of astery of this aterial is required by an individual to use inforation technology to solve probles? To define a standard or level of perforance that we can certify graduates as having achieved, we ust define what the students are able to do that deonstrates their attainent 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 ust organize the deonstrable skills and copetencies of that area (what students do). The Bloo taxonoy is a classification syste for learning objectives that has been a standard in curriculu developent since its publication in 9 (Bloo [9]). The taxonoy was created to facilitate counication about curricula by providing a precise echanis for classifying learning objectives. The Bloo Taxonoy describes six levels of cognitive developent,. Knowledge The ability to recall and recognize aterial. For exaple, explain the use of parallel execution to yield significant speed-up over sequential execution.. Coprehension The ability to explain aterial in a different for. Objectives in this category require students to deonstrate understanding of aterial through use of that aterial, but not to apply it in proble solving activities that require the selection of one of several possibilities. For exaple, ipleent a given algorith in a prograing language.. Application The ability to apply ethods, techniques, laws, and theories in a new situation. Objectives in this category require students to select and alv standard approaches to typical probles. For exaple, install and configure an operating syste., Ancdysis The ability to recognize the structure of aterial in ters of hierarchy, grouping, cause and effect, and other relevant relationships. For exaple, analyze and select the best of several application architectures.. Synthesis The ability to copose parts or coponents into a coherent whole, to create a plan for achieving a goal or solving a proble. For exaple, develop an application using inforation technology.. Evaluation The ability to ake quantitative and qualitative judgents about the value of aterial for soe purpose. Objectives in this category require students to ake and defend judgents of erit or value. For exaple, evaluate the ipact of the use of inforation technology on the productivity of an organ ization. Each knowledge unit in the Inforation Technology curriculu is shown in the Appendix written as a learning objective and classified into one of the six levels of the Bloo taxonoy. Different progras ight classify the Curriculu 9 knowledge units into the Bloo taxonoy differently than we have. Objectives tend to concentrate at the lowest levels of astery because these are the easiest to teach and to test; one way to evaluate a curriculu is to classify its objectives and see whether they are spread across the taxonoy in a reasonable way. In this regard, it is interesting to highlight objectives assigned the highest level of astery in each of the Curriculu 9 subject areas. This again reveals the ephasis of our curriculu requireents on using inforation technology. AL: selectiuse proble solving strategies AR: install /configure digital systes AI: specifyfipleent knowledge-based syste DB : design/ipleent a database application HU: design/ipleent a user interface NU: (none above level, but supports other areas) 0s: install/configure a network operating syste PL: select/use current prograing paradigs PR: ipleent an algorith SE: specify, design and analyze a software product SP: (none above level, but supports other areas) CONCLUSION We have proposed a refined set of learning objectives as requireents for a curriculu in Inforation Technology, This refineent has consisted of() expansion of the knowledge units of Curriculu 9 to reflect the increased ephasis on networks, database, intelligent systes and ultiedia in our profession in recent years, and () clarification of these expanded knowledge units by restateent as learning objectives that specify the students level of astery. A fuller discussion of this curriculu proposal and ore inforation about the knowledge units is available at http://www.cs.ju.edu/projects/curric9. BIBLIOGRAPHY Bloo,B.S. et.al. Taxonov of Educational Objectives. David McKay and Copany, Inc. 9. Cottin~ Curriculu 99. Report of the ACM/IEEE-CS Joint Curriculu Task Force. ACM Press. 99. 9
Appendix: Cognitive-Based Knowledge Units or Learning Objectives for Inforation Technology Knowledge Units Lecture Hours Taxonoy Level AL all a a ai a a a7 a a9 Decor)osinK a -oble stateent and swrthesizin~ an al~orithic solution use typical data structures and copare different ipleentations ipleent a reusable software coponent ipleent a recursive algorith for an appropriate proble observe best, average, and worst case behaviors of coon algoriths observe the different running ties of algoriths in different coplexity classes observe best, average, worst case behaviors of sorting and searching algoriths explain the idea of undecidability for soe odel of coputation select and apply various proble solving strategies for constructing algoriths explain the use of parallelis to yield significant speed-up ar ar ar ar ar ar ar7 Using coputirw hardware effectiveiv to solve rxobles explain different digital technologies and different levels of integration install and configure a digital syste and explain its data flow explain how a digital syste represents and anipulates data explain the capabilities of a achine language explain eory syste organization and concepts of virtual eory and caching install and configure input/output devices explain the advantages of various akernative architectures &r ai ai ai ai ai ai Usin~ intelligent svste technologies to solve nrobles explain the history and applications of artificial intelligence observe the perforance of coon heuristic search algoriths use predicate logic to describe objects in a knowledge doain explain the uses of intelligent systes use a developent life cycle to specify a knowledge-based syste ipleent a rule-based syste and a neural network syste DJ db db db db db Usirw database and inforation retrieval technoioszies to solve ob]es explain the purpose of and interact with a database anageent syste explain relational data odels and the noralization process design, analyze, and ipleent a sall database explain and copare alternative client-server architectures design, analyze, and ipleent a distributed database 7 9 HLJ hu hu hu hu hu Desiin~ and building effective user interfaces use a variety of user interface technologies in a copetent way explain graphical output devices and evolving industry standards explain the structure of the edia used in the ultiedia industry design and ipleent a ultiedia presentation design and ipleent an interactive user interface NLJ nu nu Makinsz and interretin~ nueric coutations correctly explain finite precision arithetic and its errors observe the behavior of iterative approxiation ethods 0
0s 0s 0s 0s 0s 0s 0s7 0s 0s9 Oslo 0s 0s 0s 0s 0s 0s 0s7 using ouerating syste and networking technologies to so]ve Urob]es explain ajor developents in the history of operating systes explain the concepts of processes and tasking explain process coordination and synchronization explain preeptive and non-preeptive scheduling explain physical and virtual eory organizations install and configure a new device including physical connection and software explain issues in file systes and naing explain standard concepts in data security explain diagras of the various network organizational odels explain issues of distributed and real-tie systes explain the history and social and ethical issues of the Internet use Internet to retrieve inforation and counicate with others explain the layers of the S0/0S network architecture explain terinology and issues in network hardware explain terinology and issues in network anageent install and configure an operating syste install and configure a local area network E pll p p p p p p7 p p9 pllo pill pl Exuressin~ an al~orithic oroble solution correctlv in an aoorooriate lanra~e explain ajor developents in the history of prograing languages explain the use of interpretation and translation to create levels of abstraction explain data representation for structured data types ipleent an algorith using various sequence controls explain data control, sharing and type checking explain concepts and ethods of run-tie storage anageent design and ipleent algoriths using a finite state autoata use a table-drive parser as a progra shell explain the coponents and their interactions of a language translation syste explain odels of prograing language seantics build software using current prograing paradigs explain parallel prograing language features 0 prl Ioleentinsz al~oriths ipleent an algorith SE se se se se se se se7 se se9 se0 sell se se se se Particioatin~ in the ransze of the oroble solvinsz orocess build an application using proble solving concepts explain the software developent process write software requireents and specify a software product build a software product using the design paradigs for large software systes explain software verification and validation use application software to integrate several inforation sources build an application fro reusable coponents ipleent an algorith using a tool that supports reuse use coercial products that support software design design and build a reusable coponent use project planning, tracking and anageent techniques participate in a group design project build a software product using various design paradigs and tools build an inforation syste design using a CASE tool analyze several design solutions Sp sp sp sp Behaving in a professional and ethical anner explain goals of ethods of coputing professionals explain social and ethical responsibilities of coputing professionals explain the risks and liabilities in arketing a coputing application exnlain the ain fors of intellectual OrOOeI tv