Courses
Syllabi, course notes, assignments, exams, and more.
- CMSI 2130 Algorithms
- CMSI 3300 Artificial Intelligence
- CMSI 3710 Computer Graphics
- CMSI 3550 Computer Networks
- CMSI 1010 Computer Programming
- CMSI 2210 Computer Systems Organization
- CMSI 673 Concurrency and Distribution
- CMSI 2120 Data Structures
- CMSI 3520 Database Systems
- CMSI 1900 Exploring Computer Science
- CMSI 2310 Language, Thought, and Computation
- CMSI 3801 Languages and Automata I
- CMSI 3802 Languages and Automata II
- CMSI xx99 Independent Studies
- HNRS 2220 On the Nature of Things
- CMSI 186 Programming Laboratory
- CMSI 5850 Programming Language Foundations
- CMSI 662 Secure Software Development
- CMSI 695 Thesis and Dissertation Preparation
- CMSI 2021 Web Application Development
Books
Works from my blue per book period.
-
Ray Toal
Programming Language Concepts and Implementation
CRC Press, coming in 2025 -
Ray Toal, Sage Strieker, Marco Berardini
Programming Language Explorations, 2nd Edition
CRC Press, 2024. -
Ray Toal, Rachel Rivera, Alex Schneider, and Eileen Choe
Programming Language Explorations
CRC Press, 2017. (Second edition coming in 2024!) -
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.
- N. Fuhr, S. Zhou, K. Shen, A. Rajab, S. Es-Said, S. Thaung, S.Tan, R. Riebe, N. Santos, Y. Thura Hein, R. Toal, Y.Li, M. Timko, and O. S. Es-Said. Comparison of Fatigue Life of AA2050-T852 and AA7050-T7452 Alloy Forgings at Different Orientations. Journal of Engineering Materials and Technology, Transactions of the ASME 145(4), 2023.
- 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.
- Kaktovik Numerals
- On Learning
- Esoteric Languages
- A 5 Minute History of Computer Science
- JavaScript 😮
- Nothing (LMU ACM Lightning Talks, October, 2022)
- Secure Software >>> Security Software (LMU ACM Lightning Talks, November, 2021)
- The Paradox that Led to the Founding of Computer Science as a Discipline (Paper, Slides) (Paradox Symposium, 2021)
- What’s REALLY Wrong with Java (LMU ACM Lightning Talks, April, 2021)
- 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.
- Programming Language Explorations (Basically a companion website to a book I wrote, but goes way beyond, and is a nice platform for student researchers’ contributions.)
- 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 proud to be one of a very small number of partner schools in Google’s Computer Science Summer Institute. LMU had a cohort within Google’s program each summer from 2017 to 2022 inclusive. From 2023 onwards, Google did not host the program, but LMU carried on the legacy and ran our own, with the same feel (mostly) and with some lovely volunteers from Google and a few other institutions.
On the Side
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.
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.
Speaking of teaching, here are some things I like or just find interesting: High Impact Teaching Practices • Ungrading • Strategies for running an effective CSSI • 10 Quick Tips for Delivering a Programming Lesson • Upperline Code • Anything Jeff Olson writes • Guzdial Blog
Some languages I’m interested in (but do not speak well or at all): Scots • Ojibwe • Hawaiian • Zulu • Gaeilge • Nanüümüyadohana.
I like Kaktovik numerals and Cistercian numerals.