Grants and Awards

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

Brad Richards and Benjamin Stull*. ``Teaching Wireless Networks with Minimal Resources.'' To appear in Proc. of the thirty-fifth SIGCSE Technical Symposium on Computer Science Education, 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

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.