Courses
Syllabi, course notes, assignments, exams, and more.
- CMSI 282 Algorithms
- CMSI 298 App Development Practicum
- CMSI 485 Artificial Intelligence
- CMSI 371 Computer Graphics
- CMSI 355 Computer Networks
- CMSI 185 Computer Programming
- CMSI 284 Computer Systems Organization
- CMSI 673 Concurrent and Distributed Programming
- CMSI 281 Data Structures
- CMSI 486 Database Systems
- CMSI 261 Language, Thought, and Computation
- CMSI 488 Language Translation and Implementation
- CMSI 584 Mechanical Theorem Proving
- CMSI x99 Independent Studies
- CMSI 688 Object Technologies
- HNRS 240 On the Nature of Things
- CMSI 186 Programming Laboratory
- CMSI 386 Programming Languages
- CMSI 585 Programming Language Semantics
- CMSI 662 Secure Software Development
- CMSI 401 Software Engineering Laboratory
- CMSI 695 Thesis and Dissertation Preparation
Books
Works from my blue per book period.
- Ray Toal, Rachel Rivera, Alex Schneider,
and Eileen Choe
Programming Language Explorations
CRC Press, 2017. - John David N. Dionisio and Ray Toal
Programming in JavaScript: Algorithms and Applications for Desktop and Mobile Browsers
Jones and Bartlett, 2013. - Ray Toal and John David N. Dionisio
The JavaScript Programming Language
Jones and Bartlett, 2010.
Papers
These are the ones I remember.
- Keren Shen, Mark Timko, Yong-Jun Li, Ray Toal, Nathan Santos, Salim Es-Said, Shonnu Ba Thaung, Luis Guevara, Ryan Riebe & Omar S. Es-Said. The Effect of Temper, Grain Orientation, and Composition on the Fatigue Properties of Forged Aluminum-Lithium 2195 Alloy. Journal of Materials Engineering and Performance 28(9):5625-5638, 2019.
- F. Alzubi, M. Timko, Y. Li, R. Toal, K. Tovalin, O.S. Es-Said. Large Versus Small Grain Sizes on Fatigue Life of Aluminum Aircraft Wheels. Defect and Diffusion Forum 391: 174-194, 2019.
- A. AlSumait, Y. Li, M. Weaser, K. Niji, G. Battel, R. Toal, C. Alvarez & O. S. Es- Said. A Comparison of the Fatigue Life of Shot- Peened 4340M Steel with 100, 200, and 300% Coverage. Journal of Materials Engineering and Performance 28(3):1780-1789, February, 2019.
- Jarod C. Long and Ray Toal. Modeling Patterns for JavaScript Browser-Based Games. Proceedings of the 15th IASTED International Conference on Internet and Multimedia Systems and Applications, Washington, pages 51-56, ACTA Press, May 2011.
- Loren Abrams and Ray Toal. An Annotation Language Framework for Statically-Typed Syntax Trees. Proceedings of the 13th IASTED International Conference on Software Engineering and Applications, Cambridge, pages 1-6, ACTA Press, 2009.
- Ray Toal and Derek Smith. Convention-Based Syntactic Descriptions. Proceedings CSIE 2009, pages 797-801, IEEE Computer Society, March, 2009.
- John David N. Dionisio, Caskey L. Dickson, Stephanie E. August, Philip M. Dorin, and Ray Toal. An open source software culture in the undergraduate computer science curriculum. ACM SIGCSE Bulletin 39(2):70-74, June 2007.
- Raymond J. Toal and Caskey L. Dickson, Language Issues in Generating Simulations from Specifications, In M. H. Hamza, editor. Proceedings of the 4th IASTED International Conference on Modelling, Simulation and Optimization, Po`ipū, pages 281-286, ACTA Press, 2004.
- Masahji C. Stewart and Ray Toal, Object Structure Navigation, In M. H. Hamza, editor. Proceedings of the 6th IASTED International Conference on Software Engineering and Applications, Cambridge, pages 137-142, ACTA Press, 2002.
- Robert G. Hayes, Gary B. Hughes, Philip M. Dorin and Raymond J. Toal, Numeric Issues in Test Software Correctness, Proceedings AUTOTESTCON 2002, Huntsville, pages 662-677, IEEE Computer Society, 2002.
- Raymond J. Toal and Robert G. Hayes, ATS Software Design Patterns, Proceedings IEEE Systems Readiness Technology Conference, Valley Forge, pages 649-657, IEEE Computer Society, 2001.
- Robert G. Hayes and Raymond J. Toal, Distributed And Concurrent Test Environments On Popular COTS Platforms, Proceedings AUTOTESTCON 2000, Anaheim, pages 544-553, IEEE Computer Society, 2000.
- Robert Hayes and Ray Toal. Difficulties with Multithreaded Programming in Popular Distributed and Object-Oriented Frameworks, Proc. 1st Annual Software Technology Conference, Raytheon, Inc., El Segundo, CA, September 1999.
- Raymond J, Toal. Using Ada and C++ in Early Computer Science Education. ACM Ada Letters, 16(1): 58-69, 1996.
- Jodene M. Sasine and Raymond J. Toal. Implementing the Model-View-Controller Paradigm in Ada 95. In Charles B. Engle, editor, TRI-Ada '95 Conference Proceedings, Anaheim, pages 202-211. ACM Press, 1995.
- Raymond J. Toal. Toward Automated Compiler Verification. Ph.D. Thesis, UCLA Computer Science Department, 1993.
- David F. Martin and Raymond J. Toal. Case studies in compiler correctness using HOL. In Proceedings of the 1991 International Workshop on the HOL Theorem Proving System and its Applications, Davis, pages 242-252. IEEE Computer Society Press, 1992.
- Raymond J. Toal and Philip M. Dorin. Software engineering and the game of Monopoly. ACM SIGCSE Bulletin 22(4):2-10. December, 1990.
- R. Toal, C. W. Lee, B. W. Oppenheim, L. Rice and O. S. Es-Said. A model to predict the kinetics of transformation in 3000 series Al alloys (II). In M. H. Hamza, editor, Proceedings of the IASTED International Symposium on Identification, Modelling and Simulation, Paris, pages 479-486. ACTA Press, 1987.
Presentations
A few that I remember.
- P5 and Python (ICPC Coach's Symposium, November 2019)
- Running a Google CSSI Extension Program (ICPC Coach's Symposium, November 2017)
- Applying Epistemological Pluralism (ICPC Coach's Symposium, November 2016)
- Tony Hoare’s CSP: The old school version (Papers We Love LA, May, 2016)
- Are Modern Programming Languages Easier to Learn? (Los Angeles Computer Society, August 2014)
- Computer Science Capstone Courses (ACM ICPC Coach's Symposium, November 2013)
- Online Higher Education (Rotary, January, 2013)
- Lectures and Online Codepads (ACM ICPC Coach's Symposium, November 2012)
- Java Best Practices (CityGrid, August, 2012)
- unittest in five minutes (PyLadies, October, 2011)
- A Tour of the Ruby Programming Language (LA ACM, December, 2009)
- A Pedagogy Adapted from the Open Source Culture (ACM SIGCSE 2008 NSF Showcase).
- Teaching Toward Expertise (Slides, Notes) (LMU, September, 2006)
- Ajax Programming (LA ACM, June 2006)
- Economics of Open Source Software (Rotary, February 2006)
- Web Styling (LA ACM, October 2004)
- Internationalized Software (LA ACM, March 2004)
- Developing Complex User Interface Applications in Java (LA ACM / IEEE Computer, May 2002)
- Java Collections Framework (LA ACM, April 1999)
- The C++ Standard Library (LA SIGPLAN, May 1998)
- Fundamentals of Object Oriented Programming (NCR Corp, 1998)
- Advanced Java (LA ACM PDS, Winter and Spring 1998)
- Introduction to Java (LA ACM PDS, Summer 1997)
- Computer Graphics in Java (LA ACM, April 1997)
- An Overview of VRML (LA SIGPLAN, January 1996)
- Ada and C++ in Education (ACM Tri-Ada Educator's Workshop, 1994)
- Ada and C++ (LA SIGAda/TACPLAN, 1994)
- Object Oriented Programming (KWHY-TV, 1992)
Research
A few noteworthy projects and affiliations.
- HARC (during my 2016 sabbatical—this was awesome)
- Recourse (NSF CCLI Award 0511732)
- LMU Experimental Languages Group
- Programming Language Design Sketchbook
- Computer Science Knowledge Expertise Grid
CSSI

LMU is one of only a handful of universities to run a Google Computer Science Summer Institute Extension program. Here are a few resources I made for our offering:
Consulting
Keeping sharp working hard with startups and established companies.
More
I have a brief Curriculum Vitae and a longer one too.
The first programming language I learned was HP-65 machine language. I learned HP-41 some time later, and once wrote an HP-41CX Coordinate Geometry Program. (This needs to go on GitHub some day.)
Here are an odd set of programs linked here for no particular reason:
Links to my various web presences (GitHub, LinkedIn, etc.) are found on the sidebartop of this page, including some pretty ancient stuff.
I also put together a little manifesto on the benefits of teaching JavaScript as a first language.