253 research outputs found

    Teaching Concurrent Software Design: A Case Study Using Android

    Full text link
    In this article, we explore various parallel and distributed computing topics from a user-centric software engineering perspective. Specifically, in the context of mobile application development, we study the basic building blocks of interactive applications in the form of events, timers, and asynchronous activities, along with related software modeling, architecture, and design topics.Comment: Submitted to CDER NSF/IEEE-TCPP Curriculum Initiative on Parallel and Distributed Computing - Core Topics for Undergraduate

    The Next Generation of Computational Science and Engineering

    Get PDF
    Editor-in-Chief message

    Your Local Cloud-Enabled Library

    Get PDF
    Libraries are an important onramp for technology. They\u27re known for making books accessible and have been pioneers in database access, but many branches seem to understand that they have a vital cultural role to play, especially when it comes to technology access. Most people in American society presume such access is ubiquitous, even though a substantial percentage of the world population lacks access

    An Exceptionally Useful Exploration

    Get PDF
    A book review for Computing in Science and Engineering by D. Easley and J. Kleinberg, Networks, Crowds, and Markets: Reasoning about a Highly-Connected World, Cambridge Univ. Press, 2010, ISBN: 978-0-521-1953-1, 736 pp

    A Mini-History of Computing

    Get PDF
    This book was produced by George K. Thiruvathukal for the American Institute of Physics to promote interest in the interdisciplinary publication, Computing in Science and Engineering. It accompanied a limited edition set of playing cards that is no longer available (except in PDF). This book features a set of 54 significant computers by era/category, including ancient calculating instruments, pre-electronic mechanical calculators and computers, electronic era computers, and modern computing (minicomputers, maniframes, personal computers, devices, and gaming consoles)

    Gentoo Linux: The Next Generation of Linux

    Get PDF
    One of the reasons scientific programmers love Linux is its less-is-more philosophy. We can configure it to be anything from a desktop replacement with USB port support to a blade in a large SMP compute engine to a powerful Web server. Although Linux\u27s market penetration in these various sectors remains to be seen, plenty of people are pumping resources into the Linux world. In this article, I?ll explain why Gentoo Linux (www.gentoolinux.org) is a good choice for scientists, and how its structure gives us the flexibility and ease of management we need

    Introducing Computing Now

    Get PDF
    One of Computing Now\u27s editorial board members talks about this IEEE Computer Society initiative and all that it has to offer members and nonmembers alike

    Accelerating Learning with Distance Education and Open Courseware

    Get PDF
    What will happen if academia disrupts traditional teaching methods by providing students with online and free academic materials

    The All-Digital Future and Digital CiSE

    Get PDF
    EIC George Thiruvathukal describes the magazine\u27s digital future and the importance of archives--being able to access digital content in the years to come will be an important challenge for both publishers and readers

    Toward Scalable Parallel Software: An Active Object Model and Library to Support von Neumann Languages

    Get PDF
    Scalable parallel processing has been proposed as the technology scientists and engineers can use today to solve the problems of tomorrow. Many computational Grand Challenge problems require between two and three orders of magnitude than can be provided with the scalable parallel hardware of the early nineteen-nineties. While hardware continues to become more scalable and cheaper, software is not advancing at the same pace and remains a very expensive part of systems development. A great deal of emphasis on software technology to support scalable parallel processing is placed on von Neumann languages. One of two approaches is common: (a) augment the von Neumann language with explicit parallel constructs or (b) write super-optimizing compilers to “find” the parallelism in a von Neumann program. These two approaches appear to be useful at some level; however, this paper argues that software constructed using these approaches is not likely to scale very well, because an appropriate level of abstraction is not being used to solve the problem. We propose a simple layered architecture for doing parallel processing. The outer layer is the composition layer. This layer is used from a von Neumann language to encode algorithms using standard building blocks (objects). The middle layer uses objects. These objects exhibit high potential for parallelism. In our application, we focus on multidimensional arrays. At the lowest level, Itinerant Actors is used. Itinerant Actors is an object model developed by Christopher and Thiruvathukal at IIT to support asynchronous message-passing between active objects with a number of other useful ideas
    • …
    corecore