HCI & Viz: Reflection, Social Computing, and Community-driven Design.
PhD, Computing and Informatics
Google Scholar (Publications)
CV / Resume (PDF) Download CV
I'm currently a postdoctoral researcher working in the UCSD Design Lab with Steven Dow!

Building on theories from cognitive science and social theory, I design and develop systems that support and analyze small and large group collaborations. By encouraging end-users to reflect on data from these systems, I empower them to make real-time adjustments and long-term changes.

My PhD advisor was Dr. Celine Latulipe. I received my BS in Electrical and Computer Engineering at Purdue University. While at Purdue, I was advised by Dr. Niklas Elmqvist.

Logistics and Contact

You can book me for meetings (SSRB 100 or via Zoom/Skype/G+ Hangouts). Please also send a short email to let me know how I can prepare for the meeting.

News (click to toggle scroll)
June 2019
Joined the UCSD Design Lab, working with Steven Dow!
May 2019
Presented IneqDetect at CompEd in Chengdu China!
May 2019
Apr 2019
Dissertation successfully defended!
Dec 2018
IneqDetect was accepted for publication at ACM CompEd 2019
Oct 2018
I attended the FIE Doctoral Symposium
Jun 2018
3 papers accepted at IEEE FIE 2018!
May 2018
I am serving as the Media Chair for ICCC 2019
Spring 2018
I am team-teaching the System Integration course!
Jan 2018
Our study of design cognition in NatureNet was published at DCC 2018!
Winner 2016-2017 CCI TA of the Year Award!
May 2017
I've just joined the NatureNet team.
Aug 2017
I attended the ICER Doctoral Consortium
June 2017
I presented our paper "Dimensional Reasoning and Research Design Spaces"
June 2017
I presented our paper "Co-creating dimensions and examples using design space gaps."
May 2016
I am at the University of Tokyo this summer hosted by Dr. Koji Yatani.
Travel (click to toggle scroll)
San Diego

DIS '19

CompEd '19


San Jose

FIE '18

Los Angeles




Visualization Mosaics for Multivariate Visual Exploration
S. MacNeil, N. Elmqvist
Computer Graphics Forum, 32: 38–50. doi: 10.1111/cgf.12013


Semi-automated Analysis of Reflections as a Continuous Course Improvement Tool
N. Deborghzi, S. MacNeil,
In Frontiers in Education Conference (IEEE FIE ’19)

