ACMCrossroads / Xrds10-4 / Introduction

Article Glyph

Introduction

by William Stevenson

As a field, Computer Science is rapidly evolving. New paradigms, tools, and techniques continuously emerge, and pedagogical approaches are in a constant state of flux. These facts put a great deal of pressure on the area of Computer Science Education, the field dedicated to assuring that Computer Science students receive the best education possible. Not only must new and better materials be developed to support the evolving field: new practices for teaching the various parts of the field must be incorporated into the curriculum.

Discussion of pedagogical issues permeates all levels of education. At the graduate level, ideas such as satisfying industry demand for highly trained students and the desire that new university faculty be competent as instructors abound. At the undergraduate level, a balance must be struck between the pressures of research and teaching, and faculty must have a current notion of what is needed in industry. Theoretical topics must be given practical applications, and programs must be made appetizing for non-majors. Further, the notion that universities may be needed for part-time and evening professional education must be addressed.

Computer Science Education is even relevant at the K-12 level. Issues include the need for a relatively standardized curriculum, the desire for better mechanisms for training teachers in Computer Science principles, and ways to keep teachers up to date on changes in the field. The "digital divide" between the "haves" and the "have-nots" of technology must be addressed, and communication between college-level and pre-college educators should take place to assure optimal use of class time.

In this issue of Crossroads, we run the gamut of topics in Computer Science Education. We start off with our "Day in the Life of..." column in which we interviewed the eminent textbook author William Stallings. Stallings explains what got him interested in being a writer, and how it connects to his constantly staying abreast of ideas in the field of Computer Science Education.

Our first feature article, "Mixed Nuts: Atypical Classroom Techniques for Computer Science Courses" by Sid Stamm takes us inside the classrooms of college teachers engaged in research of instructional techniques. Here, a standard lecture-style class is used as a control group, and the experimental class is presented with innovative teaching methods. The results of his study shed light on why Computer Science Education is such a difficult and rewarding topic of research.

Next, in her article "Requirements Engineering: Closing the Gap Between Academic Supply and Industry Demand," Kristina Winbladh explains why the rapid evolution of the information technology industry suggests that substantial changes are needed in the way that Computer Science is taught. In particular, she asserts that there is a weakness in the teaching of Software Engineering wherein it is either not taught at all or students do not get a good feel for how to elicit design requirements from a customer. This weakness accounts for much of the criticism that universities receive about the students they graduate into the field.

Finally, Mark Cohen discusses a instructional tool used to teach students to program to an interface, rather than an explicit implementation in his article "The Development of a Game Playing Framework Using Interface-based Programming." An interface is a model or contract that a programmer can code to when implementing a class, which allows for a great degree of implementation independence. Due to its object-oriented features, Java is a good tool for constructing interface-based frameworks, and Cohen's use of a game playing application framework is one that students should be easily able to relate with.

Because there are so many interesting topics in Computer Science Education, and yet limited print-space, we provide additional special online features on the Crossroads website at http://www.acm.org/crossroads. Visit us to read "Using Practical Toys, Modified for Technical Learning," an article on tools for K-12 education by Tracey Weisheit and an article on the choice of implementation language entitled "What is a Good First Programming Language?" by Diwaker Gupta.


Biography
William Stevenson (billstevenson@acm.org, http://www.billstevenson.org) is a Ph.D. student at the School of Information Science and Technology at the Pennsylvania State University, where holds a Master's degree in Computer Science and Engineering. Bill's main research interests are in Cognitive Science and high-performance scientific computing. In his spare time, Bill enjoys cooking, the outdoors, and playing with his new G5. He has served as Editor in Chief of Crossroads since July 2001.

Copyright 2009, The Association for Computing Machinery, Inc.