Articles

PDF

“Little Language” Project Modules (with Kathi Fisler), Journal of Functional Programming (2010)

Many computer science departments are debating the role of programming languages in the curriculum. These...

 

PDF

A Tail-Recursive Machine with Stack Inspection (with Matthias Felleisen), ACM Transactions on Programming Languages and Systems (2004)

Security folklore holds that a security mechanism based on stack inspection is incompatible with a...

 

PDF

A Tail-Recursive Semantics for Stack Inspections (with Mathias Felleisen), Lecture Notes in Computer Science: Programming Languages and Systems (2003)

Security folklore holds that a security mechanism based on stack inspection is incompatible with a...

 

PDF

Modeling an Algebraic Stepper (with Mathew Flatt and Matthias Felleisen), Lecture Notes in Computer Science: Programming Languages and Systems (2001)

Programmers rely on the correctness of the tools in their programming environments. In the past,...

 

Conference Proceedings

PDF

Supporting Introductory Test-Driven Labs with WebIDE (with T. Dvornik, D. S. Janzen, and O. Dekhtyar), Software Engineering Education and Training (CSEE&T), 2011 24th IEEE-CS Conference on Proceedings: Honolulu, HI (2011)

WebIDE is a new web-based development environment for entry-level programmers with two primary goals: minimize...

 

PDF

Overcoming Obstacles to Test-Driven Learning on Day One (with David S. Janzen), Proceedings of the 2010 Third International Conference on Software Testing, Verification, and Validation Workshops (2010)

We describe the preliminary construction of a web-based tool for test-driven learning in the first...

 

PDF

Proceedings of the Scheme and Functional Programming Workshop, Cal Poly Technical Report (2009)

This volume contains the papers of the tenth annual Workshop on Scheme and Functional Programming,...

 

PDF

Implications of Integrating Test-Driven Development into CS1/CS2 Curricula (with Chetan Desai and David S. Janzen), Proceedings of the 40th ACM Technical Symposium on Computer Science Education (2009)

Many academic and industry professionals have called for more testing in computer science curricula. Test-driven...

 

PDF

Implementing Continuation Marks in Javascript (with Ayswarya Sundaram and David Herman), Proceedings of the 2008 Workshop on Scheme and Functional Programming (2008)

MzScheme’s continuation marks provide a flexible mechanism for implementing a number of useful language features...

 

PDF

Improving Engineering Education Through Creativity, Collboration, and Context in a First Year Course (with Michael Haungs and David S. Janzen), American Society for Engineering Education Annual Conference: Pittsburgh, PA (2008)

Over the past few years, Computer Science and some Engineering disciplines have suffered from a...

 

PDF

Continuations from Generalized Stack Inspection (with Greg Pettyjohn, Joe Marshall, Shriram Krishnamurthi, and Matthias Felleisen), Proceedings of the 10th ACM SIGPLAN International Conference on Functional Programming (2005)

Implementing first-class continuations can pose a challenge if the target machine makes no provisions for...

 

PDF

Laziness Without All the Hard Work: Combining Lazy and Strict Languages for Teaching (with Eli Barzilay), Proceedings of the 2005 Workshop on Functional and Declarative Programming in Education (2005)

Students have trouble understanding the difference between lazy and strict programming. It is difficult to...

 

PDF

Little Languages and Their Programming Environments (with Paul Graunke, Shriram Krishnamurthi, and Matthias Felleisen), Proceedings of the Monterey Workshop on Engineering Automation for Software Intensive System Integration (2001)

Programmers constantly design, implement, and program in little languages. Two different approaches to the implementation...