Zachary Kurmas

dblp:51/109 · also Zack Kurmas · DBLP profile ↗
← Back
14ranked-venue papers
11as first author
3since 2021 · last 2025
0009-0002-2074-2522ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Human-computer interaction and ubiquitous computing · 14 · 11 first-author · 3 since 2021
YearPublicationVenuePosition
2025 PLNQ: Defining Coding Katas Using a Single Jupyter Notebook
abstract
We present PLNQ, a tool that allows users to specify CodingBat-like katas using a single Jupyter notebook (i.e., .ipynb file). Using a Jupyter notebook as input combines the convenience of a single-file kata definition with features like syntax highlighting and formatting that are not available in basic web forms or other single-file formats (e.g., YAML). Over the past year, we have found that using PLNQ to define code katas requires noticeably less time and effort than other platforms. We have been able to re-invest these savings into more direct student interactions (e.g., one-on-one help).
Zachary Kurmas
SIGCSE (2)1
2024 Poprawa: A Gradebook Library for Alternatively-Graded Courses
abstract
We present Poprawa, a library to help instructors who use alternative grading techniques prepare and securely disseminate progress reports to their students.
Zachary Kurmas
SIGCSE (2)1
2023 DLUnit: A Unit Testing Framework for Simulated Digital Logic Circuits
abstract
We present DLUnit, a unit test framework for simulated digital logic circuits. DLUnit provides a quick and easy way to verify that a simulated digital logic circuit works as expected. It is based on JUnit in order to present a low learning curve to students. This testing ability benefits both instructors and students. It benefits instructors by automating the process of verifying the correctness of student submissions, thereby saving time. It benefits students by providing an easy (and familiar) way to test their assignments before submitting them, thereby helping them correct mistakes and misconceptions in a more timely manner. Furthermore, DLUnit can be used to provide students additional testing experience; therefore, it can serve as one component of a curriculum-wide emphasis on testing. DLUnit currently supports JLS and Logisim; but, is designed to be readily extended to work with other digital logic simulators.
Zachary Kurmas
FIE1
2019 Why and How to Spend a Sabbatical in Industry
abstract
We believe that more Computing faculty should spend some time in industry in order to experience for themselves the types of jobs their students are likely to take at graduation and throughout their careers. Each panelist has spent at least one sabbatical in industry and found the experience to be far more beneficial than anticipated. We all found that our sabbatical experiences helped us to (1) develop our skills, (2) discover and practice the skills that are currently being used in industry, (3) gain credibility with our students, (4) improve our understanding of the computing profession beyond software development, and (5) build relationships with local businesses. Many of us returned to the classroom thinking "I can't believe they let me teach college without any industry experience".
Ryan L. McFall, Zachary Kurmas, Phillip T. Conrad, Dennis J. Frailey
SIGCSE2
2017 MIPSUnit: A Unit Testing Framework for MIPS Assembly
abstract
We present MIPSUnit, a unit test framework for MIPS assembly. MIPSUnit's primary benefit is that it reduces the time needed to grade assembly language assignments. It also provides a time-efficient means for giving students additional testing experience; therefore, it can serve as one component of a curriculum-wide emphasis on testing. MIPSUnit is a suite of two tools: MUnit, which allows users to test their assembly code with JUnit tests, and MSpec, which uses RSpec-style unit tests.
Zachary Kurmas
SIGCSE1
2017 Testing Across the Curriculum (Abstract Only)
abstract
Many students find testing software as difficult and frustrating as they find writing prose. As with writing, no pedagogy will magically replace the need for plenty of practice. Therefore, we believe students should be required to write tests in as many courses as practical. This workshop will present a survey of tools that instructors can use to incorporate testing into many different courses throughout the curriculum. We will begin with a quick review of JUnit, then present tools such as (1) RSpec (Ruby's unit testing framework, on which many other testing frameworks are based), (2) MIPSUnit (MIPS assembly) (3) DLUnit (digital logic and simulated CPUs), (4) CUnit (Operating Systems and Networking), (5) Jasmine (JavaScript), (6) and Cucumber (which has many uses, including system tests on web applications).
Zachary Kurmas
SIGCSE1
2015 MIPSUnit: A Unit Testing Framework for MIPS Assembly (Abstract Only)
abstract
We present MIPSUnit, a unit test framework for MIPS assembly. MIPSUnit's primary benefit is that it reduces the time needed to grade assembly language assignments. It also provides a time-efficient means for providing students additional testing experience. (We believe that students should be exposed to testing throughout the curriculum --- including their Computer Organization and/or Assembly Language courses.) MIPSUnit is a suite of two tools: MUnit, which allows users to test their assembly code with JUnit tests, and MSpec, which uses RSpec-style unit tests
Zachary Kurmas, Jack Rosenhauer
SIGCSE1
2012 The presenter first design approach
abstract
Presenter First is a design technique that combines the Model-View-Presenter design pattern with the concept of "user stories." We have found that Presenter First helps students decompose their programming projects into manageable tasks.
Zachary Kurmas
ITiCSE1
2012 Zawilinski: helping beginning programmers conduct mediawiki-based research
abstract
Zawilinski is our Java library that helps undergraduates conduct research on Wikipedia and Wiktionary. It simplifies the loading and filtering MediaWiki XML dumps so that the resulting object tree will fit into the memory of a typical PC, thereby eliminating the need for advanced programming techniques to access Wikipedia and Wiktionary data.
Zachary Kurmas
ITiCSE1
2012 Kielce: configurable HTML course documents
abstract
Kielce is a JavaScript library that provides a simple, lightweight, client-side technique for moving configurable static content from an HTML document into a separate file where it can more easily and accurately be managed. For example, Kielce simplifies the process of updating a syllabus each semester by collecting the content that changes (semester name, office hours, exam dates, etc.) into a separate file.
Zachary Kurmas
ITiCSE1
2012 Board game project ideas for CS 1 and CS 2 (abstract only)
abstract
Participants will have fun learning and playing relatively unknown board games that are especially suitable for programming projects. We will present games where (1) all players can view the same screen, (2) the board is reasonably simple to program, and (3) there are several elements of the game that relate strongly to a common CS 1, CS 2, or discrete math topic. After we explain the rules and highlight the CS-related elements of the games, participants will have the opportunity to play the games, ask questions, and suggest rule variations that will improve the resulting programming project. See http://www.cis.gvsu.edu/~kurmasz/GamesWorkshop/ for more details and a list of games that may be presented. Laptop Optional.
Zachary Kurmas, James Vanderhyde
SIGCSE1
2012 Nifty assignments
abstract
No abstract available.
Nick Parlante, Julie Zelenski, Daniel Zingaro, Kevin Wayne, David R. O'Hallaron, Joshua T. Guerin, Stephen Davies, Zachary Kurmas, Keen Debby
SIGCSE8
2008 Improving student performance using automated testing of simulated digital logic circuits
abstract
JLSCircuitTester helps automate the testing and grading of circuits built using digital logic simulators. With many simulators, the testing and grading of circuits is tedious and time consuming enough that students do not test their circuits thoroughly. JLSCircuitTester addresses this problem by simplifying the means by which users specify sets of input and expected output values. In addition, it automatically verifies that the circuit under test produces the correct output. The projects submitted during the pilot semester contained approximately half as many errors as the previous semester's projects. The automatic evaluation has also simplified the grading of those projects.
Zachary Kurmas
ITiCSE1
2008 JLS: a pedagogically targeted logic design and simulation tool
abstract
JLS is a GUI-based digital logic simulation tool specifically designed for use in a wide range of digital logic and computer organization courses. It is comparable in features and functionality to commercial products, but includes many student and instructor-friendly aspects not found in those products such as state-machine and truth table editors, extensive error checking, and multiple simulation result views. Students quickly become proficient in its use, enabling them to concentrate on circuit design and debugging issues. The circuit drawing interface is convenient enough to allow instructors to use it for classroom presentations, and circuits can be modified and tested so quickly that it promotes exploring alternatives not prepared for in advance.
David A. Poplawski, Zachary Kurmas
ITiCSE2