Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Stephen R. Foster

dblp:48/8143 · DBLP profile ↗
← Back
7ranked-venue papers
3as first author
0since 2021 · last 2015
—ORCID · none

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

Human-computer interaction and ubiquitous computing · 6 · 2 first-authorSoftware engineering, systems software and programming languages · 1 · 1 first-authorGraphics, computer vision, multimedia, augmented reality and games · 1 · 1 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Human-computer interaction and pervasive computing
2 papers
Learning and educational technologies · 50% User interface design and tools · 33% Games and playful interaction · 17%
Software engineering, system software, and programming languages
1 paper
Software maintenance and evolution · 100%

Topics — the 5 heaviest of 7, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Learning and educational technologies
educational games
0.212013
From competition to metacognition: designing diverse, sustainable educational games · CHI 2013
Learning and educational technologies
metacognition
0.212013
From competition to metacognition: designing diverse, sustainable educational games · CHI 2013
Software maintenance and evolution
refactoring
0.112012
WitchDoctor: IDE support for real-time auto-completion of refactorings · ICSE 2012
Games and playful interaction
game design
0.012013
From competition to metacognition: designing diverse, sustainable educational games · CHI 2013
Software maintenance and evolution › refactoring
refactoring detection
0.012012
WitchDoctor: IDE support for real-time auto-completion of refactorings · ICSE 2012

Methods — techniques the papers use, named apart from their topics

user study · 0.4formalism-inspired design · 0.2comparative analysis · 0.2
YearPublicationVenuePosition
2015 Polymorphic Blocks: Formalism-Inspired UI for Structured Connectors
abstract
We present a novel block-based UI called Polymorphic Blocks, in which a connector's shape visually represents the structure of the data being passed through the connector. We use Polymorphic Blocks to add visual type information to block-based programming environments like Blockly or Scratch. We also use Polymorphic Blocks to represent logical proofs. In this context, if we erase all symbols, our UI becomes a puzzle game, where solving the puzzle amounts to building a proof. We show through a user study that our Logical Puzzle Game is faster, more fun, and more engaging than an equivalent pen-and-paper interface.
Sorin Lerner, Stephen R. Foster, William G. Griswold
CHI2
2015 Seamless Integration of Coding and Gameplay: Writing Code Without Knowing it
Stephen R. Foster, Sorin Lerner, William G. Griswold
FDG1
2013 From competition to metacognition: designing diverse, sustainable educational games
abstract
We investigate the unique educational benefits of 1-on-1 competitive games, arguing that such games can be just as easy to design as single-player educational games, while yielding a more diverse and sustainable learning experience. We present a study of chess and StarCraft II in order to inform the design of similar educational games and their communities. We discuss a competitive game we designed to teach Java programming. We evaluate the game by discussing its user study. Our main contributions are 1) an argument that the use of 1-on-1 competition can solve two existing problems inherent to single-player games, 2) an analysis of the features that make competitive games effective learning environments, and 3) an early but encouraging description of the emergent learning environment one can expect from designing an educational game with these features.
Stephen R. Foster, Sarah Esper, William G. Griswold
CHI1
2013 CodeSpells: embodying the metaphor of wizardry for programming
abstract
This paper addresses how CodeSpells uses the metaphor of wizardry, along with an embodied API to engage students in learning to program in Java. Giving novice programmers a concrete representation of code has been encouraged and shown to help students understand the concepts with more ease. There have been many attempts to improve the novice learning experience by providing: a visual programming language, a hardware component or an application that is more approachable. The benefit of this research is that students are better able to understand how abstract code effects the environment.
Sarah Esper, Stephen R. Foster, William G. Griswold
ITiCSE2
2013 On the nature of fires and how to spark them when you're not there
abstract
Traditionally, computer science education research contributes new tools, techniques, and theories to improve institutionalized learning spaces e.g. classrooms. However, we take the position that the study and improvement of computer science learning spaces outside the classroom are just as important. We take a step toward illuminating the critical qualities of non-institutional computer science learning spaces by engaging in a grounded-theoretical examination of first-hand accounts of non-institutional learning. To further study the topic, we attempted to recreate (in the lab) a learning environment with many qualities that characterize non-institutional learning. To make this possible, we employed a modified version of CodeSpells -- a video game designed to teach Java programming in a way that engenders the sense of sustained, playful, creative exploration driven entirely by the learner. This study introduced 40 girls, ages 10 to 12, to programming for the first time. We use the results of both studies to develop a theoretical framework which we use to examine existing tools such as Scratch, Alice, and educational games in a new light.
Sarah Esper, Stephen R. Foster, William G. Griswold
SIGCSE2
2012 The abstraction transition taxonomy: developing desired learning outcomes through the lens of situated cognition
abstract
We report on a post-hoc analysis of introductory programming lecture materials. The purpose of this analysis is to identify what knowledge and skills we are asking students to acquire, as situated in the activity, tools, and culture of what programmers do and how they think. The specific materials analyzed are the 133 Peer Instruction questions used in lecture to support cognitive apprenticeship -- honoring the situated nature of knowledge. We propose an Abstraction Transition Taxonomy for classifying the kinds of knowing and practices we engage students in as we seek to apprentice them into the programming world. We find students are asked to answer questions expressed using three levels of abstraction: English, CS Speak, and Code. Moreover, many questions involve asking students to transition between levels of abstraction within the context of a computational problem. Finally, by applying our taxonomy in classifying a range of introductory programming exams, we find that summative assessments (including our own) tend to emphasize a small range of the skills fostered in students during the formative/apprenticeship phase.
Quintin I. Cutts, Sarah Esper, Marlena Fecho, Stephen R. Foster, Beth Simon
ICER4
2012 WitchDoctor: IDE support for real-time auto-completion of refactorings
abstract
Integrated Development Environments (IDEs) have come to perform a wide variety of tasks on behalf of the programmer, refactoring being a classic example. These operations have undeniable benefits, yet their large (and growing) number poses a cognitive scalability problem. Our main contribution is WitchDoctor - a system that can detect, on the fly, when a programmer is hand-coding a refactoring. The system can then complete the refactoring in the background and propose it to the user long before the user can complete it. This implies a number of technical challenges. The algorithm must be 1) highly efficient, 2) handle unparseable programs, 3) tolerate the variety of ways programmers may perform a given refactoring, 4) use the IDE's proven and familiar refactoring engine to perform the refactoring, even though the the refactoring has already begun, and 5) support the wide range of refactorings present in modern IDEs. Our techniques for overcoming these challenges are the technical contributions of this paper. We evaluate WitchDoctor's design and implementation by simulating over 5,000 refactoring operations across three open-source projects. The simulated user is faster and more efficient than an average human user, yet WitchDoctor can detect more than 90% of refactoring operations as they are being performed - and can complete over a third of refactorings before the simulated user does. All the while, WitchDoctor remains robust in the face of non-parseable programs and unpredictable refactoring scenarios. We also show that WitchDoctor is efficient enough to perform computation on a keystroke-by-keystroke basis, adding an average overhead of only 15 milliseconds per keystroke.
Stephen R. Foster, William G. Griswold, Sorin Lerner
ICSE1