skip to main content
10.1145/611892.611963acmconferencesArticle/Chapter ViewAbstractPublication PagessigcseConference Proceedingsconference-collections
Article

Using remote logging for teaching concurrency

Published:11 January 2003Publication History

ABSTRACT

Students often have difficulty visualizing, understanding and debugging concurrent programs. Programming assignments involving concurrency are also difficult to grade. The output alone is not sufficient because the print statements from cooperating threads or processes can interfere with each other and garble the results. The remote logging tool described here allows multiple processes or threads to atomically log messages to a local or remote host. Different views of the messages are available in real time through a graphical user interface (GUI). The tool consists of two parts, a library for adding logging commands to a user program and a GUI for presenting different views of the logged messages. A separate logging library is needed for each programming language (e.g., C, C++, Java), but a single GUI works with all of these. A C logging library and a general GUI are available on the web.

References

  1. Atkin, B. and Sirer, E. G., "PortOS: an educational operating system for the Post-PC environment," Proc. 33rd SIGCSE Technical Symposium on Computer Science Education, 2002, pp. 116--120. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Barros, J. P.,"Advance CS courses: Specific proposals for the use of petri nets in a concurrent programming course," Proc. 7th Annual Conference on Innovation and Technology in Computer Science Education, 2002, pp. 165--167. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Carr, S., Feng, T. J., Mayo, J. and Ching-Kuang, S., "A communication library to support concurrent programming courses," Proc. 33rd SIGCSE Technical Symposium on Computer Science Education, 2002, pp. 360--364. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Exton, C.,"Elucidate: A tool to aid comprehension of concurrent object oriented execution," Proc. 5th Annual SIGCSE/SIGQUE conference on Innovation and Technology in Computer Science Education, 2000, pp. 33--36. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Holland, D. A., Lim, A. T. and Seltzer, M. I., "A new instructional operating system," Proc. 33rd SIGCSE Technical Symposium on Computer Science Education, 2002, pp. 111--115. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. McDonald, C. and Kazemi, K., "Teaching parallel algorithm with process topologies," Proc. 32rd SIGCSE Technical Symposium on Computer Science Education, 2001, pp. 70--74. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Robbins, S., "Exploration of process interaction in operating systems: a pipe-fork simulator," Proc. 33rd SIGCSE Technical Symposium on Computer Science Education, 2002, pp. 351--355. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Robbins, K. and Robbins, S., Practical UNIX Programming, A Guide to Concurrency, Communication, and Multithreading, Prentice Hall, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Robbins, S., "Remote logging in Java using Jeli: A facility to enhance development of accessible educational software," Proc. 31st SIGCSE Technical Symposium on Computer Science Education, 2000, pp. 114--118. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Robbins, S., Logging Facility, 2002. Online. Internet. Available WWW: http://vip.cs.utsa.edu/nsf/logging/Google ScholarGoogle Scholar

Index Terms

  1. Using remote logging for teaching concurrency

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      SIGCSE '03: Proceedings of the 34th SIGCSE technical symposium on Computer science education
      February 2003
      444 pages
      ISBN:158113648X
      DOI:10.1145/611892

      Copyright © 2003 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 11 January 2003

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • Article

      Acceptance Rates

      Overall Acceptance Rate1,595of4,542submissions,35%

      Upcoming Conference

      SIGCSE Virtual 2024

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader