Software
- DLUnit
- KielceRB
- MIPSUnit
- Zawilinski
- JLSCircuitTester (replaced by DLUnit)
DLUnit
DLUnit
is a JUnit
-based unit testing
framework for simulated digital logic circuits. Specifically, it allows students to write JUnit tests for
circuits they build using either the JLS
and Logisim digital logic simulators.
KielceRB
KielceRB
is a highly customizable templating engine for
generating assignments, syllabi, web pages and other course
documents. It loads a hierarchy of key-value pairs from files at
various file system levels. These values can then be inserted into
documents using Ruby's ERB templating engine. KielceRB simplifies
the maintenance of course documents by moving data that changes
regularly into external data files where they can be easily
identified and updated. By loading data from various file system
levels, it is easy to share values among all documents for a
particular course and/or semester.
KielceRB
also provides methods for including one
document inside another allowing users to easily share common
content among several pages (navigation bars, contact information,
assignment headers, etc.).
For more details, see the project's GitHub page.
To download/install, you can either
- install the Ruby gem
kielce
(i.e., rungem install kielce
), or - download the source from GitHub and run it from there.
MIPSUnit
MIPSUnit is a suite of two unit testing frameworks for MIPS assembly:
- MIPSUnit::MSpec is an
RSpec
-inspired testing framework, and - MIPSUnit::MUnit is a
JUnit
-based testing framework.
Each framework has its own strengths and weaknesses (see the individual pages for details); but, at a high level:
- We expect students will be more comfortable writing
MUnit
tests, because far more students have used Java and JUnit than Ruby and RSpec; however, - we find it much easier to concisely write thorough/exhaustive tests using
MSpec
.MSpec
also produces a stand-alone assembly file containing the tests. Thus, students need not every useMSpec
directly.
More details about MSpec
.
More details about MUnit
.
Zawilinski
Zawilinski
is a Java library designed specifically to
simplify the extraction of data from Wiktionary entries; more
generally, it simplifies the process of loading and filtering
MediaWiki XML dumps so that the resulting document object tree is
of manageable size (i.e., small enough so that generating and
accessing the object tree doesn't cause a typical desktop computer
to "thrash").
One main advantage of Zawilinski
over other libraries
for analyzing MediaWiki content is that it uses tools and techniques
that would be familiar to many CS 1 and CS 2 students. For example,
many other tools require a database, which may be intimidating for
undergraduates who have limited systems administration experience.
Details
Documentation
Download (Version 1.1.0)
JLSCircuitTester
JLSCircuitTester is an extension to the JLS digital logic simulator that allows users to automatically test circuits (including CPUs) constructed using JLS. It has been replaced by DLUnit, which has more features and is easier to use.- Practical Uses
- Greatly simplifies the grading of digital logic simulator-based assignments.
- Pedagogical Uses
-
- Encourages students to more thoroughly test their circuits by simplifying the generation and running of tests.
- Provides a framework with which students can be shown testing in a non-programming context. (In other words, instructors can use JLSCircuitTester to show students that the same principles they learn to test their code can be applied to other things.)
- Publications
-
- D. Poplawski, Z. Kurmas. "JLS/JLSCircuitTester: A Comprehensive Logic Design and Simulation Tool." 8th Koli Calling International Conference On Computing Education Research, November 2008.
- Z. Kurmas. Improving student performance using automated testing of simulated digital logic circuits. Proceedings of the 13th annual conference on Innovation and technology in computer science education (ITiCSE 2008), July 2008.
- Z. Kurmas. Automated Testing of Simulated Digital Circuits and CPUs. Poster presented at SIGCSE 2008.
Updated Monday, 27 May 2024, 7:39 PM