New Models for Computing Education - IEEE Xplore

1 downloads 0 Views 196KB Size Report
1 John Impagliazzo, Department of Computer Science, Hofstra University and ... 2 Andrew McGettrick, Computer Science Department, University of Strathclyde, ...
Session F3H

New Models for Computing Education John Impagliazzo1 and Andrew D. McGettrick2 Abstract - The motivation for this work stems from the falling enrollments in the computing discipline and the subsequent challenge to present the study of computing in a manner that is attractive to a wider range of potential students. This paper seeks to capture a new notion of “curriculum models” and to draw attention to the range of possible approaches programs might adopt. This paper addresses issues that may underpin some of this transformational process. It mentions some of the underlying assumptions regarding the situation and explores the affect of curricula reports in computer science, computer engineering, information systems, information technology, and software engineering as published by ACM and the Computer Society of IEEE. (Both authors have co-authored some of these documents.) From these reports, the paper explores the framework of new curricula models based on broad strategies for creating or developing a curriculum from organization and orientation points of view. Considerations for these new models would include not only topic areas, but also contrasts between traditional and novel approaches. While the paper addresses some structural models, it also explores integrative approaches such as absorption and separatist models as well as modular frameworks and negotiated programs. This topic is very timely and appropriate given the current crisis facing computing education today. Index Terms – Curricula models, computing education, computing curricula, innovative models BACKGROUND Currently, there is much discussion and debate regarding new models for computer education. The underlying assumption is that the current models are not effective and the evidence for this lies in falling enrollments and poor progression rates within computing courses. The National Science Foundation (NSF) has formally recognized this situation by launching its CISE Pathways to Revitalized Undergraduate Computing Education (CPATH) initiative. NSF describes its concern as follows: “… undergraduate computing education has been highly heterogeneous, and has suffered from a lack of recognized leaders…” CPATH aims to transform computer education. Considerations for these new models would include not only topic areas, but also contrasts between traditional and novel approaches. While the paper addresses some structural 1 2

models, it also explores integrative approaches such as absorption and separatist models as well as modular frameworks and negotiated programs. This paper considers some aspects that may underpin some of this transformational process ASSUMPTIONS In looking at model curricula, we can assume that the basic unit of exchange is the module. Of course, modules can themselves vary dramatically. Teachers can deliver them by teams of lecturers, even from different departments. They can involve theory, practice, project work, teamwork, industry experience, and other academic activities. We can assume that the concept of a model is independent of subject matter is not about specific subject matter. Thus in some sense, it should be independent of whether we are talking about a program of study on computer engineering (CE), computer science (CS), on software engineering (SE), on information systems (IS), on security, or other related topics. In some sense, the concept of model ought to be orthogonal to the particular choice of sub-discipline. An implication is that different models should be applicable to SE or to CS or to CE or whatever. For each of these there is agreement about the body of knowledge. An extensive collection of computing curricula reports appear at the ACM or the IEEE Computer Society websites. Every program of study should address the various ways of thinking and the skills and knowledge needed to deliver or facilitate the learning of knowledge. Unfortunately, this extra dimension of way of thinking and learning do not appear in these reports with earnest, and where they do, the in the reports. By new curriculum models, we mean broad strategies for creating or developing a curriculum. Beyond the notion of subject matter and knowledge base, there would appear to be at least three different interpretations of the word ‘model’ in this context. We address these models as follows. • Models based on discipline considerations: we shall call them discipline models. • Models based on the orientation of the curriculum: we shall refer to this as an orientation model • Models that address the way in which one organizes the curriculum: we shall refer to these as an organizational models In looking at these models we shall separate out models that involve study from a number of different disciplines; we describe these as integrative and consider them separately. It

John Impagliazzo, Department of Computer Science, Hofstra University and Qatar University, [email protected] Andrew McGettrick, Computer Science Department, University of Strathclyde, [email protected]

1-4244-1084-3/07/$25.00 ©2007 IEEE October 10 – 13, 2007, Milwaukee, WI 37th ASEE/IEEE Frontiers in Education Conference F3H-11

