My name is Marty Stepp.
I live in the Bay Area in California with my loving wife and two children.
I am a software developer and computer science educator.
Welcome to my web site!
I am exceptionally proud of my two children, Eve and Larry.
My wife and I welcomed Larry into our family this summer 2019.
Our sleep schedule is still an adventure, but he is a sweet little guy and has started looking at us and smiling and doing other cute things.
Being a dad is the greatest joy of my life, and I love seeing these wonderful kids grow and learn and make me proud every day.
I have worked as a software developer at Microsoft and Facebook.
At Facebook I worked on the iOS SDK and Platform team.
I worked on features to help iOS app developers connect their apps to Facebook's authentication and social graph functionality.
At Microsoft I worked on business intelligence features for Excel that became part of Office 2007.
I spent most of my time on a project called the Excel Web Renderer, which was a web component for rendering and editing Excel spreadsheets in the browser.
I enjoy programming and have worked on several large software projects.
I currently write and maintain an online tool for learning and practicing coding problems in a browser, called .
Previously I wrote a similar online practice tool to accompany our Java textbook, called , still used at the University of Washington and many other schools.
I wrote a large homework submission and grading system called that is still used at the University of Washington and other schools.
I developed and maintained a large C++ / Java library used in Stanford's introductory programming classes called the or SPL.
I created a Java and Kotlin library to assist students with Android application development, called .
I also enjoy hacking together small projects such as auto-grading programs for my homework assignments, small learning tools for my students, and other gizmos too numerous to list here.
I worked as a computer science lecturer at Stanford University
At Stanford I primarily taught CS 106A/B/X (introductory programming in Java and C++), CS 193A (mobile app development in Android), CS 194 (senior software projects and engineering), and other topics.
I previously worked as a senior lecturer at the University of Washington
I have written and co-authored several textbooks.
I am co-author of an introductory Java programming textbook titled , written together with UW CSE principal lecturer .
Stuart and I also co-authored along with our colleague Allison Obourn from the University of Arizona.
I am the lead author of a web programming textbook called , with Jessica Miller of Microsoft and Victoria Kirst from UW and Google.
I am also first author of a C# textbook titled (no longer in print).
I grew up in Tucson, AZ, where I went to school for K-12 and also got my BS and MS degrees in computer science at the University of Arizona
I did research in geometric algorithms and security, taught several courses as a graduate student, and was a teaching assistant for several years.