IneqDetect: A Visual Analytics System to Detect Conversational Inequality and Support Reflection during Active Learning
S. MacNeil, K. Kiefer D. Takle B. Thompson C. Latulipe
Computing Education Conference (ACM CompEd '19)

A Comparison of Lecture-based and Active Learning Design Patterns in CS Education
N. Deborghzi, S. MacNeil, ML. Maher, M. Dorodchi
In Frontiers in Education Conference (IEEE FIE ’18)

Evolving a Data Structures Class Toward Inclusive Success
C. Latulipe, S. MacNeil, B. Thompson
In Frontiers in Education Conference (IEEE FIE ’18)

Designing With and For the Crowd: A Study of Design Processes in NatureNet
S. MacNeil, S. Abdellahi, ML. Maher, JG. Kim, MJ. Mahzoon, K. Grace
In Proceedings of Design Computing and Cognition (DCC ’18)

Dimensional Reasoning and Research Design Spaces
S. MacNeil, J. Okerlund C. Latulipe
In Proceedings of the 11th Conference on Creativity and Cognition (ACM C&C ’17)

Exploring Lightweight Teams in a Distributed Learning Environment
S. MacNeil, C. Latulipe A. Yadav
In Proceedings of the 47th ACM technical symposium on Computer science education (ACM SIGCSE ’16)

Learning in Distributed Low-Stakes Teams
S. MacNeil, C. Latulipe A. Yadav
In Proceedings of the 11th Annual Conference on International Computing Education Research (ACM ICER '15)

Workshops / Short Papers

Tools to Support Data-driven Reflective Learning. (Doctoral Consortium)
S. MacNeil,
In Proceedings of 2017 ACM Conference on International Computing Education Research (ACM ICER ’17)

Co-creating Dimensions and Examples using Design Space Gaps
S. MacNeil, C. Latulipe J. Okerlund
In First Workshop on Co-Creation at the International Conference on Computational Creativity (ACM ICCC ’17)

Using Spectrums and Dependency Graphs to Model Progressions from Introductory to Capstone Courses.
S. MacNeil, M. Dorodchi N. Deborghzi
In Frontiers in Education Conference (IEEE FIE ’17)


Leveraging Context to Create Opportunistic Co-Located Learning Environments
S. MacNeil, C. Latulipe
In Proceedings of the 47th ACM technical symposium on Computer science education (ACM SIGCSE ’16)

Because, fun!


2016-17 TA of the Year Award (CS, SIS, BioInf Departments)


Education is something that should be facilitated by instructors not enforced by instructors.


Although active learning and constructivist learning philosophies are gaining in popularity, they were once much more popular than current mainstream didactic lecture-based teaching. Experiential learning, communities of practice, and peer learning are relics from a time when apprenticeships were the standard form of education. People learned by doing under the supervision of a master craftsman. Furthermore, learning was scaffolded - the apprentice would do the easy menial tasks until they proved their competence and moved on to more complicated tasks.

After the industrial revolution, this shifted and education was something that was enforced and regulated.Students sat quietly and consumed information delivered by an instructor with an intimate knowledge of the material. This approach scaled effectively for ten to thirty students which is one of the reasons that it was so popular. This model was extremely scalable for the time, but at the cost of critical thinking and the development of meta-cognitive skills.

In a modern educational landscape consisting of millions of students globally distributed this model is less scalable. These students are preparing for careers that will change multiple times over the course of a few decades. As a result, it is now more important than ever to teach students to be their own teachers and to allow them to teach each other. Teachers should now fulfill a new role as facilitators. By guiding students and scaffolding educational experiences it is possible to create scalable learning for this new massive and diverse group of learners.

My advisor and I have created a set of design decisions to improve inclusion and collaboration in the classroom. A paper about this concept was published at FIE 2018.

Recommendations Available

Dr. Manuel Pérez-Quiñones

Dr. Celine Latulipe

Dr. Jamie Payton

Dr. Ras Zbigniew

Various Student Letters

Instructor of Record

ITCS 6177 System Integration

Team-teaching with another PhD student. Our course taught students to integrate databases, sensors, machine learning, physical devices, web apps, or visualizations as needed to solve real problems. Taught as a design studio, students also held workshops to account for the customizability/open-endedness of the course topics.

Spring 2018, UNC at Charlotte.

ITCS 1610/3610 STARS Leadership Course

Service learning class taught as a startup incubtor. Each team developed a product to address a problem of societal relevance. Students were from Psychology, CS, and Management. Material included topics from psychology, marketing, management theory, history, and design.

Spring 2016, UNC at Charlotte.

Teaching Assistant

ITCS 3130 Human Computer Interaction

Helped guide students through active learning exercises. I provided students with design critique, helped them to develop a critical perspective about their designs, and helped guide them to use HCI techiniques including heuristic evaluation, needfinding analysis, prototyping, personas, and storyboards.

Summer II 2018, UNC at Charlotte.

ITIS 2214 Data-structures and Algorithms

Supervised Lab Assistant. Two instructors team-teach the course. I co-design peer instruction questions, verify that lab activites are correct before class, and guide students during peer instruction and lab activities.

Fall 2016, Spring 2017, UNC at Charlotte.

ITIS 1213 Intro to Media Programming II

Helped create formative and summative materials. Responsible for co-designing learning activities based on bloom's taxonomy. Supervised online peer instruction activities and held office hours on G+.

Spring 2015, UNC at Charlotte.

ITCS 1213 Introduction to Programming II

Unsupervised lab instructor. Guided 3 sections of 30 students through object-oriented programming labs. The lab reinforced concepts learned in class through problem-based learning.

Spring 2013, UNC at Charlotte.

ITCS 3182 Computer Organization and Architecture

Unsupervised lab instructor. Guided 1 sections of 50+ students through the lab portion of the course. The lab reinforced concepts from class through problem-based learning. Topics included switch level network structure, ALU, registers, buses, MIPS ISA, memory organization, pipelining and functional parallelism.

Fall 2012, UNC at Charlotte.

Adjunct Instrutor

Trilogy Web Dev Bootcamp

Substitute Instructor. Fill in for instructors when they aren't available to teach. Typically given 24 hours to review the course material and guide a 3 hour interactive active learning classroom.

Fall 2016-2017, Trilogy Bootcamp (UNCC Campus) .


ITIS 1212 Intro to Media Programming I

Developed an automated grading system for media computation course. It is a web-based platform for students to upload assignments. The assignments are graded by running students code on the server and computing the mean-square error of the output image and a gold model image created by the instructor.

Fall 2013, UNC at Charlotte.


Web & Database

  • Angular
  • React
  • Redux
  • ReactNative
  • Ionic
  • Express
  • Koa
  • MongoDB


  • Circuit design
  • MIPS Assembly
  • VHDL
  • Signal Processing
  • Raspberry Pi
  • Arduino

Graphics & Visualization

  • D3
  • OpenGL
  • Tableau
  • ggplot
  • Processing

Qualitative Methods

  • Interviews
  • Focus Groups
  • Grounded Theory
  • Protocol Analysis

Stats and Machine Learning

  • R
  • Python
  • Pandas
  • NLTK
  • NLP
  • Jupyter Notebooks
  • Scikit-learn

Functional Programming

  • Haskell
  • Clojure
  • Redux

Research Areas

  • HCI
  • Visualization
  • Reflection
  • Collaboration
  • Design Cognition
  • CS Education
  • Crowdsourcing


  • Figma
  • Sketch (basic)
  • Inkscape
  • Gimp
  • InDesign (basic)


I am a Ph.D. candidate at UNC Charlotte. I am currently advised by Dr. Celine Latulipe. I also have a bachelor's degree in Electrical Engineering from Purdue University where I was advised by Dr. Niklas Elmqvist.

My research focuses on applying computational methods to the field of education and design. Through the use of machine learning, visualization, and psychology - I provide systems and tools to improve identify and solve problems in design and learning.

I have more hobbies than I've been able to keep up with while in graduate school. I love fitness and exercise! Running, rock climbing, basketball, and cycling are a few of my favorite ways to stay active. When the weather isn't great I love to play table tennis or darts. I'm an avid home-chef and fermenter of foods. I've been fortunate to travel to 13 countries across 4 continents! Staying with locals through couchsurfing and eating traditional foods is a passion of mine. I also love learning new languages but haven't ever stuck with one long enough to develop fluency.