Session F3H is important to generate new models. We need to find new ways of teaching so we can effectively address current issues. Indeed, this approach will create and new but necessary debate. Building computational thinking, for instance, into computing education is important and exciting but not of itself a model. See [1]. COMPUTING MODEL CONSIDERATIONS The concept of model is somewhat vague. We shall interpret the term to imply a general principle that helps in defining and shaping the curriculum in some fundamental way. I. Discipline Models Within computing, there exists a variety of topic areas and these serve to capture in some brief form the nature of the content. Some examples might include: computer science, software engineering, information systems, artificial intelligence, entertainment and games computing, human computer interaction, embedded systems, ubiquitous and mobile systems, e-learning, computer modeling and simulation, computer communications, and information technology. Within the spectrum of programs, it is possible to see the curriculum addressing particular aspects of the discipline. In particular there is, therefore, hardware and a system on a chip; building computer systems; systems software; applicationslevel computing where there is a need to understand users and extracting needs; information technology and related topic dealing with service science. Joint degrees are also possibilities. So where within that spectrum is the focus of study? That is an important question. There are issues here about the balance in the curriculum since most curricula are likely to include aspects of each. II. Orientation Models We already know about breadth-first approach, the depth-first approach, the algorithms-first approach, and a host of other approaches. In addition, we also know about vocational, academic, work experience, and other experiences. A review of possibilities follows. Typical computing programs of study today have changed very little over the years and decades while the computing field has evolved and transformed itself many times over. Yes, the programming languages we taught (FORTRAN, PL/1, Pascal, C, C++, etc.) have changed. We can even find seemingly innovative courses (e.g. network security, RFID technology, software project management) in isolated cases offered as electives, tracks of study, or even full programs. Such experiences sometimes appear because of faculty interest, industry interest, or simply to stimulate the relevant domain of knowledge. III. Organizational Models Notwithstanding these exceptions, the vast majority of computing programs today have not progressed with the rapid

changes in the field. For example, in computer science, the ACM computing curricula recommendations from 1978 (Curricula ‘78) can still be found in many programs of study worldwide. We can recite this from thirty years of memory such as programming 1 and 2, data structures, computer organization and architecture, computer theory, operating systems, programming languages, and other similar courses. Are we doing our students an injustice? Have we cheated them by not keeping pace with the field? Some computer scientists claim that these topics and courses are the foundation of the field. We claim that it is time to think beyond the bounds of our own learning and to consider new ways of learning computing. NEW APPROACHES TO COMPUTING We present here some possible alternatives to what one would consider a currently normal curriculum approach found in most computing programs worldwide. Some of these new approaches to learning are tested alternatives to the learning of computer science. 1.

Traditional based: May include a variety of approaches such as breadth-first, depth-first, algorithms-first, objectsfirst, objects-last (late). We may characterize these as specific cases of using programming as an introductory vehicle of study. See CC2001 for other examples.

2.

Theory based: May include theoretical areas such as mathematics, biology, chemistry, or physics as well as mixed approaches such as biochemistry or nuclear chemistry. Importantly it should also include computing itself which has an important theoretical dimension and underpinning.

3.

Project based: Follows problem-based learning with an industry focus; fosters innovation, entrepreneurial, or principles-based learning. Certain curricula lend themselves to taking an innovation approach toward learning. Such innovations lend themselves to other approaches where projects form the foundation to learning.

4.

Software Engineering based: By using some of the elements from software engineering such as requirements and modeling, one could approach the learning of computing by using some pragmatic elements considered fundamental to courses in the area. See [2]. There is a range of possibilities here, for instance, using industry standards and even using devices such as CMMI to guide the curriculum.

5.

Threads based: One can develop different patterns of learning computing such as audio, video, hypertext, and multimedia where each pattern forms a thread and learning to integrate these threads forms innovative ways

1-4244-1084-3/07/$25.00 ©2007 IEEE October 10 – 13, 2007, Milwaukee, WI 37th ASEE/IEEE Frontiers in Education Conference F3H-12

Session F3H of learning. Georgia Tech has been successful in piloting such a method. See [3] 6.

7.

8.

9.

Reverse based: One can think of this approach, students early on study broad concepts and over time, begin learning more and more details. The University of Indiana has explored such models to capture students’ imagination early in their studies of computer science. Context based: A recent approach to computer learning is placing the teaching of computing within a particular context, ideally one that holds considerable appeal for the student body such as for instance, using games. With this method, students gain exposure to a variety of games such as Packman or Ticktacktoe, which motivate their logical and inquisitive processes to motivate them in learning more about computing. Other possible contexts include robotics, multimedia, security, safety, and so on. This approach may involve combinations of some of the learning methods already mentioned. Innovation based: This approach is rather open ended and based mostly on the initiatives of a program or professors teaching within the program. This approach requires risk takers who think “out-of-the-box” in many ways. It could involve such things as entrepreneurial activities. See [4]. A key observation here is that the received wisdom suggests that innovation is best taught in some context. The concepts then become less abstract and so more tractable to students. New Technology based: This approach seeks to use the latest and cutting-edge technology to excite students in modern technological advances with the hope to capture their imagination and involve them quickly in the study of computing.

