San Jose State University : Site Name


Main Content

Working in Mars Mission Control, JPL

Ronald Mak

Department of Computer Science
Spring Semester 2014

Office hours: MW: 7:15-8:30 PM
Office location: MacQuarrie Hall, room 413
Mission Control, Jet Propulsion Laboratory (JPL)
NASA Mars Exploration Rover Mission
Click on the following links:

CS 149/SE 149: Operating Systems

CS 152/SE 152: Programming Language Paradigms

EFREI-SJSU: Further Object-Oriented Programming

Who am I?

As a Senior Computer Scientist at the NASA Ames Research Center, I designed and managed the building of a major software lab that can run up to 400 simultaneous virtual machines in different network configurations in order to simulate spacecrafts in flight, such as satellites in cluster formations. On an earlier mission, I designed and led the development of the middleware for a key information management system for NASA's Mars Exploration Rover (MER) mission. As a Research Staff Member at the IBM Almaden Research Center in San Jose, I implemented a software platform that integrated multiple heterogeneous simulation models in order to help solve the nation's obesity problem. I was the Enterprise Software Strategist at the Lawrence Livermore National Laboratory for a major laser-based fusion energy project, the National Ignition Facility (NIF), where I helped design and develop a scientific workflow system to consolidate and manage the data generated by the laser firings.

I have degrees in the mathematical sciences and in computer science from Stanford University. I've written books on compiler writing, software engineering, and numerical computation, and I contributed a chapter to the book Beautiful Code which won the Jolt Award. I find designing and developing software such as compilers and enterprise systems to be fun and challenging. So I'm the kind of geek nobody wants to talk to at parties. My one redeeming feature is that I am owned by cute cats.

Recent courses I've taught at SJSU
CS 146: Data Structures and Algorithms
CS 153: Concepts of Compiler Design
CS 157B: Database Management Systems II
CS 160: Software Engineering
CS 185C-01/CS 286-03: The History of Computing
The History of Computing Speaker Series