Practical UNIX programming: a guide to concurrency, communication, and multithreading
Practical UNIX programming: a guide to concurrency, communication, and multithreading
Teaching parallel algorithm with process topologies
Proceedings of the thirty-first SIGCSE technical symposium on Computer science education
Proceedings of the thirty-first SIGCSE technical symposium on Computer science education
Elucidate: a tool to aid comprehension of concurrent object oriented execution
Proceedings of the 5th annual SIGCSE/SIGCUE ITiCSEconference on Innovation and technology in computer science education
Specific proposals for the use of petri nets in a concurrent programming course
Proceedings of the 7th annual conference on Innovation and technology in computer science education
A new instructional operating system
SIGCSE '02 Proceedings of the 33rd SIGCSE technical symposium on Computer science education
PortOS: an educational operating system for the Post-PC environment
SIGCSE '02 Proceedings of the 33rd SIGCSE technical symposium on Computer science education
Exploration of process interaction in operating systems: a pipe-fork simulator
SIGCSE '02 Proceedings of the 33rd SIGCSE technical symposium on Computer science education
A communication library to support concurrent programming courses
SIGCSE '02 Proceedings of the 33rd SIGCSE technical symposium on Computer science education
Learning concurrency: evolution of students' understanding of synchronization
International Journal of Human-Computer Studies
Encouraging parallel thinking through explicit coordination modeling
Proceedings of the 42nd ACM technical symposium on Computer science education
Hi-index | 0.00 |
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.