About Me

Computer Graphics
Mike Shah near Faneuil Hall in Boston



I completed my Ph.D. at Tufts University in the Redline Research Group in 2017. My Ph.D. thesis advisor was Samuel Z. Guyer. I completed my Masters degree in Computer Science in 2013 at Tufts University, and my Bachelors in Computers Science Engineering at The Ohio State University in 2011. I am currently teaching faculty at Northeastern University.


The following table lists all of the courses I have developed and previously taught.

Course Number Name Semester
(NEU) CS 5006 Algorithms (Align-Grad) Sp19, Su19
(NEU) CS 5007 Computer Systems (Align-Grad) Su18, Sp19, Su19
(NEU) CS 3650 Computer Systems F17, F18, F19
(NEU) CS 5600 Computer Systems (Grad) Su18
(NEU) CS 4850/5850 Building Game Engines (Ugrad/Grad) Sp18, Sp19
(NEU) CS 4300/5310 Computer Graphics (Ugrad/Grad) Sp18, F18, Su19
(NEU) CS 1802 Discrete Mathematics F17
(NEU) CS 5340 Human Computer Interaction (Grad) F17
(Tufts) Comp 11 Introduction to Computer Science Su17
A listing of my courses that I TA'd, co-taught, or served as a lab instructor while at Ohio State and Tufts University from 2010-2017 are here


Computer Graphics
My research stack consists of C/C++, Java, Processing, and other assorted tools/apis/libraries.

My research interest is in analyzing the performance of real time systems. Typically applications where performance matters are in the domains of game engines, computer graphics, and intensive system applications. I perform my research by building static analysis, dynamic analysis, and software visualization tools. [Google Scholar Link]

  • Peer Reviewed Publications
    • Gaming/Graphics
      • CHIPLAY 2018, Dungeon Digger: Apprenticeship Learning for Procedural Dungeon Building Agents [Preprint][ACM Link]
    • Static/Dynamic Analysis
      • ICSME 2019, Lib Metamorphosis: A Performance Analysis Framework for Exchanging Data Structures in Performance Sensitive Application [Preprint] [Slides] [IEEE Link]
      • SOAP 2018, Iceberg: A Dynamic Analysis of Java Synchronized Methods Investigating Runtime Performance Variability [Preprint][ACM Link][Slides]
      • SOAP 2016, Iceberg: A Tool for Static Analysis of Java Critical Sections [Preprint][ACM Link][Slides]]
    • Software Visualization
      • VISSOFT 2016, An Interactive Microarray Call-Graph Visualization [Preprint][IEEE Link]
      • VISSOFT 2016, Critical Section Investigator Building Story Visualizations with Program Traces [Preprint][IEEE Link][Video]
Currently I am working with several students on building program analysis tools for working with data structures.


A selection of talks in the above playlist. Best viewed within the youtube website.

This section contains peer reviewed conference talks, guest lectures, invited lectures, and some research competitions I have participated in.
  • 2019
    • ACCU Autumn 2019 - Introduction to Cache Oblivious Algorithms [Slides to be posted]
    • Northeastern+MIT LLVM Seminar - Introduction to Program Analysis [Slides]
    • Northeastern+MIT LLVM Seminar - Introduction to Clang [Slides]
    • Northeastern+MIT LLVM Seminar - Introduction to LLVM [Slides] [files]
    • ACM Student Chapter - Introduction to Program Analysis [Slides]
    • Workshop - Building a Game Portfolio [Slides]
  • 2018
  • 2017
    • Getting a job in the game industry [Slides]
    • Hands on Introduction to LLVM Lecture at MIT [Slides]
  • 2016
    • Profile-Guided Optimization LLVM Lecture at MIT [Slides]
    • 4th Tufts Ignite Talk - (CSI) Critical Section Investigator Slides (3rd Place Talk)
    • Invited Talk: Introduction to LLVM at MIT [Slides]
    • Introduction to Parallelism Teaching Fellow talk at Tufts [Video]
    • (Invited Talk) Pint of Science – How do Computers Compute so Fast [Slides]
    • 19th Annual Tufts Graduate Student Research Symposium
  • 2015
    • 3rd Tufts Ignite Talk - Microarray Visualization [Slides] (3rd Place Talk)
    • 2014, Programming Language Mentoring Workshop(PLMW) One-Minute Madness Talk | [Slide]
  • 2014
    • 18th Annual Tufts Graduate Student Research Symposium
    • Guest Lecture - Remco Chang's Computer Graphics Course
    • 1st Annual Tufts Ignite Talk - Code Advisor
  • 2013


Computer Graphics

I have participated in helping create many university organizations, and served in several roles to improve the academic experience of undergraduate and graduate students.

  • Northeastern University
  • Tufts University
    • 2016-2017 Tufts Graduate Student Council President
    • 2014-2016 Tufts founder of Computer Science League of Learning Graduate Student Group
    • 2013-2016 Tufts University Graduate Student IT Committee Seat
    • 2016, National Association of Graduate and Professional Students National Conference. Open Panel Discussion
    • 2016, National Association of Graduate and Professional Students Northeast Regional Conference. GSO. Slides to be posted
    • 2014-2015 Tufts University Graduate Student Council Academic and Career Planning Chair
    • 2013-2014 Tufts University Graduate Student Council Secretary
    • 2014, National Association of Graduate and Professional Students Northeast Regional Conference. Data-Driven Advocacy. [Slides]
    • 2013, National Association of Graduate and Professional Students National Conference. Talk on Technologies Role in Student Organizations. [Slides]


Computer Graphics
Check out Glimpse Podcast for more interviews with great scientists.

  • 2018
    • GLIMPSE Podcast Interview - Teaching Humans Computer Science
      • This podcast describes my journey into computer science, a little bit about my research, and a few teaching tips!

Personal Projects and Fun

Personal Projects
  • I enjoy tutoring programming, and am working on several Python lessons for first time programmers.
  • This is my undergraduate capstone project which I am quite proud of. It was a collaboration with a team of 5 total members in the spirit of a 'pixar' short. Click to watch: Shelved Souls
  • I drove across the country twice (Boston to Portland Oregon) in 2014.
  • My travel outside of the U.S. includes:
    • (Barcelona) Spain [photos soon]
    • (Brussels) Belgium [photos soon]
    • (Amsterdam) Netherlands [photos soon]
    • (Vancouver, Toronto) Canada [photos soon]
    • (Arusha) Tanzania [photos soon]
    • (Reykjavik) Iceland [photos soon]
  • I am always interested in learning about new cultures and places to travel near and far.
  • I consider myself an amateur pizza maker, although this web link needs to be updated with more content. The art of pizza
  • I am a long distance runner. I have run the Columbus marathon twice(2009,2010), several half marathons(2009,2011,2013,2018, 2019), and recently a Full Tough Mudder(2018)
    • I am slowly getting slower as the years go on. Results
  • I enjoy playing the guitar, typically acoustic songs or alternative rock. Some favorite bands are:
Non-Academic Publications
  • Non-Academic Publications 2014, February 4. On Increasing Enrollment of Computer Science Courses. Tufts Daily. Link | PDF
Fun Facts
Please do not redistribute or host any materials without e-mailing me first. I generally am happy to share the latest .pdf or slide presentation with those who ask. Thank you for your time!