funded

Haskell/Plutus/Marlowe Education

$19,469.00 Received
$19,469.00 Requested
Ideascale logo View on ideascale
解决方案

我想创造教育内容,以结构化的方式传达复杂的信息,并辅以启发新想法的例子。

Problem:

我们希望确保新来的开发者和企业家能够轻松进入,然而Haskell/Plutus/Marlowe的教育内容却很少。


This proposal was approved and funded by the Cardano Community via Project Fund2 Challenge Catalyst funding round.

MY HASKELL EXPERIENCE I am a beginner in Haskell - I only started learning a few months ago because Cardano is built on Haskell. My idea is to create the content as I learn new things myself - I am by no means a Haskell expert.

GENERAL PLAN

The current challenge of attracting new developers to Cardano involves a problem of the high-barrier entry mostly because of the fact that Cardano is built on the Haskell programming language. In 2019, Haskell accounted for just 0.39% of all active users code on GitHub (https://www.benfrederickson.com/ranking-programming-languages-by-github-users/). This is probably because Haskell is considered a hard language to learn and its popularity is low as most devs today are used to imperative Object-Oriented Programming languages than functional languages such as Haskell.

My solution to this problem is to bridge the gap between Cardano and developers by creating beginner-friendly Haskell, Plutus and Marlowe materials that can easily be absorbed by everyone. This would lower the entry barrier for new developers wanting to build on Cardano. The content format envisioned are 45-minute videos covering various topics related to development on Cardano (some sections might require part 1 / part 2 videos). These videos would be accompanied by written content that supplements the material and offers an alternative for people who prefer written guides.

A great idea suggestion from community members @adalapuz and @thiago.ouros that I planned to do in the future:

A live classroom workshop/lecture - this would be a great way to convey knowledge in a more personal environment rather than static videos / written guides. In addition, it would allow to really be able to see how many developers the idea is attracting the number of people attending. However, I think that sort of workshop would be best to design after the initial course content is released. Firstly, because this is a new idea so feedback from the on-demand content will help me gain insights into what needs to be improved/removed/included etc..

Once I have that information, I could design a much better workshop that could be a one day/few half-days/multiple 1.5 hours live session(s) depending on what is estimated to work best.

So, I absolutely want to include that in my work, but I'd like to build and improve the core of the material, and then, later on, I can design live workshops/lectures that build on top of it. However, live workshops will probably receive different feedback from static videos so it's important to include them in the proposal as well. Right now, I propose to do a live workshop session after each major chapter of the content covered as both a metric of developer interest and initial feedback to improve future workshops. Initial live workshops proposed at the moment:

Introduction to Haskell

Introduction to Plutus

Introduction to Marlowe

TOPICS TO COVER

The following topics can be initially considered as a series of connected courses that build on top of each other (these might get changed around as the education plan improves over time):

Setting up the dev environment (Plutus Platform, framework libraries)

Introduction to Haskell

Introduction to Plutus Core and Plutus Tx

  • Both 2) and 3) would have to be split up into sections such as: a) Writing basic Haskell/PlutusTx programs

b) Datatypes

c) Functions

d) Type classes

e) Lifting Values

Introduction to Smart Contracts in Cardano

a) Introduction to EUTXO

b) Validator Scripts

c) Forging Policies

Tokenisation with examples

Marlowe can be considered a separate course that is more aimed at non-developers:

Introduction to Smart Contracts in Cardano

a) Introduction to EUTXO

b) Validator Scripts

c) Forging Policies

Smart Contracts exemplified with Marlowe

COSTS

Equipment - 1100 USD

  • Canon T3i Digital SLR Camera Body

  • Canon EF 40mm f/2.8 STM Lens

  • 60-Inch Lightweight Tripod

  • SanDisk Extreme 32GB SDHC Memory Card

  • Sony ECMCS3 Omnidirectional Microphone

  • Rode smartLav+ Lavalier Microphone

  • Portable Digital Recorder

  • MicroSDHC Memory Card

  • Lighting Kit

  • Whiteboard

Time - 12,480 USD

At 40 USD per hour:

12 hours per week -> 480 USD per week

For 26 weeks (6 months) -> 12,480 USD

External suppliers (estimated 3,120 USD for 13 videos)

  • video editing

Contingencies - 2500 USD

  • additional equipment required

  • additional time required

RISKS

In case the time required to create the content turns out to be significantly higher than estimated, the contingency funds will cover additional work time

If a family or another type of crisis happens and I don't have as much time as I thought - depending on the crisis level, the work could either be frozen for a short time or the remaining funding could be returned

If the project turns out to be more complicated than expected, it is possible to break it up into chunks and focus on a chunked part to ensure that it is delivered while the rest is put on hold

MILESTONES

Recording equipment set-up

A milestone for each topic/section listed above recorded and delivered

For each section released, an analytics report on video performance that will guide future improvements

IP/Copyright

All IP and licensing will remain vested with me. The outcome of this proposal will be a service for the community.

METRICS

Measuring success will be done through:

Honouring milestone deadlines

Video analysis that gouges public interest as well as satisfaction

Voluntary participant survey analysis to gouge satisfaction and reveal areas of potential improvement

Bitly metrics on link activity for videos, written content and any links used in the course (e.g. Marlowe Playground)

Comments

Monthly Reports

close

Playlist

  • EP2: epoch_length

    Authored by: Darlington Kofa

    3分钟24秒
    Darlington Kofa
  • EP1: 'd' parameter

    Authored by: Darlington Kofa

    4分钟3秒
    Darlington Kofa
  • EP3: key_deposit

    Authored by: Darlington Kofa

    3分钟48秒
    Darlington Kofa
  • EP4: epoch_no

    Authored by: Darlington Kofa

    2分钟16秒
    Darlington Kofa
  • EP5: max_block_size

    Authored by: Darlington Kofa

    3分钟14秒
    Darlington Kofa
  • EP6: pool_deposit

    Authored by: Darlington Kofa

    3分钟19秒
    Darlington Kofa
  • EP7: max_tx_size

    Authored by: Darlington Kofa

    4分钟59秒
    Darlington Kofa
0:00
/
~0:00