Software development is an art. The most noteworthy computer science monograph of the 2 0 ~ century was, after all, KIUWS "The ~ r t of Computer Programming" ~ ~ : / / ~ ~ ~. ~ e r i c a n ~ c i e n t i S f. 0 r ~ t e m u l a t e / B o o k R e v i e w T v ~ D e ~ ~ ~ s e t i ~ Z 6 5 75;_isessi onid=aaa6UkBHDVJBav [l]. One of the starting points for this column is Knuth's Turing award, a discussion of art in computer science [2]. Art is a word with many meanings. It originally referred to skill of joining or fitting. (Much [too much for we traditionalists] of software creation these days is the art of connecting existing pieces.) The meaning of "art" expanded to the system of principles and rules for attaining a desired end. Art stands in contrast to science, engineering, manufhcturing, and fashion. Science distills knowledge into principles and laws; art recognizes that there are human choices in activities. Combine art with an attention to economy and one gets engineering, like the computer science holy grail of "software engineering." Do something following a well-defined and low-skill plan and one gets rnanufhcturing. Choosing among equivalent possibilities is fashion. Designing a computer is an art. Designing one that people will buy is engineering. Building one from that design is manufacturing. Picking the color for the computer case is fashion. (Art is also a synonym for necromancy, a topic of clear relevance to computer science.) Art also refers to the use of skill to create that which is esthetically or intellectually pleasing. Fine arts show an intellectual progression through the ages, shaped by new technology (e.g., casting, cameras, computers), shifting economic forces (the decline of
Blackboard tracing of algorithms, while an effective tool for the teaching of sequential programming, i s singularly ineffective and confusing when applied to paralle l computing . The use of classroom games to illustrate concepts and pathologies proves to be a useful alternative technique . Games in which students play the role of processors can be used to illustrate simple parallel algorithms as wel l as more complex concepts . Live demonstrations are stimulating for both the participants and the class as a whole . This paper discusses guidelines regarding the developmen t of such exercises and presents several examples . . INTRODUCTIO NOne of the most challenging tasks in the teaching of paralle l computing is that of encouraging students to change thei r way of thinking from a serial mode to a parallel one. Mos t students have not been exposed to parallel computing prio r to taking such a course . As a result, it is the instructor' s responsibility to make special efforts to reshape their intuition . This task is particularly difficult, as the time-honore d technique of hand tracing an algorithm on the blackboard is singularly ineffective and confusing when applied to paralle l algorithms .One technique that works well is to use the students to ac t out simple parallel algorithms . These games enable students to see a parallel computation in action and provide a vehicl e for the instructor to demonstrate key concepts . The exercises are not only enjoyable for the students, but offer a mechanism to stimulate classroom discussion .The purpose of this paper is to provide some motivation and guidance for the use of games in the classroom . We do no t intend to provide formal validation of these techniques . However, it is our opinion that participatory teachin g methods have an important, although restricted role to pla y in computer science education . This view appears to be supported by the experiences of others [JONES ] [BACHELIS] . SIGCSE Vol . 24 No . 3 Sept . 199 2 BULLETINThe paper will first describe guidelines for developin g effective games . Next, sample algorithms will be presente d that are suitable for game-playing. These algorithms have been chosen to demonstrate central parallel paradigms an d pathologies .Examples serve two purposes : They can illustrate the application of basic concepts and techniques, but they can als o demonstrate pathological behavior . The value of examples that illustrate some pathology (e .g., deadlock) or inefficiency (e .g ., poor load distribution) is often underestimated. I n fact, it can be argued that such examples have more impac t on the student than ones that only illustrate basic concepts .We do not intend to suggest that a comprehensive course i n parallel computing should be based on the extensive use o f live demonstrations . However, the judicious introduction o f parallel processing games at an appropriate point in a class can do much to clarify the students' understanding o f unfamiliar concepts . . GUIDELINE STo be effective, classroom demonstrations mu...
YNET is a software package that simulates a computer network and has been used to support an undergraduate course in networking. Access to the simulated network is through a network adapter card modeled by the software. This software runs under a BSD-based UNIX operating system and is used to implement a simplified network that uses the TCP/IP protocol suite.
A network of supercomputers and high-performance workstations appears to be the only reasonable way to provide adequate computing resources for the Grand Challenge problems of the next century. Such a collection of computers and supporting software environments is called a virtual computing environment (VCE). This paper describes the motivation and goals of the VCE project, followed by a description of the system. The paper concentrates on the runtime aspects of the VCE, and concludes with a discussion of a small prototype system that has been built using the Isis distributed toolkit.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.