CS 349H: Software Techniques for Emerging Hardware Platforms (EE 349) — Stanford Root