10. Inverted Curriculum based: This approach relates closely to the reversed-based approach mentioned above. In this case, the curriculum begins with advanced concepts (courses) that ultimately lead to detailed concepts usually found in earlier courses. 11. Principles based: This approach first seeks to define the basic principles for the targeted discipline. This may not be an easy task, as opinions would vary. Nonetheless, this approach can be very useful because it targets locally the areas upon which a one can develop a program or curriculum. See the article by Denning [5] for more information. 12. Non-programming based: Recent discussions in different circles have suggested the possibility of studying computing without an infusion of programming; that is, programming is a secondary or tertiary concern in the study of computing, including computer science. As one might expect, the suggestion has raised some controversy.

In this case, the underlying belief is that computing is not programming. The view here is that programming is a tool, not a philosophical method of learning. While some people need to program, programming is not the ultimate goal. An analogy might be that one need not be a welder or a carpenter to be a civil engineer. In practice curricula are often assembled using an amalgam of such approaches. So, for instance, approaches based on innovation and context naturally complement one another. In all of them it would be expected that the ideas of computational thinking are present. See [1]. COMPUTING LEARNING MODELS Many underlying themes can lead to innovative learning. For example, structure, design, and the relationship between them could create an innovative curriculum, as would other themes such as reuse, tools, and libraries. Particular aspects of this approach such as fault tolerance as seen in error correcting codes can lead to interesting experiences for student learning, as would exception handling in data representation. Other areas could include process and life cycle issues. This theme could lead to other important areas such as caching and associated localization and sharing distributed resources,. I. Structural Models A. Model Considerations The existence of a portfolio approach to degree programs, often dictates the structure of programs of study, which is a system designed to guard against wide fluctuations in student numbers in one particular area. Using the portfolio approach, the intention is to offset declining numbers in one area by increased numbers in another. It is then highly desirable to try to offer the portfolio in an efficient manner. One example of this is to provide students with a general first year of study to motivate them and to engage them in computing. While there are merits in this for four-year degree programs, there would seem to be some disadvantages for three-year programs since there would be limits on the depth one achieve during the second and third years of study. Another example might be to have all computing students engage in a common first year program. This would allow students to make an informed choice of specialization in later years based on their interests and abilities. As with the previous example, this approach has its limitation in three-year programs because by necessity, the first year of study would have to be an overview. Associated with programs of study there will be electives. These provide an opportunity for students to explore an area of interest; one aspect of this is to allow the student to study topics which are complementary to their study of computing. Included here might be aspects of psychology, management, accountancy, engineering, biology, and neuroscience.

1-4244-1084-3/07/$25.00 ©2007 IEEE October 10 – 13, 2007, Milwaukee, WI 37th ASEE/IEEE Frontiers in Education Conference F3H-13

Session F3H B. Integrative Models These models seek to address programs where we enhance the study of computing by including a different discipline. This approach goes beyond the common notion of electives that we often provide to allow students to explore new avenues of study. The matter of making available certain electives can be a strategic decision, as we can use it to point students towards particular application areas, particular complementary areas of study. The integrative approach is rather radical in that it infuses new areas in learning that would otherwise achieve little attention. One can implement integrative models in different ways. We now provide some suggestions to make such models useful and stimulating. Absorption Model In this model, we absorb within one discipline some aspects of another discipline. We have already witnesses this approach to some extent when we provide learning experiences such as mathematics for computing, biological studies for computing, computing entrepreneurship, and project management. These experiences, however, are often of an elective nature and do not contain the depth needed to acquire maturity and understanding. Separatist Model In some sense, the separatist model is the antithesis of the absorption model. In this case, we ask students to break from the normal mold of study and engage in new related experiences. Here, one can envision many possibilities. For example, a program may require students to study a year abroad or spend a year in industry. For example, Georgia Tech and Worchester Polytechnic Institute require all students to spend at least one semester in a work-study or internship program. Schemes such as this allow students to separate themselves from the home department in search for new experiences. These approaches are not easy as they involve careful planning and relationships with the industrial, business, and government communities. Modular Frameworks Modular frameworks are processes that allow different disciplines to come together and in doing so, have common efforts and goals. Therefore, “with-degrees” tend to include a one-third, two-thirds division of effort between disciplines; in contrast, “and-degrees” suggest a half-and-half approach between the two disciplines. The U.S. concept of minors and majors for computing specialists is similar to this idea. The concept of threads (mentioned earlier) is a variation to the above approach. Under this regime, we divide the curriculum into several threads where a thread becomes a set of modules that build on one another and which remain current together. The idea is similar to taking a slice in programming oriented program. A student’s curriculum is typically composed of a set of these threads. The concept is particularly relevant in a fast changing discipline like computing that requires regular

