Grants and Awards

Co-PI, NSF Computing Research Infrastructure (CRI) grant #0734761, titled "Workshop for investigating the issues involved in implementing a data repository for empirical CS education data.” Total grant amount $19,070, awarded 7/2007. With PI Kathryn Sanders, Associate Professor of Mathematics and Computer Science, Rhode Island College.

Co-PI, NSF Major Research Instrumentation (MRI) grant #0320764, titled "RUI: Acquisition of Robotic Systems for Research in Cognitive Science, Biomechanics, and Computer Science." Total grant amount $471,340, awarded 11/2003. With PI John Long and co-PIs Kenneth R. Livingston, Luke Hunsberger, and Thomas Ellman.

PI, NSF Course, Curriculum, and Laboratory Improvement (CCLI) grant #0087723, titled "Laboratory Materials for Hands-On Exploration of Wireless Networking Concepts." Total grant amount $74,879, awarded 1/2001 (26% funding rate).

PI, NSF Major Research Instrumentation (MRI) grant #0079466, titled "Acquisition of an Eight-Processor Sun Enterprise 3500 Parallel Computer." Total grant amount $143,600, awarded 9/2000. With co-PIs Maria Gomez (Chemistry) and James Lombardi (Physics and Astronomy).

Conference and Journal Publications

Jaime Spacco, Paul Denny, Brad Richards, David Babcock, David Hovemeyer, James Moscola, and Robert Duvall. “Analyzing student work patterns using programming exercise data”. In Proceedings of the 46th ACM Technical Symposium on Computer Science Education, (SIGCSE ’15), 2015. ACM.

William Rathje and Brad Richards. "A framework for model checking UDP network programs with Java pathfinder." In Proceedings of the 2014 ACM Conference on High Integrity Language Technology (HILT '14), 2014, pages 81-86. ACM Press.

Sally Fincher, Brad Richards, Janet Finlay, Helen Sharp, and Isobel Falconer. "Stories of change: How educators change their practice." In Frontiers in Education Conference (FIE), 2012, pages 185-190. IEEE.

Beth Simon, Mike Clancy, Robert McCartney, et al., "Making sense of data structures exams." In ICER 10: Proceedings of the Sixth International Workshop on Computing Education Research, pages 97-106, New York, NY, USA, 2010. ACM Press.

Brad Richards. "Representation of women in CS: how do we measure a program's success?" In Proceedings of the 40th SIGCSE technical symposium on Computer Science Education, pages 96-100, New York, NY, USA, 2009. ACM Press.

Kate Sanders, Brad Richards, and Jan Erik Moström, et al., "DCER: Sharing Empirical Computer-Science Education Data." In Proceedings of the fourth international Workshop on Computing Education Research (ICER 2008), pages 137-148, New York, NY, USA, 2008. ACM Press.

Sharon M. Tuttle, Liz Adams, Carol Zander and Brad Richards "Different approaches to the programming languages course." In Journal of Computing Sciences in Colleges, 22(2):30-31, 2006.

Laurie Murphy, Renee McCauley, and Suzanne Westbrook et al., "Women catch up: Gender differences in learning programming concepts." In Proceedings of the thirty-seventh SIGCSE technical symposium on Computer Science Education, New York, NY, USA, 2006. ACM Press.

Laurie Murphy, Tammy VanDeGrift, Brad Richards, and Brent Wilson, "Models for computer science K-12 outreach activities." In Journal of Computing Sciences in Colleges, 21(1):274-276, 2005.

Laurie Murphy, Renee McCauley, and Suzanne Westbrook et al., "A multi-institutional investigation of computer science seniors' knowledge of programming concepts." In Proceedings of the thirty-sixth SIGCSE technical symposium on Computer Science Education, pages 510-514, New York, NY, USA, 2005. ACM Press.

Kate Sanders, Dennis Bouvier, and Sally Fincher et al., "A multi-institutional, multinational study of programming concepts using card sort data." Expert Systems, 22(3):121-128, 2005.

Brad Richards and Benjamin Stull*. "Teaching Wireless Networks with Minimal Resources." Appears in Proc. of the thirty-fifth SIGCSE Technical Symposium on Computer Science Education, pages 306-310, March 2004.

Roumen Kaiabachev* and Brad Richards. "Java-Based DSM with Object-Level Coherence Protocol Selection." In Proc. of the Fifteenth IASTED International Conference on Parallel and Distributed Computing and Systems (PDCS), pages 648-653, November 2003.

Brad Richards. "Experiences Incorporating Java into the Introductory Sequence." In Proc. of the Sixth Annual CCSC Eastern Conference on The Journal of Computing Sciences in Colleges, pp. 247-253, October 2003. (Also appears in Journal of Computing Sciences in Colleges, 19(2):247-253, December 2003.)

John P. Dougherty, Tony Clear, Stephen Cooper, Tom Dececchi, Brad Richards, and Tadeusz Wilusz. "Information Technology Fluency in Practice." ACM SIGCSE Bulletin, 35(2), 2003.

Brad Richards and Nate Waisbrot*. "Illustrating Networking Concepts with Wireless Handheld Devices." In Proc. of the Seventh Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE), pages 28-33, June 2002. (Also appears in ACM SIGCSE Bulletin, 34(3):29-33, 2002.)

