Skip to content

Gallery restrictions on project functionality #849

@amyjko

Description

@amyjko

What are you trying to do that you can't?

One common problem that teachers have is controlling what programming language and API features student have access to, and when. When there's too much complexity, it can be overwhelming. It also prevents teachers from being able to control sequencing of learning. Sometimes teachers also don't want certain features to be available (e.g., sound output, which can be annoying), or want to foster creativity through constraints.

Some systems and curricula have tried ways of managing these challenges. For example, Code.org systems often hide language constructs until later units; students report being annoyed that they can't access advanced features. The Bootstrap project has used a language levels feature, which hides features of languages. But this isn't something easily configurable by teachers.

What is your idea?

Adrienne and I had the idea of having galleries optionally specify functionality constraints on the projects in a gallery. For example, there could be a section that lists all of the language features and APIs. There could be two different levels:

  • hiding, which puts features in an advanced section of documentation
  • restricting, which disallows features in a program, and filters them out of autocomplete and menus

There would be many sections of the interface that this would affect, if a project were in a gallery with these restrictions:

  • The Guide would be filtered
  • Autocomplete would be filtered
  • The Editor's glyph chooser would filter shortcuts
  • The Evaluator runtime would fail on disallowed features

Metadata

Metadata

Assignees

Labels

galleryAnything related to galleriesneeds designWhen an enhancement is not yet designedprojectsAnything related to project management.

Projects

Status

In progress

Relationships

None yet

Development

No branches or pull requests

Issue actions