Concurrent Computing Research Group
Department of Computer Science
Michigan Technological University

ThreadMentor Public Version

ThreadMentor public version is available. Currently, this distribution only includes libraries without source code. Click here for the details.

Current work in concurrent programming pedagogy involves the development of software tools and course materials for teach concurrent programming to computer science undergraduates. The software tools will abstract away low-level parallel programming details and put all important concurrent operations under a single and unified interface. Furthermore, these tools will include a visualization component to help students visualize the behavior of concurrent programs, and the inner working of synchronization protocols, communication mechanisms, clock synchronization, and many other algorithms. The course materials will be flexible and cover multithreaded, multiprocess, shared-memory and distributed-memory programming under a few common principles (e.g., concurrence and nondeterminism).

Current Faculty Members:

Dr. Steve Carr
Dr. Jean Mayo
Dr. Ching-Kuang Shene

Current Graduate Students:

Visualization work has been integrated into the Computer Graphics, Visualization and Geometric Computing Group

Former Graduate Students:

Michael Bedy
Ping Chen
Changpeng Fang
Xianglong Huang
Xinhua Huang
Timothy R. Jozwowski
Zheng Tan

Related Course Material:

CS3331 Concurrent Computing    (New CS required course dedicated to elelementary concurrent computing)
CS4411 Introduction to Operating Systems
Multithreaded Programming with ThreadMentor: A Tutorial
ThreadMentor FAQ Page

Publications:

  1. Steve Carr, Jean Mayo and Ching-Kuang Shene,
    ThreadMentor: A Pedagogical Tool for Multithreaded Programming,
    ACM Journal on Educational Resourses in Computing,
    Vol. 3, Issue 1, March 2003.
    Access this paper via ACM Portal
  2. Steve Carr, Changpeng Fang, Timothy R. Jozwowski, Jean Mayo, and Ching-Kuang Shene,
    ConcurrentMentor: A Visualization System for Distributed Programming Education,
    The 2003 International Conference on Parallel and Distributed Processing Techniques and Applications, Las Vegas, Nevada, June 23-26, 2003, pp. 1676-1682.
    Download PDF File
  3. Ching-Kuang Shene,
    Multithreaded Programming Can Strengthen an Operating Systems Course,
    Computer Science Education Journal, Vol. 12 (2002), No. 4 (December), pp. 275-299.
    Download PDF File
  4. Steve Carr, Ping Chen, Timothy R. Jozwowski, Jean Mayo, and Ching-Kuang Shene,
    Channels, Visualization, and Topology Editor,
    ACM 7th ITiCSE 2002 Conference, University of Aarhus, Denmark, June 24-26, 2002, pp. 106-110.
    Download PDF File
  5. Steve Carr, Changpeng Fang, Tim Jozwowski, Jean Mayo and Ching-Kuang Shene,
    A Communication Library to Support Concurrent Programming Courses,
    ACM 33rd Annual SIGCSE Technical Symposium, Northern Kentucky, February 27 - March 3, 2002, pp. 360-364.
    Download PDF File
  6. Steve Carr, Jean Mayo and Ching-Kuang Shene,
    Race Conditions: A Case Study,
    The Journal of Computing in Small Colleges, Vol. 17 (2001), No. 1 (October), pp. 88-102.
    Download PDF File
    Download presentation slides (PDF)
  7. Steve Carr and Ching-Kuang Shene,
    A Portable Class Library for Teaching Multithreaded Programming,
    ACM 5th ITiCSE 2000 Conference, University of Helsinki, Finland, July 11-13, 2000, pp. 124-127.
    Download PDF File
  8. Michael Bedy, Steve Carr, Xianglong Huang and Ching-Kuang Shene,
    A Visualization System for Multithreaded Programming,
    ACM 31st Annual SIGCSE Technical Symposium, Austin, Texas, March 8 - 12, 2000, pp. 1-5.
    Download PDF File
  9. Michael Bedy, Steve Carr, Xianglong Huang and Ching-Kuang Shene,
    The Design and Construction of a User-Level Kernel for Teaching Multithreaded Programming,
    29th ASEE/IEEE Frontiers in Education, November 10-13, San Juan, Puerto Rico, Vol. II (1999), pp. (13a3-24)-(13a3-29).
    Download PDF File
  10. Ching-Kuang Shene and Steve Carr,
    The Design of a Multithreaded Programming Course and Its Accompanying Software Tools,
    The Journal of Computing in Small Colleges, Vol. 14 (1998), No. 1 (November), pp. 12 - 24.
    Download PDF File
  11. Ching-Kuang Shene,
    Multithreaded Programming in an Introduction to Operating Systems Course,
    ACM 29th Annual SIGCSE Technical Symposium, Atlanta, Georgia, February 26 - March 1, 1998, pp. 242 - 246.
    Download PDF File

Workshops:

  1. Steve Carr, Jean Mayo and Ching-Kuang Shene,
    Teaching Multithreaded Programming Made Easy,
    • CCSC: MW 2001, September 28-29, 2001.
      The Journal of Computing in Small Colleges, Vol. 17 (2001), No. 1 (October), pp. 156-157.
    • SIGCSE 2002, February 27 - March 3, 2002.
      ACM 33rd Annual SIGCSE Technical Symposium, Northern Kentucky, February 27 - March 3, 2002, p. 420.
    • Download workshop slides (PDF), 5.7MB

Student Work:

  1. Michael Bedy and Xianglong Huang,
    A Thread Visualization System, ACM 30th Annual SIGCSE Technical Symposium, March 24 - March 28, 1999, (graduate student poster)
    Download Compressed PS File

Unpublished Work:

  1. Michael Bedy, Steve Carr, Xianglong Huang and Ching-Kuang Shene,
    A Class Library for Multithreaded Programming,
    August 1999
    Download Compressed PS (ps.gz) File

Acknowledgments

This project and its accompanying software tools development are supported by the National Science Foundation under grant numbers DUE-9752244 and DUE-9952509, and by an IBM Eclipse Award.

This page has been accessed  times since September 16, 1998.
Last Update: May 12, 2011