Parallel Computing in the Computer Science Curriculum > Modules > Concurrency and Map-Reduce Strategies in Various Programming Languages

Concurrency and Map-Reduce Strategies in Various Programming Languages

Professor Richard Brown, St. Olaf College

Summary

Parallel computing capabilities are not limited to a certain language; many well-established and widely utilized programming languages currently provide ways to implement concurrency. This concept module explores different ways in which concurrency and parallelism appear in different programming languages. In addition, the module activity explores how one can implement the map-reduce model in several high-level programming languages taught in a CS curriculum, including Scheme, C++, Java, and Python.

Module Characteristics

Languages Supported: Scheme, Python, C++, Java, Any
Relevant Parallel Computing Concepts:
Recommended Teaching Level: Intermediate
Possible Course Use: Programming Languages

Learning Goals

Context for Use

This module is best introduced in an intermediate-level course, particularly for a Programming Languages (or similar) course. The module assumes prior knowledge of map-reduce computing concepts; if students have not yet had experience with this concept, consult the early sections of "Hadoop and Map-reduce Computing." The activity can be used during one or two lecture periods.

Description and Teaching Materials

You can visit the module in your browser:
Concurrency and Map-Reduce Strategies in Various Programming Languages

or you can download the module in either PDF format or latex format.
PDF Format: Concurrency and Map-Reduce Strategies in Various Programming Languages.pdf.
Latex Format: Concurrency and Map-Reduce Strategies in Various Programming Languages.tar.gz.
Word Format: Concurrency and Map-Reduce Strategies in Various Programming Languages.docx.

Map-Reduce Specs (Zip Archive 203kB Jul22 10)

Teaching Notes and Tips

Teaching Notes/Tips to be completed later...

Assessment

Assessment to be completed later...

References and Resources

References and Resources to be completed later...

See more Modules »




Concurrency and Map-Reduce Strategies in Various Programming Languages -- Discussion  

Join the Discussion


Log in to reply