Associate Professor Philip Levis
Office: 409 Gates Hall, Stanford University, Stanford, CA, 94305
Office hours: Mondays, 4:30-6PM on Zoom (email me for password)
Phone: +1 650 725 9046
email: pal at cs stanford edu


I'm an Associate Professor in the Computer Science and Electrical Engineering Departments of Stanford University. I head the Stanford Information Networking Group (SING) and co-direct lab64, the EE maker space at Stanford. I co-directed the Secure Internet of Things Project. I research operating systems, networks, and software design, especially for embedded systems. I appreciate excellent engineering and have a self-destructive aversion to low hanging fruit.

The results of my research are used by thousands of people, run on hundreds of thousands of devices, and are the basis for Internet standards. I written some papers. I've been awarded an NSF CAREER Award and a Microsoft New Faculty Fellowship. In 2010, three of my advisees, Kannan, Mayank, and Jung Il, had the bold idea that it's possible to build a full duplex radio and founded Kumu Networks to commercialize it. I place all of my work funded industrially in the public domain.

Note to Prospective CS107E Students

CS107E will be offered in the Spring of 2020. CS107E is a hands-on class that has a kit, so we will be mailing the kits to students in the class before spring quarter. CS107E has limited enrollment, so the implication of this is that we will select students for the course before Saturday, March 28th. Please apply for the class with this form before Wedneday, March 25th. Because we are physically mailing kits, we ask that students do not shop CS107E, as we have no way of transferring the kit to another student. If you have any questions, please email me.

Research Projects

Engineering Efforts

  • TinyOS: an operating system for mote-class networks
  • RPL: the sensornet routing protocol for the Internet

Current Courses

EE185/EE285/CS241: Interactive Light Sculpture Project
CS107E: Computer Systems from the Ground Up
CS110: Principles of Computer Systems
CS144: public/self-paced online course version

Past Courses

CS144: Introduction to Computer Networks
CS240E: Embedded Wireless Systems
CS244E: Wireless Networking
CS303: Designing Computer Science Experiments
CS340V: Networked Systems for Virtual Worlds
EE108A: Digital Systems Design
CS344E: Wireless Networking Research
CS67N: The Computer of History, the Computer of Fiction

Advisees, Past and Present (Ph.D.)

  • Kannan Srinivasan: quantifying wireless networks (EE 2010), Ohio State
  • Jung Woo Lee: mesh routing to a mobile node (EE 2010), Verizon
  • Jung Il Choi: network protocol isolation (EE 2011), Kumu Networks
  • Mayank Jain: wireless physical/link boundary (EE 2011), Kumu Networks
  • Ewen Cheslack-Postava: planetary-scale virtual worlds (CS 2013), Confluent
  • Maria Kazandjieva: green enterprise computing (CS 2013), Netflix
  • Tahir Azim: instance-aware simplification (CS 2013), NUST
  • Jae-Young Kim: full duplex link layers (EE 2013), Samsung
  • Behram Mistree: transaction defined networking (EE 2015), Forward Networks
  • Omid Mashayekhi: fast distributed cloud computing control planes (EE 2017), Google
  • Judson Wilson: architectures for network transparency (EE, on leave), Google
  • Chinmayee Shah: distributed multi-resolution and sparse data structures (EE 2018), Zoox
  • Hang Qu: scheduling microtask analytics (EE 2018), Facebook
  • Amit Levy: securing networks and systems with languages (CS, 2018), Princeton
  • Raejoon Jung: distributed wireless desynchronization (EE, expected 2020)
  • Kevin Kiningham: hardware acceleration of cryptography and learning (EE, expected 2020)
  • Holly Chiang: embedded system power management (EE, expected 2020)
  • Luke Hsiao: automatic datasheet extraction (EE)
  • Sergio Benitez: secure systems with safe languages (CS)
  • Kexin Rong: analytics on IoT data (CS)
  • Francis Yu Yan: congestion control (CS)
  • Hudson Ayers: embedded systems (EE)
  • Deepti Raghavan: distributed systems (CS)

Advisees, Past and Present (M.S.)

  • Bhupesh Chandra: virtual world scripting (CS)
  • Arjun Roy: mobile phone operating systems (CS), Ph.D. at UCSD
  • Shane Leonard: hardware/software IoT platforms (EE), SpaceX
  • Jean-Luc Watson: low-power IPv6 networking (CS), Ph.D. program at UC Berkeley

Selected Publications