Susan Hert and Brad Richards. "Multiple-Robot Motion Planning = Parallel Processing + Geometry." In Henrik Christensen and Greg Hager, editors, Sensor Based Intelligent Robots, Springer Verlag Lecture Notes in Computer Science, 2238:183-205, November 2001.

Brad Richards. "RTP: A Transport Layer Implementation Project." In Proc. of the sixth annual CCSC Northeastern Conference on The Journal of Computing in Small Colleges, pp. 134-141, April 2001. (Also appears in Journal of Computing in Small Colleges, 16(4):134-141, May 2001.)

Brad Richards. "Bugs as Features: Teaching Network Protocols Through Debugging." In Proc. of the thirty-first SIGCSE Technical Symposium on Computer Science Education, March 2000. (Also appears in ACM SIGCSE Bulletin, 32(1):256-259, 2000.)

Satish Chandra, Brad Richards, and James R. Larus. "Teapot: A Domain-Specific Language for Writing Cache Coherence Protocols." In IEEE Transactions on Software Engineering (TSE), 25(3):317-333, May 1999.

Brad Richards and James R. Larus. "Protocol-Based Data-Race Detection." In Proc. of the Second SIGMETRICS Symposium on Parallel and Distributed Tools (SPDT), pp. 40-47, August 1998.

Satish Chandra, Michael Dahlin, Brad Richards, Randolph Y. Wang, Thomas E. Anderson, and James R. Larus. "Experience with a Language for Writing Coherence Protocols." In Proc. of the USENIX Conference on Domain-Specific Languages (DSL '97), October 1997.

Satish Chandra, Brad Richards, and James R. Larus. "Teapot: Language Support for Writing Memory Coherence Protocols." In Proc. of the SIGPLAN conference on Programming Language Design and Implementation (PLDI), pp. 237-248, May 1996. (Also appears in ACM SIGPLAN Notices, 31(5):237-248, 1996.)

James R. Larus, Brad Richards, and Guhan Viswanathan. "LCM: Memory System Support for Parallel Language Implementation." In Proc. of the Sixth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), pp. 208-218, October 1994. (Also appears in ACM SIGPLAN Notices, 29(11):208-218, 1994.)

M.H.M Cheng, M.H. van Emden, and B.E. Richards, "On Warren's Method for Functional Programming in Logic." In Proc. of the Seventh International Conference on Logic Programming (ICLP), pp. 547-560, June 1990.

Book Chapters

James R. Larus, Brad Richards, and Guhan Viswanathan. C**. In Gregory V. Wilson and Paul Lu, editors, Parallel Programming in C++, chapter 8, pages 297-342. MIT Press, 1996.

Workshop Publications

Satish Chandra, Brad Richards, and James R. Larus. "Teapot: Language Support for Writing Memory Coherence Protocols." In Proc. Workshop on Interaction Between Compilers and Computer Architectures, (In conjunction with the Symposium on High-Performance Computer Architecture (HPCA)), February 1996.

Satish Chandra, Brad Richards, and James R. Larus. "Teapot: Language Support for Writing Memory Coherence Protocols." In Proc. Workshop on Compiler Support for Systems Software (WCSSS), February 1996.

Refereed Poster Presentations

Brad Richards. "An 802.11 Wireless Networking Implementation Project." Appeared as part of the thirty-fourth SIGCSE Technical Symposium on Computer Science Education, February 2003.

Brad Richards. "Illustrating Networking Concepts with Wireless Handheld Devices." Abstract appears In Proc. of the Seventh Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE), pages 240-240, June 2002. (Also appears in ACM SIGCSE Bulletin, 34(3):240-240, 2002.)

Technical Reports and Unrefereed Publications

Sally Fincher, Janet Finlay, Helen Sharp, Isobel Falconer, and Brad Richards. Change stories. Technical Report 12-1, Computing Laboratory, University of Kent, Canterbury, Kent, UK, February 2012.

Marian Petre, Sally Fincher, and Josh Tenenberg et. al. "My Criterion is: Is it a Boolean?": A card-sort elicitation of students' knowledge of programming constructs. Technical Report 6-03, Computing Laboratory, University of Kent, Canterbury, Kent, UK, June 2003.

Bradley E. Richards. Memory Systems for Parallel Programming. Ph.D. thesis, Computer Sciences Department, University of Wisconsin - Madison, August 1996.

James R. Larus, Brad Richards, and Guhan Viswanathan. "C**: A Large-Grain, Object-Oriented, Data-Parallel Programming Language." University of Wisconsin Computer Sciences Technical Report #1126, November 1992.

Bradley E. Richards. Contributions to Functional Programming in Logic. Master's thesis, University of Victoria, April 1990.