Gimbalabs PBL Mastery Policies

Plutus Project-Based Learning

The goal of any Gimbalabs PBL course is to help people become Contributors to real Web3 projects. All courses consist of a series of learning modules that are organized into four categories: Onboarding, Building Background Knowedge (BBK), Specializing, and Contributing.

Everyone is welcome to enroll in Plutus PBL on Canvas. That is the best way to learn about it.

When you enroll in the self-paced Plutus PBL course, you will start by working through the Onboarding and BBK Modules in order. Then you can focus on your choice of Specializing Modules. When you meet the minimum requirements, you will earn a Course Completion token that allows you to Contribute to open source projects at Gimbalabs.

obsc

What are the minimum requirements for earning a Plutus PBL Course Completion token?

  • Students must complete all 100-Level Onboarding and all 200-Level BBK Modules.
  • Students must demonstrate mastery of a minimum number of 300-Level Specializing Modules. There are four leveled Mastery Assignments in each module.

There are two ways to meet the minimum requirements for PPBL Course Completion:

  • Complete the first two leveled Mastery Assignments on Modules 301 AND 302 AND 303.
  • Or, complete all four leveled Mastery Assignments on Module 301 OR 302 OR 303.

The PPBL Course Completion unlocks Contribution Access to projects at Gimbalabs.

Live Now: Gimbal Project Treasury + Escrow, Iteration 1

PPBL Completion Tokens

are minted in pairs, with Fixed Minting Metadata and Flexible Inline Datum

Policy ID: 4879ae2b0c3dd69864bfa29b13bb8e60712f4df2176f43aaa7b9aa3b

Completion Token Metadata

PPBL Course Completion tokens are minted with the following metadata:

{
  "721": {
    "4879ae2b0c3dd69864bfa29b13bb8e60712f4df2176f43aaa7b9aa3b": {
      "222PPBL2022<ALIAS>": {
        "name": "Plutus PBL Completion Token",
        "image": "https://www.gimbalabs.com/g.png",
        "files": [
          {
            "name": "PPBL2022",
            "mediaType": "video/mp4",
            "src": [
              "ipfs://",
              "bafybeicjz376hybopixq6xmzg7lohkkmgmkuwmdvpogq67lpvjs6mplwjy"
            ]
          }
        ],
        "description": "Earned by completing Plutus PBL course at Gimbalabs.",
        "details": "https://gimbalabs.com",
        "courseName": "Plutus PBL Summer 2022",
        "courseVersion": "ppbl-course-02"
      },
      "100PPBL2022<ALIAS>": {
        "name": "Gimbalabs Reference Token",
        "image": "https://www.gimbalabs.com/g.png"
      }
    }
  },
  "1618033988749": {
    "4879ae2b0c3dd69864bfa29b13bb8e60712f4df2176f43aaa7b9aa3b": {
      "222PPBL2022<ALIAS>": {
        "courseName": "Plutus PBL",
        "courseVersion": "ppbl-course-02",
        "courseProviders": [
          "Gimbalabs"
        ],
        "referenceToken": {
          "policyID": "4879ae2b0c3dd69864bfa29b13bb8e60712f4df2176f43aaa7b9aa3b",
          "referenceTokenName": "100PPBL2022<ALIAS>"
        },
        "url": "https://gimbalabs.com/mastery-policy"
      }
    }
  }
}

Reference Tokens + "Metadatum"

We use an experimental implementation of the Datum Metadatum Standard proposed in CIP-68. The following metadatum can be changed over time, and it can be used in Plutus validation logic.

{
  "constructor": 0,
  "fields": [
    {
      "map": [
        {
          "k": {
            "bytes": "333031"
          },
          "v": {
            "int": 2
          }
        },
        {
          "k": {
            "bytes": "333032"
          },
          "v": {
            "int": 3
          }
        },
        {
          "k": {
            "bytes": "333033"
          },
          "v": {
            "int": 2
          }
        }
      ]
    },
    {
      "int": 0
    },
    {
      "bytes": "<ALIAS_AS_BYTESTRING>"
    }
  ]
}

What qualifies as Evidence of Mastery?

To demonstrate mastery of key skills, students submit transactions to Cardano's Pre-Production Testnet and merge requests to open-source, public code repositories on GitLab. Anyone can verify that transactions happened via a blockchain explorer and that commits were made on GitLab.

Learn more about about Plutus PBL by browsing the Course Outline and Student Learning Targets below. Or enroll in Plutus PBL on Canvas to see it for yourself.

Course Outline and Student Learning Targets

  • Onboarding (100)

  • Building Background Knowledge (200)

  • Specializing (300)

Onboarding

100 Getting Started

  • I can connect a Cardano wallet to the Pre-Production test network.
  • I can get FREE tADA on Pre-Production testnet
  • I know how to safely store my keys.

101 Prepare a Plutus Development Environment

  • I can load and run nix shell.
  • I can use git to checkout a specific tag of the Plutus Apps repository.
  • I can compile a simple Plutus validator script.

102 Set up a Testnet Node

  • I can run a Cardano testnet node.
  • I can query a testnet address with cardano-cli.
  • I can send a transaction with cardano-cli.
  • I am building my own mental model for what the blockchain is and why it works.

Evidence of Mastery

By working through course modules, students demonstrate mastery of the Student Learning Targets (SLTs) listed here.

For many of these 100-Level SLTs, students demonstrate mastery by being able to move on to the next step in each Module. The PPBL team supports students to navigate these initial steps so that they are Onboarded to Cardano development. Each lesson provides a "You will know you are successful when..." statement, so that students can assess their own progress.

Eventually, some real evidence is needed to make sure that students can complete essential tasks on Cardano. PPBL emphasizes on-chain evidence of student success. For example, for SLT 102.3, students submit a successful transaction hash that can be verified on Pre-Production testnet.

By using on-chain events as evidence of learning, PPBL creates a decentralized resource that can be used to verify results. To see how, continue to the Building Background Knowledge tab.