hero image
Ray Toal - Loyola Marymount University. Los Angeles, CA, US

Ray Toal

Professor of Computer Science | Loyola Marymount University


Seaver College of Science and Engineering



Ray Toal Publication Ray Toal Publication Ray Toal Publication



loading image With friends at Google Mountain View loading image




Ray Toal is Professor of Computer Science at Loyola Marymount University in Los Angeles where he has been teaching since 1986 and is currently serving as chair of the Electrical Engineering and Computer Science department. He received his Ph.D. from UCLA in 1993 in semantics, with minors in theoretical computer science and database systems. His current research interests are in programming language design, compilers, APIs, and large scale infrastructure. He has consulted for a number of companies in the Los Angeles area, including Citysearch/CityGrid, Medaxis, Friendbuy, Handmade Mobile, M-GO, and Criteo. Ray has authored three books on programming languages and has been involved with projects at the Human Advancement Research Community (HARC).

Phone: 310.338.2773
Email: rtoal@lmu.edu
Office: Doolan Hall 110

Education (3)

University of California, Los Angeles: Ph.D., Computer Science 1993

Loyola Marymount University: M.S., Computer Science 1986

Loyola Marymount University: B.S., Computer Science 1985


Areas of Expertise (5)

Compilers and Interpreters

Software Architecture

Database Systems

Computer Science

Programming Languages

Industry Expertise (4)


Training and Development

Social Media

Computer Software

Accomplishments (2)

California Professor of the Year (professional)

Recipient of the 2008 California state award from the Carnegie Foundation for the Advancement of Teaching's U.S. Professors of the Year Awards Program.

Fritz B. Burns Distinguished Teaching Award (professional)

Recipient of LMU's annual teaching award in 2006.

Affiliations (2)

  • ACM
  • HARC

Languages (1)

  • English

Media Appearances (1)

Interview on Object-Oriented Programming


Interviewed by Skip Lindeman on a business show on the old KWHY-TV Channel 22 in Los Angeles, back in the day (1992) when OOP was a thing.

Sample Talks (3)

Tony Hoare's CSP: The Old School Version

A walk through of the original Communicating Sequential Processes paper, and a look at how the principles are used in modern languages like Go and Erlang.

Are Modern Programming Languages Easier to Learn?

A look at the degree to which six modern programming languages follow the principles of effective learnable programming set out by Bret Victor in a 2012 essay.

Economics of Open Source Software

If it's free, why it is so popular?



*Will consider certain engagements for no fee

Research Grants (1)

Cultivating an Open Source Software Culture Among Computer Science Undergraduate Students

NSF $100,542

Development of an Open Source Teaching Framework and a computer science curriculum based on the values of the open source culture.

view more

Courses (7)

On the Nature of Things

An examination of the nature of the universe (whatever that may mean). Specifically, we will discuss how we humans are able to perceive, model, study, and discover explanations of everything and of nothing, through the application of the scientific method. We will look into what science is, why it works, and something known as the philosophy of science. In addition, as our understanding of the universe depends on understanding understanding, we will look into what we have learned about ourselves, our minds and brains, intelligence, consciousness, and self-awareness, primarily from a computational perspective.

view more

Programming Languages

A course leading to mastery of some of the fundamental concepts that underlie programming language syntax and semantics through a comparative study of several languages and their features. Students will (1) learn several new programming languages together with characteristic features and paradigms, (2) gain the ability to study conceptual linguistic issues without being blinded by a particular language's implementation, and (3) gain insight into the problem of designing new languages.

view more

Language Translation and Implementation

A course in the theory and practice of both traditional and modern approaches to language translation. Students will design and implement and programming language, designing, building, documenting, and testing a compiler. Along the way, students will (1) learn about virtual machines, (2) increase their software development expertise by building a complex system (a compiler) using a modern toolset including node.js, npm, and mocha, as an open source project hosted on a public repository, and (3) take a new look at C and assembly language, making it less likely that their skills in these areas will rust completely before graduation.

view more


The second half of a year-long investigation of data structures and algorithms, focusing on advanced topics such as secret and public key encryption, hashing and indexing, dynamic programming, linear programming, graph theory, randomized algorithms, combinatorial search, computability, and complexity. The course will emphasize giving students a good foundation for later study in distributed computation, web search, genetic sequencing, and artificial intelligence, and to become prepared for graduate study and industry research.

view more

Computer Programming

The introductory programming course at Loyola Marymount University, in which students (1) learn what the field of computing is, and why it is important, (2) learn how to craft well-structured, working programs, (3) learn that some ways of programming are better than others, and (4) gain an appreciation of the value of design and testing in programming. The learning objectives are achieved through a participatory-lecture course format. The instructor codes in an online codepad (usually JSFiddle) and students make modifications to the code during class, often sharing their own solutions.

