Project Outline: Patch-Ed

Creating and implementing a computer science summer workshop curriculum that transitions middle school students from the block-based programming language Scratch to the professional text-based language Python using my nonprofit's custom-built software Patch.
Project Outline: Patch-Ed


Supervised by Prof. Ethan Danahy, Tufts University Center for Engineering Education and Outreach

About Me

My name is Duncan Johnson, I'm a rising sophomore at Tufts University studying Computer Science. I'm pursuing two minors in Engineering Education and Entrepreneurship for Social Impact. 

Project Background

In 2019, I started a coding summer camp with my friend Elliot Roe. Over the past four summers, Elliot and I have taught hundreds of students ages 6-14 in computer science and engineering. In January 2023, Elliot and I incorporated as a nonprofit called BX Coding. BX Coding is currently finishing development of a web-based programming tool called Patch to introduce students, primarily middle schoolers, to text-based programming languages like Python. My research project is creating a week-long curriculum for Patch.

Research Question

My goal is to create a curriculum that helps students transition from the block-based creative computing tool Scratch to the text-based language Python, while maintaining learner agency and creativity, asking the question, “How can computer science curricula empower students to be more creative as they begin their exploration of text-based programming languages?”

Research Timeline

In the first part of the summer, I will research current solutions and research regarding teaching students to code in Python for the first time and create a first iteration of my curriculum, including lesson plans, activities, and project prompts.
In the middle of the summer, I will teach my curriculum during two weeks of summer camp to 25-30 middle school students.
After teaching the curriculum at my summer camps, I will take feedback from my co-instructors and examine the projects student create in order to improve and iterate upon my curriculum.


  1. Create a free curriculum that any computer science teacher can use in their classroom.
  2. Gain a better understanding of computer science pedagogy.
  3. Improve my leadership and curriculum development skills.

Please reach out with any questions or ideas:

Please sign in

If you are a registered user on Laidlaw Scholars Network, please sign in