The design and construction of a user-level kernel for teaching multithreaded programming | IEEE Conference Publication | IEEE Xplore