view more

Language, Thought, and Computation

An examination of the relationship of human consciousness and self-awareness to the formal concepts of self-reference and self-representation in logic, language, thought, and computation theory. Through an investigation of this relationship students will gain a working knowledge of systems of modern logic and metalogic, a basic understanding of classical and statistical natural language processing, and a working understanding of the main pillars of computation theory, including universal machines and the Church-Turing Thesis. Students will be able to apply the course material and experiences to a formulation of their own theories of consciousness, the mind-body problem, reality, artificial intelligence, and the likelihood of creating sentient devices.

view more

Software Engineering Laboratory

Also known as the Senior Project Capstone, Fall Edition, this course prepares students for industry careers by taking on small group projects designed, built, and deployed using agile best practices. Students improve their fluency with version control, wikis, scrum or kanban tools, unit and integration testing, and build/deployment tools. Projects are expected to be interactive, secure, and database-backed. A variety of guest speakers from startups and established companies visit and work with students.

Articles (16)

A model to predict the kinetics of transformation in 3000 series Al alloys (II)

R. Toal, C. W. Lee, B. W. Oppenheim, L. Rice and O. S. Es-Said

In M. H. Hamza, editor, Proc. IASTED International Symposium on Identification, Modelling and Simulation, Paris. ACTA Press, 1987.

Software engineering and the game of Monopoly

R. Toal and P. M. Dorin

ACM SIGCSE Bulletin 22(4):2-10. December, 1990.

Case studies in compiler correctness using HOL

D. F. Martin and R. Toal

In Proc.1991 International Workshop on the HOL Theorem Proving System and its Applications, Davis. IEEE Computer Society Press, 1992.

Implementing the Model-View-Controller Paradigm in Ada 95

J. Sasine and R. Toal

In Charles B. Engle, editor, TRI-Ada '95 Conference Proceedings, Anaheim. ACM Press, 1995.

Using Ada and C++ in Early Computer Science Education

R. Toal

ACM Ada Letters, 16(1): 58-69, 1996.

Difficulties with Multithreaded Programming in Popular Distributed and Object-Oriented Frameworks

R. G. Hayes and R. Toal

In Proc. 1st Annual Software Technology Conference, Raytheon, Inc., El Segundo, CA, September 1999.

Distributed And Concurrent Test Environments On Popular COTS Platforms

R. G. Hayes and R. Toal

In Proc. AUTOTESTCON 2000, Anaheim. IEEE Computer Society, 2000.

ATS Software Design Patterns

R. Toal and R. G. Hayes

In Proc. IEEE Systems Readiness Technology Conference, Valley Forge. IEEE Computer Society, 2001.

Numeric Issues in Test Software Correctness

R. G. Hayes, G. Hughes, P. M. Dorin, and R. Toal

In Proc. AUTOTESTCON 2002, Huntsville. IEEE Computer Society, 2002.

Object Structure Navigation

M. C. Stewart and R. Toal

In M. H. Hamza, editor. Proc. 6th IASTED International Conference on Software Engineering and Applications, Cambridge. ACTA Press, 2002.

Language Issues in Generating Simulations from Specifications

R. Toal and C. L. Dickson

In M. H. Hamza, editor. Proc. of the 4th IASTED International Conference on Modelling, Simulation and Optimization, Po`ipū. ACTA Press, 2004.

An open source software culture in the undergraduate computer science curriculum

J. D. N. Dionisio, C. L. Dickson, S. E. August, P. M. Dorin and R. Toal

ACM SIGCSE Bulletin 39(2):70-74, June 2007.

Convention-Based Syntactic Descriptions

R. Toal and D. Smith

Proc. CSIE 2009, Los Angeles. IEEE Computer Society, March, 2009.

An Annotation Language Framework for Statically-Typed Syntax Trees

L. Abrams and R. Toal

Proc. 13th IASTED International Conference on Software Engineering and Applications, Cambridge. ACTA Press, 2009.

Modeling Patterns for JavaScript Browser-Based Games

J. C. Long and R. Toal

Proc. 5th IASTED International Conference on Internet and Multimedia Systems and Applications, Washington. ACTA Press, 2011.

A Comparison of the Fatigue Life of Shot- Peened 4340M Steel with 100, 200, and 300% Coverage

A. AlSumait, Y. Li, M. Weaser, K. Niji, G. Battel, R. Toal, C. Alvarez & O. S. Es- Said

Journal of Materials Engineering and Performance 28(3):1780-1789, February 2019.