Our Dynamic Analysis work has been published!
Learn about my journey into computer science (See Media/Press)!
Algorithms, Computer Systems, and Game Engines!
Mike Shah near Faneuil Hall in Boston
Teaching involves: Lecture + Lab + 1:1 time + and some self-guidance.
The following are a list of courses I have developed and taught
Spring 2019, Northeastern University
Fall 2018, Northeastern University
Summer 2018, Northeastern University
Spring 2018, Northeastern University
Fall 2017, Northeastern University
Summer 2017, Tufts University
Comp 11 - Introduction to Computer Science 2010-2017, Ohio State and Tufts University teaching assistant/fellow roles
The listing of my courses that I TA'd, co-taught, or served as a lab instructor are
My research stack consists of C/C++, Java, Processing, and other assorted tools/apis/libraries.
My main interest is studying program performance of real time systems in the context of games and computer graphics applications. I perform my research by building static analysis, dynamic analysis, and software visualization tools. [
Google Scholar Link]
Peer Reviewed Publications
CHIPLAY 2018, Dungeon Digger: Apprenticeship Learning for Procedural Dungeon Building Agents [
Preprint] Static/Dynamic Analysis
SOAP 2018, Iceberg: A Dynamic Analysis of Java Synchronized Methods Investigating Runtime Performance Variability [
Preprint] [ 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]
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.
Getting a job in the game industry [
Slides] Hands on Introduction to LLVM Lecture at MIT [
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
3rd Tufts Ignite Talk - Microarray Visualization [ Slides] (3rd Place Talk)
2014, Programming Language Mentoring Workshop(PLMW) One-Minute Madness Talk | [
18th Annual Tufts Graduate Student Research Symposium
Guest Lecture - Remco Chang's Computer Graphics Course
1st Annual Tufts Ignite Talk - Code Advisor
I have participated in helping create many university organizations, and served in several roles to improve the academic experience of undergraduate and graduate students.
2018-2019, Director of CCIS Fellows
2018-2019, Undergraduate Committee
2018, Program Committee for
SIGCSE 2019 Paper Reviewer 2018, Program Committee for
VISSOFT 2018 Paper Reviewer 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. [
Check out Glimpse Podcast for more interviews with great scientists.
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
I enjoy tutoring programming, and am working on several Python lessons for first time programmers.
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), and most recently a Full Tough Mudder(2018)
I enjoy playing the guitar, typically acoustic songs or alternative rock. Some favorite bands are:
Non-Academic Publications 2014, February 4. On Increasing Enrollment of Computer Science Courses. Tufts Daily.
Link | PDF
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!