revisions of the curriculum. Ideally, the task of review and revision should be massively reduced by just dealing with these threads, where computing faculty and package them in a curriculum that suits the needs of the students and their respective departments. The Complementary Curriculum Transferable skills and other additional skills are important. These typically include such matters as • Communication skills – presentational, extracting requirements, etc. • Inter-personal skills – which include teamwork (and recognizing the different kinds of team as well as the different roles within a team), etc. • Computer and information fluency – which includes information retrieval skills, expertise, as well as numeracy. • Time management – managing one’s own learning and appreciating the need for life-long learning and the mechanisms for achieving it. These aspects will feature heavily in curriculum design, and include electronic means as well as the more traditional approaches. The mention of information fluency is intended to include library and related skills; increasingly students appeal to the web for references and this is intended to address the many issues associated with gaining access to high quality material and producing high quality work in response. For those involved in computing, increasingly additional domain knowledge is an important consideration. This knowledge and understanding of practices in other domains provides students with a context in which they can claim proficiency and can therefore apply their computing skills meaningfully and effectively. That often requires sustained study, perhaps involving one or more continuing courses. Such is the importance of these matters that attention should be given to the proper structuring and organization of these various additional aspects of education. They should be well structured, there should be appropriate learning outcomes, they should be properly integrated into the main curriculum, and they should exhibit traits of progression, and so on. Attention to proper assessment and to other aspects of quality is desirable. These ideas are sometimes captured in the concept of the concept of the complementary curriculum, a description that captures the need to define it carefully and integrate it into the overall curriculum. In the context of computing there are some subtleties here. It is too easy to just talk about computer and information fluency, for instance. But that needs to be defined with some care. The idea that it incorporates such activities as animation involving three-dimensional computer graphics in a PowerPoint presentation seems over-ambitious. In the main course of study, these skills typically need integrating and interwoven with the topics of the main program of study, and those of any partner discipline.

1-4244-1084-3/07/$25.00 ©2007 IEEE October 10 – 13, 2007, Milwaukee, WI 37th ASEE/IEEE Frontiers in Education Conference F3H-14

Session F3H C. Negotiated Programs Within this possibility, a student selects a program of study; of his or her own choice negotiated within certain parameters. To make this work properly, academic units must provide a high degree of flexibility with a minimal prerequisite structure. Likewise, students must have developed a high degree of maturity and self-confidence to be able to construct a program of study to their liking. This program is rather idealistic; however, with proper implementation, it can provide students with a high level of learning. Whether one uses structural models, integrated models, or negotiated programs, it is very desirable to see a high level of genuinely joint activities so that the student can see the benefit of the connection and the benefits of the coming together of different disciplines. While these thoughts are applicable to a variety of (non-computing) disciplines, it is particularly important the computing disciplines seek new opportunities and try innovative ways of learning during this time of flux in light of declining and unstable enrollments in the filed. CONSIDERATION OF MODELS It seems important to have certain criteria that can guide us through this maze of new opportunities for learning (and teaching). By combining some of the suggested opportunities, numerous possibilities exist, each potentially being relevant to an individual program or institutional locale. Therefore, to maintain a balance of understanding, one would expect to find certain parameters to facilitate student transfers and other practical considerations before embarking on new learning highways. The following suggestions should be part of any nontraditional learning approach. Typically, one would expect to see: • A set of program aims and objectives • Program design addressing these aims and objectives • Benchmarking standards Let us address each of these individually. First, all programs should have clearly defined program aims and objectives. These objectives identify the character of the program and ideally, no two programs should have the same aims or objectives. For any set of program aims and objectives, we must first define and derive them systematically from discussion and debate with various stakeholders and constituents. That is, they must reflect the needs of the employers, the needs of the student, and the needs of the geographic and learning communities. These aims and objectives should be quantifiable (or measurable) and not be vague statements lacking foundation or purpose. Second, program design and the design of the experiences and courses making up the program must address the aims and objectives mentioned above. Many dynamics play into this consideration. For example, one must take into account faculty expertise. A program cannot have high-level aims and objectives if the members of the faculty cannot deliver course

