Ryan E. Dougherty
YOU?
Author Swipe
View article: Scaffolding Research Projects in Theory of Computing Courses
Scaffolding Research Projects in Theory of Computing Courses Open
Theory of Computing (ToC) is an important course in CS curricula because of its connections to other CS courses as a foundation for them. Traditional ToC course grading schemes are mostly exam-based, and sometimes a small weight for tradit…
View article: Can ChatGPT Pass a Theory of Computing Course?
Can ChatGPT Pass a Theory of Computing Course? Open
Large Language Models (LLMs) have had considerable difficulty when prompted with mathematical questions, especially those within theory of computing (ToC) courses. In this paper, we detail two experiments regarding our own ToC course and t…
View article: Designing Theory of Computing Backwards
Designing Theory of Computing Backwards Open
The design of any technical Computer Science course must involve its context within the institution's CS program, but also incorporate any new material that is relevant and appropriately accessible to students. In many institutions, theory…
View article: Creation of a CS1 Course with Modern C++ Principles
Creation of a CS1 Course with Modern C++ Principles Open
Best practices in programming need to be emphasized in a CS1 course as bad student habits persist if not reinforced well. The C++ programming language, although a relatively old language, has been regularly updated with new versions since …
View article: Faster Location in Combinatorial Interaction Testing
Faster Location in Combinatorial Interaction Testing Open
Factors within a large-scale software system that simultaneously interact and strongly impact the system's response under a configuration are often difficult to identify. Although screening such a system for the existence of such interacti…
View article: Experiences with Research Processes in an Undergraduate Theory of Computing Course
Experiences with Research Processes in an Undergraduate Theory of Computing Course Open
Theory of computing (ToC) courses are a staple in many undergraduate CS curricula as they lay the foundation of why CS is important to students. Although not a stated goal, an inevitable outcome of the course is enhancing the students' tec…
View article: Upper Bounds for Covering Arrays of Higher Index
Upper Bounds for Covering Arrays of Higher Index Open
A \emph{covering array} is an $N \times k$ array of elements from a $v$-ary alphabet such that every $N \times t$ subarray contains all $v^t$ tuples from the alphabet of size $t$ at least $λ$ times; this is denoted as $\CA_λ(N; t, k, v)$. …
View article: Genetic algorithms for redundancy in interaction testing
Genetic algorithms for redundancy in interaction testing Open
It is imperative for testing to determine if the components within large-scale software systems operate functionally. Interaction testing involves designing a suite of tests, which guarantees to detect a fault if one exists among a small n…
View article: Counting Subwords and Regular Languages
Counting Subwords and Regular Languages Open
Let $x$ and $y$ be words. We consider the languages whose words $z$ are those for which the numbers of occurrences of $x$ and $y$, as subwords of $z$, are the same (resp., the number of $x$'s is less than the number of $y$'s, resp., is les…