Majeed Kazemitabaar

I'm a second year PhD student in Computer Science at the University of Toronto working with Professor Tovi Grossman in the Dynamic Graphics Project (DGP).

My research is at the intersection of Human-Computer Interaction and Computer Science Education. I design, implement, and evaluate engaging and effective computational learning experiences. More specifically, I've explored (a) tangible approaches to programming, (b) incorporating data-driven programming into visual programming tools, and (c) easing the transition from visual to text-based programming.

My research has led to five publications, mostly in top-tier HCI venues (CHI, UIST, and IDC), and have won a Best-Paper award, and a Best Late-Breaking Work award for my first-authored publications.

Research Projects:

From Blocks to Text-based Programming

University of Toronto - PhD Student


Visual programming environments such as Scratch are becoming the prominent way of introducing young students to CS and programming. However, little research and development has been done to support the final transition into text-based programming. To address this, we ran an exploratory study with 26 high school students and categorized the challenges associated with the initial transition, and their resolution methods. Our results help guide the design of future assistance mechanisms, intermediary tools, or curriculum development.


Furthermore, we iteratively developed CodeStruct, an intermediary text-based programming environment that includes design features such as automatically handling of syntax and punctuation (using a structured editor), providing real-time warnings, and including passive documentations in an explorable toolbox. We evaluated CodeStruct through a two-week long programming class with high school students and investigated how CodeStruct supported learners in transitioning from Scratch to Python. Our findings reveal that transitioning to CodeStruct reduced task completion time (1.98x) and help requests (4.63x) when compared to transitioning directly to Python.

read more
GitHubgithub.com/MajeedKazemi/code-struct

From Blocks to Text-based Programming

CodeStruct: Design and Evaluation of an Intermediary Programming Environment for Novices to Transition from Scratch to Python

IDC'22 · ACM Conference on Interaction Design and Children

Majeed Kazemitabaar, Viktar Chyhir, David Weintrop, Tovi Grossman

Blocks-to-Text Transition Challenges

Under Review

Embedded Programming Development Environment

University of California, Berkeley - Visiting Graduate Researcher


A key challenge in developing and debugging custom embedded systems is understanding their behavior, particularly at the boundary between hardware and software. Bifröst automatically instruments and captures the progress of the user's code, variable values, and the electrical and bus activity occurring at the interface between the processor and the circuit it operates in. This data is displayed in a linked visualization that allows navigation through time and program execution, enabling comparisons between variables in code and signals in circuits.

read more

Embedded Programming Development Environment

Bifröst: Visualizing and Checking Behavior of Embedded Systems across Hardware and Software

UIST 2017 · ACM Symposium on User Interface Software Technology

Will McGrath, Daniel Drew, Jeremy Warner, Majeed Kazemitabaar, Mitchell Karchemsky, David Mellis, Björn Hartmann

Programming by Demonstration for Kids

Microsoft Research - Graduate Intern (VIBE group)


GestureBlocks incorporates a demonstrate-edit-review Machine Learning pipeline for authoring sensor-based gestures into Microsoft MakeCode and allows novices to program behaviors using both data-driven and conventional paradigms.

read more
GitHubgithub.com/microsoft/pxt-gestures

Programming by Demonstration for Kids

GestureBlocks: A Gesture Recognition Toolkit for Children

ICER 2017 · Workshop on Learning about Machine Learning

Majeed Kazemitabaar, Rob Deline

Interactive Wearables using Tangible Programming

Interactive Wearables using Tangible Programming

University of Maryland - MSc Student


Wearable construction kits have shown promise in attracting underrepresented groups to STEM, and empowering users to create personally meaningful computational designs. These kits, however, require programming, circuits, and manual craft skills. Therefore, to lower the barriers of entry and help empowering young children create interactive wearables, I led a two-year iterative design process, including participatory design sessions with children design probe sessions with STEM educators, and iteratively building and pilot testing prototypes with children.


Informed by these experiences, we built MakerWear: a modular and wearable construction kit with a focus on enabling children to leverage the richness of wearability-their changing environments, their body movements, and social interactions. Our novel approach enabled children to program complex trigger-action behaviors using tangible modules. Our evaluations of MakerWear at multi-session workshops, show that children (ages 5-10) were able to successfully create a wide variety of wearable designs, and actively apply computational thinking.

read more
GitHubgithub.com/MakerWear/MakerWear

MakerWear: A Tangible Approach to Interactive Wearable Creation for Children

CHI 2017 · ACM Conference on Human Factors in Computing Systems

Majeed Kazemitabaar, Jason McPeak, Alexander Jiao, Liang He, Thomas Outing, Jon E Froehlich

Best Paper Award

ReWear: Early Explorations of a Modular Wearable Construction Kit for Young Children

CHI 2016 (Late-Breaking Work) · ACM Conference on Human Factors in Computing Systems

Majeed Kazemitabaar, Liang He, Katie Wang, Chloe Aloinmonous, Tony Cheng, Jon Froehlich

Best LBW Paper Award

MakerShoe: Towards a Wearable E-Textile Construction Kit to Support Creativity, Playful Making, and Self-Expression

IDC 2015 (Demo) · ACM Conference on Interaction Design and Children

Majeed Kazemitabaar, Leyla Norooz, Mona Leigh Guha, Jon Froehlich

MakerWear: A Tangible Construction Kit for Young Children to Create Interactive Wearables

UMD 2017 · MSc Thesis · University of Maryland, College Park

Majeed Kazemitabaar

Exploring Sample Code Usage by Programmers

Sharif University of Technology - Undergraduate Student


When programmers face new frameworks they usually rely on sample codes to learn about the API and accomplish their tasks. This work investigates and analyzes the activities performed by programmers when such sample codes are being used for task completion.

read more

Exploring Sample Code Usage by Programmers

Activities performed by programmers while using framework examples as a guide

SAC 2014 · ACM Symposium of Applied Computing

Reihane Boghrati, Abbas Heydarnoori, Majeed Kazemitabaar

Mentorhips

Carl Ma

University of Toronto

Justin Chow

University of Toronto

Viktar Chyhir

University of Toronto

Jason McPeak

University of Maryland

Alexander Jiao

University of Maryland

Katie Wang

University of Maryland