at a level to act as a foundation for those objectives. In addition, it is also important to consider the student motivation. Having high-level aims and objectives, having a strong faculty to deliver the courses to achieve those aims and objectives, but having a weak student body, cannot produce the desired effect. Therefore, it is important to achieve a proper balance and perspective when designing programs. Lastly, when designing programs, it is important to pay attention to any benchmarking or criteria standards related to the discipline. These benchmarks take on various forms. Governmental legislature may require minimal standards and qualifications for a program to exist. Accrediting agencies, whether governmental, regional, or program specific, may require minimal standards or frameworks, for a program to attain accreditation status. Attaining such a status implies that a program has conformed to benchmarks or standards. related to the specific program. CONCLUSIONS Program design is not easy. It is not just a collection of courses. In computing, where in some instances enrollments have reached a critical state, the considerations above become even more important. Therefore, it behooves all computing educators to take stock of their circumstance and to generate effective computing programs that meet the current needs of students and the stakeholders of the programs. The previous discussion has suggested alternative models and new approaches to develop exciting and relevant computing programs. We should not view the models, approaches, and strategies described as mutually exclusive. Indeed, applying these in combination would appear to offer some highly beneficial effects. Additionally, we hope that this discussion leads to a new awakening and a call for action. Educators should drop past traditions and adapt to new methods and approaches to learning. Repeating what we learned in the past is no longer a valid strategy because the principles we once cherished may no longer applicable to new technologies. For example, consider the cherished course in compiling. A student can learn much from a compiler course. As worthy as this may be, we should ask ourselves, is a compiler course essential to today’s curriculum? Do students really need to learn about compilers? How many compiler jobs do we need today anyway? We can say make similar arguments for other courses such as computer theory, operating systems, and other sacred topics. It is time to think outside of the box. It is time to challenge ourselves as educators to produce a computing curriculum that is responsive to today’s needs. We do not imply that we must reduce the computing curriculum as a step to train for industry. At the same time, we must present a curriculum that is responsive and exciting to students where we transform rather than sacrifice the basic principles of computing. The CPATH project at NSF asks educators to look beyond the current boundaries; this is not a coincidence. It asks that we transform the way we teach our computing

1-4244-1084-3/07/$25.00 ©2007 IEEE October 10 – 13, 2007, Milwaukee, WI 37th ASEE/IEEE Frontiers in Education Conference F3H-15

Session F3H courses and to develop innovative ways to make the study of computing an exciting learning experience. As educators, should we not be doing that anyway? ACKNOWLEDGMENT The authors wish to express their appreciation to a variety of colleagues on the ACM and Computer Society working groups who have shared many of the discussions about curricula issues. REFERENCES [1] Wing, Jeannette M. “Computational Thinking”, Communications of the ACM, 49, 3, 2006, pp 33-35.

[2] “Software Engineering 2004: Curriculum guidelines for undergraduate degree programs in software engineering, a volume of the Computing Curricula Series”, copyright ACM and IEEE, published by the IEEE Computer Society, 2006 [3] Furst, M., Isbell, C., Guzdial, M. “THREADS: How to restructure a computer science curriculum for a flat world”, Proceedings of the Thirty-Eighth SIGCSE Technical Symposium on Computer Science Education, March 7 -10, 2007, pp 420-424 [4] Denning, Peter J., and McGettrick, Andrew “Recentering Computer Science”, Communications of the ACM, 48, 11, November, 2005, pp 15-19 [5] Denning, Peter J. “Great Principles of Computing”, Communications of the ACM, 46, 11, November, 2003, pp 15-20.

1-4244-1084-3/07/$25.00 ©2007 IEEE October 10 – 13, 2007, Milwaukee, WI 37th ASEE/IEEE Frontiers in Education Conference F3H-16