Ray Toal

Professor of Computer Science

  • Los Angeles CA UNITED STATES
  • Computer Science

Seaver College of Science and Engineering

Contact

Biography

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

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

Computer Science
Programming Languages
Compilers and Interpreters
Software Architecture
Database Systems

Industry Expertise

Research
Training and Development
Social Media
Computer Software

Accomplishments

California Professor of the Year

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

Recipient of LMU's annual teaching award in 2006.

Affiliations

  • ACM
  • HARC

Languages

  • English

Media Appearances

Interview on Object-Oriented Programming

KWHY-TV  tv

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

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?

Style

Research Grants

Cultivating an Open Source Software Culture Among Computer Science Undergraduate Students

NSF

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

View more

Courses

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

Show All +

Articles

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.

Show All +
Powered by