⇨ |
CS 153 |
Concepts of Compiler Design (Java) |
⇨ |
DATA 201 |
Database Technologies for Data Analytics (SQL + Python) |
Despite having done work that involved the relative motions of planets and calculations involving Einstein's Theory of Relativity, I'm still amazed that the sun comes up each morning and that bicycles don't tip over. I find designing and developing software such as compilers and enterprise systems to be fun and challenging. I buy books on advanced math and then actually read them. 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.
Student internships at NASA Ames. I am the Principal Investigator (P.I.) for a subcontracting agreement between KBR/NASA and the San Jose State University Research Foundation to hire student interns for NASA Ames. I post open internship and fulltime positions.
Academics. I have taught software classes at Stanford University and at Santa Clara University, and I had a research faculty appointment at the University of California at Santa Cruz. I started to teach part time at San José State University in 2008, then full time 2013 2021, and now part time again as an emeritus senior lecturer. I teach a variety of graduate and undergraduate courses in several departments. I have degrees in the Mathematical Sciences and in Computer Science from Stanford, where two of my physics professors each had a Nobel Prize. I am a Stanford Computing Pioneer.
History of Computing speaker series. I organized a weekly history of computing speaker series at SJSU where I invited and hosted pioneers in computer science and in the computer industry, including several Turing Award winners.
Books.
My latest book is
Object-Oriented Software Design in C++.
Earlier books include:
Mars rovers. Working as a Senior Scientist in the Research Institute for Advanced Computer Science (RIACS) at the NASA Ames Research Center and the Jet Propulsion Laboratory (JPL), I designed and led the development of the middleware for a key information management system for NASA's Mars Exploration Rover (MER) mission (IEEE articles "The Collaborative Information Portal and NASA’s Mars Rover Mission" and A Reliable Service–Oriented Architecture for NASA’s Mars Exploration Rover Mission" I received several key NASA awards, including Space Act Board and Turning Goals into Reality. A documentary about the Opportunity rover: "Good Night Oppy".
Orion spacecraft. As a Senior Computer Scientist at the NASA Ames Research Center, I wrote software for the new Orion spacecraft that recently successfully launched, orbited the moon, and returned safely to Earth. It will soon take astronauts back to the moon and later to Mars.
CubeSats. I designed and managed the building of the Spacecraft System Integration Laboratory (SSIL) at the NASA Ames Research Center for the simulation of CubeSats orbiting in cluster formations and performing scatter-gather maneuvers. We installed Emulab locally in order to dynamically provision users with advanced graphics servers and up to 400 virtual machines in arbitrary user-specified network configurations.
Fusion energy research. The National Ignition Facility (NIF) at the Lawrence Livermore National Laboratory recently made a major scientific breakthrough -- more energy output from the system than energy put into it! I was the Enterprise Software Strategist for the project, where I helped design and develop a workflow system to consolidate and manage the scientific data generated by the laser firings.
Silicon Valley. I was a consulting Data Scientist at Mediar, a data analytics startup. As a Research Staff Member at the IBM Almaden Research Center in San Jose, I helped implement the Splash software platform that integrated multiple heterogeneous simulation, statistical, and data models in order to research the nation's obesity problem. I've been a software developer, project lead, and engineering manager at high-tech companies such as Hewlett-Packard (the HP 300 system; HP 1000 Pascal compiler; HP 9000 FORTRAN compiler), Sun Microsystems (Sun Common Lisp; the NeWS Toolkit), and Apple Computer Company (the Newton PDA).
U.S. patents.
I am an inventor on seven U.S. patents.
The first two are for innovative
web techniques at an early Internet startup:
6446098
6569208
The most recent five are for advanced data analytics at IBM Research:
9524326
9607067
9805145
9805143
10296519
Erdős number. My Erdős number is 5.
"Internet Era" interview. I was interviewed for the CCTV documentary "Internet Era" .
DATA | Applied Data Science |
CS | Computer Science |
MISA | Management Information Systems Association |
CMPE | Computer Engineering |
Modern C, 3rd edition
by Jens Gustedt (ISBN 978-1617295812)
I teach classes that use Java, C++, and Python. But for my operating systems class, I use the venerable C language. This book covers the latest C23 standard with a modern perspective on how to use the language whenever compact, high performing code is needed. It's for programmers who must get closer to the hardware and understand more clearly what their programs are doing at run time. |
Simple Object-Oriented Design: Create clean, maintainable applications
by Mauricio Aniche (ISBN 978-1633437999)
You can't be a successful novelist if you only know English grammar and vocabulary. Similarly, you can't be an ace programmer if you only know syntax and semantics. This book takes your programming skills to the next level by teaching you how to manage complexity, write consistent objects, use good abstractions, handle dependencies, modularize -- and just be pragmatic in writing your code. The lessons in this well-written book apply to any modern object-oriented programming language. |