EvOwl is a peer code review tool that is tailored towards software engineering courses that use large-scale, long-term projects. It enables instructors to create code review assignments that consist of four tasks: an initial self-evaluation, one or more training exercises, one or more peer code reviews, and a final self-evaluation. Each training exercise and peer code review is pairwise. EvOwl guides students through a methodical approach to code review by asking them to interactively evaluate metrics related to each of the programs that they're reviewing. EvOwl is described in our forthcoming paper. The code for the student-facing web application can be foundat https://github.com/rice-cs-edutools/evowl, and the code for the instructor tool that is used to configure assignments can be found at https://github.com/rice-cs-edutools/evowl-instructor-tool.
MemStep is a web-based tool designed to teach students about the run-time layout of memory in Java. It guides students through the process of simulating the execution of Java programs by requiring them to specify the memory operations that are performed on each line of code. This original version of MemStep is described in detail in our paper. You can access the free version of MemStep at https://tools.owltest.org/memstep.
MemStep-GC is an extended version of MemStep that includes support for teaching garbage collection. Specifically, it can be configured to assume that one of three garbage collections is being used during the execution of the program: reference counting, mark-sweep, or mark-compact. MemStep-GC is described in detail in our paper. You can access the free version of MemStep-GC at https://tools.owltest.org/memstep-gc.
Testception is a tool that generates interactive exercises for teaching software testing to introductory students. Students submit test cases to the system, which uses a large corpus of buggy programs to evaluate these test cases. Students then receive automatic feedback in the form of of buggy programs that their tests failed to catch, enabling them to reason about the deficiencies in their test suite. Testception is described in detail in our paper, and you can find its source code at https://github.com/rice-cs-edutools/testception.