Back to results

Cal Poly

Automation in CS1 with the Factoring Problem Generator

Abstract

dc:description.abstract

As the field of computer science continues to grow, the number of students enrolled in related programs will grow as well. Though one-on-one tutoring is one of the more effective means of teaching, computer science instructors will have less and less time to devote to individual students. To address this growing concern, many tools that automate parts of an instructor’s job have been proposed. These tools can assist instructors in presenting concepts and grading student work, and they can help students learn to program more effectively. A growing group of intelligent tutoring systems attempts to tie all of this functionality into a single tool that is meant to be used throughout an entire CS course or series of courses. To contribute to this emerging area, the Factoring Problem Generator (FPG) is presented in this work. The FPG creates and grades problems in C in which students search for and extract blocks of repeated code into individual functions, learning to utilize parameters and return values as they do so. The problems created by the FPG are highly configurable by instructors such that the difficulty can be finely tuned to suit students’ individual needs. Instructors can choose whether or not to include arrays, pointers, certain elemental data types, certain operators, or certain kinds of statements, among other things. The FPG is additionally capable of generating a set of test cases for each generated problem. These test cases fully exercise students’ solutions by covering all branches of execution, and they ensure that program functionality does not change as students factor code into functions. Initial experimentation with the system has suggested that the FPG can be integrated into a beginning CS curriculum and with further refinement could become a standard tool in the CS classroom.

Degree

thesis:*
Name thesis:degree_name
MS in Computer Science
Discipline thesis:degree_discipline
Computer Science
Year dc:date.available
2009

Author and committee

dc:creator, dc:contributor.*
Author dc:creator
  • Parker, Joshua B.
Contributors dc:contributor
  • Clinton Staley

Subjects

dc:subject × 8

Identifiers

dc:identifier.*
OAI identifier oai:identifier
oai:digitalcommons.calpoly.edu:theses-1224

Chain of custody

source
Harvested from
Cal Poly
Base URL
digitalcommons.calpoly.edu/do/oai/
Last updated
2026-07-24
Source record
OAI-PMH GetRecord
citation

Parker, Joshua B.. Automation in CS1 with the Factoring Problem Generator. 2009. https://digitalcommons.calpoly.edu/theses/210