Automation in CS1 with the Factoring Problem Generator

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 addre...

Full description

Bibliographic Details
Main Author: Parker, Joshua B.
Format: Others
Published: DigitalCommons@CalPoly 2009
Subjects:
CS1
Online Access:https://digitalcommons.calpoly.edu/theses/210
https://digitalcommons.calpoly.edu/cgi/viewcontent.cgi?article=1224&context=theses
id ndltd-CALPOLY-oai-digitalcommons.calpoly.edu-theses-1224
record_format oai_dc
spelling ndltd-CALPOLY-oai-digitalcommons.calpoly.edu-theses-12242019-10-24T15:10:08Z Automation in CS1 with the Factoring Problem Generator Parker, Joshua B. 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. 2009-12-01T08:00:00Z text application/pdf https://digitalcommons.calpoly.edu/theses/210 https://digitalcommons.calpoly.edu/cgi/viewcontent.cgi?article=1224&context=theses Master's Theses and Project Reports DigitalCommons@CalPoly function factoring intelligent tutoring system classroom automation CS1 code generation test case generation Programming Languages and Compilers Science and Mathematics Education
collection NDLTD
format Others
sources NDLTD
topic function factoring
intelligent tutoring system
classroom automation
CS1
code generation
test case generation
Programming Languages and Compilers
Science and Mathematics Education
spellingShingle function factoring
intelligent tutoring system
classroom automation
CS1
code generation
test case generation
Programming Languages and Compilers
Science and Mathematics Education
Parker, Joshua B.
Automation in CS1 with the Factoring Problem Generator
description 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.
author Parker, Joshua B.
author_facet Parker, Joshua B.
author_sort Parker, Joshua B.
title Automation in CS1 with the Factoring Problem Generator
title_short Automation in CS1 with the Factoring Problem Generator
title_full Automation in CS1 with the Factoring Problem Generator
title_fullStr Automation in CS1 with the Factoring Problem Generator
title_full_unstemmed Automation in CS1 with the Factoring Problem Generator
title_sort automation in cs1 with the factoring problem generator
publisher DigitalCommons@CalPoly
publishDate 2009
url https://digitalcommons.calpoly.edu/theses/210
https://digitalcommons.calpoly.edu/cgi/viewcontent.cgi?article=1224&context=theses
work_keys_str_mv AT parkerjoshuab automationincs1withthefactoringproblemgenerator
_version_ 1719277243033714688