You can generally find more up-to-date and detailed information for the complete list on the SING website.

  • Amit Levy, Bradford Campbell, Branden Ghena, Daniel Giffin, Pat Pannuto, Prabal Dutta, and Philip Levis.
    Multiprogramming a 64 kB Computer Safely and Efficiently. In Proceedings of the The 26th ACM Symposium on Operating Systems Principles (SOSP 2017).
  • Omid Mashayekhi, Chinmayee Shah, Hang Qu, Andrew Lim, and Philip Levis.
    Automatically Distributing Eulerian and Hybrid Fluid Simulations in the Cloud. In ACM Transactions on Graphics 37, 2, Article 24, 2018.
  • Omid Mashayekhi, Hang Qu, Chinmayee Shah, and Philip Levis.
    Execution Templates: Caching Control Plane Decisions for Strong Scaling of Data Analytics. In Proceedings of the 2017 USENIX Annual Technical Conference (USENIX ATC '17).
  • Judson Wilson, Riad S. Wahby, Henry Corrigan-Gibbs, Dan Boneh, Philip Levis and Keith Winstein.
    Trust but Verify: Auditing Secure Internet of Things Devices. In Proceedings of the The 15th ACM International Conference on Mobile Systems, Applications, and Services (MobiSys 2017).
  • Philip Levis.
    Experiences from a Decade of TinyOS Development. In Proceedings of the 10th USENIX Symposium on Operating Systems Design and Implementation (OSDI), 2012.
  • Mayank Jain, Jung Il Choi, Taemin Kim, Dinesh Bharadia, Siddharth Seth, Kannan Srinivasan, Philip Levis, Sachin Katti and Prasun Sinha.
    Practical, Real-time, Full-Duplex Wireless. In Proceedings of the 17th Annual International Conference on Mobile Computing and Networking (Mobicom 2011).
  • Philip Levis, Neil Patel, David Culler, and Scott Shenker.
    Trickle: A Self-Regulating Algorithm for Code Propagation and Maintenance in Wireless Sensor Networks. In Proceedings of the First USENIX/ACM Symposium on Networked Systems Design and Implementation (NSDI 2004). Received best paper award (2004), test of time award (2014).
  • David Gay, Philip Levis, Robert von Behren, Matt Welsh, Eric Brewer, and David Culler.
    The nesC Language: A Holistic Approach to Network Embedded Systems. In Proceedings of the ACM SIGPLAN 2003 Conference on Programming Language Design and Implementation (PLDI). Received PLDI 2003 most influential paper award (2013).

TinyOS Programming Manual

I wrote a short book on programming TinyOS. Programming TinyOS digs into nesC and how you can use it to build TinyOS applications. A second version of the text, co-written with David Gay, is available for purchase as of April 2009. We tried to keep the cost down by making it softcover and having very tiny royalties. Unfortunately, though, TinyOS programming is not a blockbuster topic, so the book is a bit pricier than I'd like. You can download the first half of the published version for free. The first half covers the basics: this version does not include advanced topics like asynchronous code, writing generics, or the hardware abstraction architecture. There's a short errata page.

Some Talks

  • "Full Duplex Wireless."
    Princeton University CS Colloquium, October 12, 2012.
  • "Experiences from a Decade of TinyOS Development."
    OSDI, October 9, 2012.
  • "The Collateral Damage of Internet Censorship by DNS Injection."
    SIGCOMM, August 15, 2012.
  • "Sirikata."
    ISTC-VC Virtual Worlds Workshop, August 18, 2011.
  • "Evaluating Green Computing Techniques with Dense, Long-term Power Sensing."
    CS Faculty Lunch, November 30, 2010.
  • "Wireless Routing."
    CS Faculty Lunch, February 16, 2010.
    These are a variant that are intended to be standalone; the talk slides did not include explanatory text.
  • "IP and Low-Power Wireless: Madness, the Future, or Both?"
    HotNets V, Nov. 29, 2006.
  • "T2: What the Second Generation Holds"
    CS294-11, Berkeley, 6 October 2005.

Education and Job Opportunties in STEM, 2008


2016: IPSN, OSDI, SenSys (general chair)
2015: HotNets (co-chair)
2014: SenSys
2013: NSDI, SOSP, HotMobile
2012: CCR, SenSys
2011: CCR, IP+SN, MobiSys, HotPower, SOSP, SenSys (co-chair)
2010: TOSN, CCR, NSDI, MobiSys, DMSN
2009: TOSN, IPSN (co-chair, IP track), SenSys, SOSP, HotPower (co-chair)
2007: IPSN, EmNets (co-chair), SIGCOMM, DMSN, SenSys, MidSens
2006: NetDB, IPSN, DCOSS, SenSys, RTSS


"Solving a problem simply means representing it so as to make the solution transparent."

- Herbert Simon, Sciences of the Artificial


My work has been supported by generous gifts from Intel Research, DoCoMo Capital, Foundation Capital, the Secure Internet of Things Project, SDSI, the National Science Foundation under grants #1505728, #1409847, #0832820, #0831163, #0846014, #0615308 and #0546630, the Department of Energy ARPA-E program under award number DE-AR0000018, the King Abdullah University of Science and Technology (KAUST), Microsoft Research, scholarships from the Samsung Scholarship Foundation and a Stanford Terman Fellowship. My scientific research was supported by a National Science Foundation awards BCS-0947132, DE-AR-0000018, grants #0615308 and #0846014, a Branco Weiss fellowship, National Institute of Child Health and Human Development Award 1K01HD051494, and National Institutes of Health Grant GM28016.