Quil

is creating resources to make computer science more accessible

0

patrons

$0

per month
Hello!

I'm Quil, and I'm working on a couple of projects to make programming (and computer science) more accessible. These projects are primarily aimed at teaching programming concepts visually—through illustrations and storytelling. But they also aim to include people who need assistive technologies to consume visual content.

The major project is Purr, a new programming system primarily designed to support collaboration and an exploratory notion of learning.

The first milestone in Purr aims to support Bret Victor's idea of Learnable Programming. It'll provide a library that can be embedded in any web-page to allow people to explore both static relationships in a program (e.g.: "what is the code that will be executed when this method is invoked?" or "what type does this expression have?"), and its dynamic semantics—its execution and results.

Tools for understanding what programs mean dynamically seldom exist, and this can be a big stumbling block for beginners. "What does this piece of code do?" "what happens if I change this variable?" "why did this happen when I ran my program?" are all common questions that our existing tools don't help students answer—they're left to figure it out on their own, with little guidance.

So Purr aims to change this with new visualisation concepts. For example, one could attach an observer to an expression to capture its values, and look at how those values change over time (being able to go both forward and backward in time); they could see which variables influence the value computed, and then change any of the values and see how it affects the result in real-time.

I'm still working on the idea of principled time-travelling debuggers for non-deterministic and parallel execution, and I plan on making that work for several different execution models, not only functional programming :)

The other part of this work is called Lambda Garden Society, and it's going to be a website that incorporates the Purr library to make both programming concepts and computer science research more accessible. This will involve writing technical articles that use a simpler language, a lot of visual metaphors (with other metaphors for non-visual people) and illustrations, and embedding Purr to allow people to explore the idea on their own, and build their own intuition of how the idea works.

You can see what my technical writing looks like on this article on JavaScript promises, and to some extent by reading my answers on Quora.

Your contribution will directly fund these projects, and help them become reality faster :'>
Tiers
The Tip Jar
$2 or more per month

Your contribution helps the project keep going, and I'm super thankful for that :)


- Access to Patreon-exclusive development update posts;

Early Access
$10 or more per month

Your contribution helps the project keep going, and you get to be in the loop:

- Access to Patreon-exclusive development update posts;

- Access to early builds of Purr to try;

Hello!

I'm Quil, and I'm working on a couple of projects to make programming (and computer science) more accessible. These projects are primarily aimed at teaching programming concepts visually—through illustrations and storytelling. But they also aim to include people who need assistive technologies to consume visual content.

The major project is Purr, a new programming system primarily designed to support collaboration and an exploratory notion of learning.

The first milestone in Purr aims to support Bret Victor's idea of Learnable Programming. It'll provide a library that can be embedded in any web-page to allow people to explore both static relationships in a program (e.g.: "what is the code that will be executed when this method is invoked?" or "what type does this expression have?"), and its dynamic semantics—its execution and results.

Tools for understanding what programs mean dynamically seldom exist, and this can be a big stumbling block for beginners. "What does this piece of code do?" "what happens if I change this variable?" "why did this happen when I ran my program?" are all common questions that our existing tools don't help students answer—they're left to figure it out on their own, with little guidance.

So Purr aims to change this with new visualisation concepts. For example, one could attach an observer to an expression to capture its values, and look at how those values change over time (being able to go both forward and backward in time); they could see which variables influence the value computed, and then change any of the values and see how it affects the result in real-time.

I'm still working on the idea of principled time-travelling debuggers for non-deterministic and parallel execution, and I plan on making that work for several different execution models, not only functional programming :)

The other part of this work is called Lambda Garden Society, and it's going to be a website that incorporates the Purr library to make both programming concepts and computer science research more accessible. This will involve writing technical articles that use a simpler language, a lot of visual metaphors (with other metaphors for non-visual people) and illustrations, and embedding Purr to allow people to explore the idea on their own, and build their own intuition of how the idea works.

You can see what my technical writing looks like on this article on JavaScript promises, and to some extent by reading my answers on Quora.

Your contribution will directly fund these projects, and help them become reality faster :'>

Recent posts by Quil

Tiers
The Tip Jar
$2 or more per month

Your contribution helps the project keep going, and I'm super thankful for that :)


- Access to Patreon-exclusive development update posts;

Early Access
$10 or more per month

Your contribution helps the project keep going, and you get to be in the loop:

- Access to Patreon-exclusive development update posts;

- Access to early builds of Purr to try;