About Me

Computer Graphics
Mike Shah near Faneuil Hall in Boston

Contact

Education

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.

Teaching


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 4955 Teaching Computer Science Sp20
(NEU) CS 5500 Foundations of Software Engineering Sp20
(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

Research

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.

Talks

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

Service

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]

Media/Press

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
Travel
  • 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.
Hobbies
  • 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!