Haskell Course For Developers
Current Project Status
complete
Total
amount
Received
$16080
Total
amount
Requested
$16080
Total
Percentage
Received
100%
$16080 Received out of $16080
Solution
We created a Haskell course for developers from other programming languages. Haskell is the base programming language of Cardano's Smart Contracts. We can grow the number of developers for Cardano
Problem
There are many developers who really want to write smart contracts and build projects on Cardano. But Haskell is a big barrier for developers from comparative programming languages.
Impact alignment
Feasibility
Value for money

Team

This proposal was approved and funded by the Cardano Community via Project F9: Developer Ecosystem Catalyst funding round.

  • Video cover image
  • Video cover image
  • Video cover image

[IMPACT] Please describe your proposed solution.

Haskell is a functional programming language and it is not as popular as other imperative programming languages. Besides, Haskell's programming style is very different from today's popular programming languages. This creates a barrier for developers to access and build products on Cardano

Haskell Course For Developers is a course that can help developers from other programming languages access Haskell in a simpler way. This can help a large number of developers from other programming languages switch to building projects on Cardano.

In fund 8, we have a funds proposal "Haskell Course For Beginner" - Link: https://cardano.ideascale.com/c/idea/399961. This proposal help everyone from beginner can approach Haskell easily (a basic Haskell course).

But to be able to become a real developer on Cardano. Developers need to take more in-depth Haskell courses to be able to build real projects on Cardano. That's why we're building an advanced Haskell course for developers who can build Dapps on Cardano.

So, we will create a Haskell course with lessons on advanced Haskell knowledge that can help Developers build projects using Haskell. The content of the course will be based on advanced Haskell books such as: Real World Haskell, Practical Haskell, Production Haskell,…

The content of the videos will include lessons, exercises and practical projects. Videos will be uploaded to Youtube and exercises will be uploaded to Github

Once the course is completed, we will share these videos with the developer communities of other blockchain platforms and developers interested in blockchain.

We are also admin for several communities interested in Cardano who want to become developers to create projects on Cardano. We will be sharing this course with these communities.

https://www.facebook.com/groups/cardanoviet

https://www.facebook.com/groups/ada.holder

https://t.me/dautucryptotaman

[IMPACT] Please describe how your proposed solution will address the Challenge that you have submitted it in.

Plutus is the native smart contract language for Cardano. It is a Turing-complete language written in Haskell, and Plutus smart contracts are effectively Haskell programs.

Plutus contracts consist of parts that run on the blockchain (on-chain code) and parts that run on a user’s machine (off-chain or client code). Both the on-chain and off-chain code are written in Haskell

Haskell is a general-purpose, statically-typed, purely functional programming language with type inference and lazy evaluation. This is an uncommon language like JavaScript, C++, C#,…. Therefore, there are very few developers who can use this language for programming.

This proposal will help to develop "Number of developers actively building on top of Cardano"

[IMPACT] What are the main risks that could prevent you from delivering the project successfully and please explain how you will mitigate each risk?

Developers learn a new programming language like Haskell often have a lot of problems. Therefore, only learning through videos on Youtube and the exercise will be very difficult.

We will create Zoom Q&A sessions to answer learners' questions. Learners just need to leave a comment with the problem below the video. We will show developers how to solve those problems in the zoom meeting

[FEASIBILITY] Please provide a detailed plan, including timeline and key milestones for delivering your proposal.

We will create a Haskell course with lessons on advanced Haskell knowledge that can help Developers build projects using Haskell. The content of the course will be based on advanced Haskell books such as: Real World Haskell, Practical Haskell, Production Haskell,…

The content of the videos will include lessons, exercises and practical projects. Videos will be uploaded to Youtube and exercises will be uploaded to Github

<u>Lessons:</u>

<u>The First Month (Working time total: 38 hours)</u>

1.Functors, Applicative, Monads and Monoids (duration 30 - 45 minutes)

Lesson video:

  • Making content: 6 hours
  • Recording video: 2 hours
  • Editing: 2 hours

Exercise (20 exercise + solution): 10 hours

2.GUI Programming (duration 20 - 30 minutes)

Lesson video:

  • Making content: 6 hours
  • Recording video: 1 hours
  • Editing: 1 hours

Exercise (20 exercise + solution): 10 hours

<u>The Second Month (Working time total: 37 hours)</u>

3.Interpreters (duration 10 - 20 minutes)

Lesson video

  • Making content: 5 hours
  • Recording video: 1 hours
  • Editing: 1 hours

Exercise (20 exercise + solution): 10 hours

4.Adding functions to Interpreters (duration 30 - 45 minutes)

Lesson video

  • Making content: 6 hours
  • Recording video: 2 hours
  • Editing: 2 hours

Exercise (20 exercise + solution): 10 hours

<u>The Third Month (Working time total: 42 hours)</u>

5.Monadic Interpreters (duration 30 - 45 minutes)

Lesson video

  • Making content: 6 hours
  • Recording video: 2 hours
  • Editing: 2 hours

Exercise (20 exercise + solution): 10 hours

6.More Monads (duration 45 - 60 minutes)

Lesson video

  • Making content: 8 hours
  • Recording video: 2 hours
  • Editing: 2 hours

Exercise (20 exercise + solution): 10 hours

<u>The Forth Month (Working time total: 61 hours)</u>

7.Writing Parsers From Scratch (duration 30 - 45 minutes)

Lesson video

  • Making content: 6 hours
  • Recording video: 2 hours
  • Editing: 2 hours

Exercise (20 exercise + solution): 10 hours

8.Writing a Parser for Interpreter (duration 45 - 60 minutes)

Lesson video

  • Making content: 8 hours
  • Recording video: 2 hours
  • Editing: 2 hours

Exercise (20 exercise + solution): 10 hours

9.Useful language extensions (duration 20 - 30 minutes)

Lesson video

  • Making content: 6 hours
  • Recording video: 2 hours
  • Editing: 1 hours

Exercise (20 exercise + solution): 10 hours

<u>The Fifth Month (Working time total: 46 hours)</u>

10.Type level programming (duration 30 - 45 minutes)

Lesson video

  • Making content: 6 hours
  • Recording video: 2 hours
  • Editing: 2 hours

Exercise (20 exercise + solution): 10 hours

<u>Practical Projects:</u>

1.Sudoku game in Haskell (duration 1,5 hours)

  • Making content: 8 hours
  • Recording video: 2 hours
  • Editing: 3 hours

2.Tic Tac Toe game in Haskell (duration 1,5 hours)

  • Making content: 8 hours
  • Recording video: 2 hours
  • Editing: 3 hours

<u>The Sixth Month (Working time total: 44 hours)</u>

3.Arithmetic Puzzle (duration 1,5 hours)

  • Making content: 8 hours
  • Recording video: 2 hours
  • Editing: 3 hours

4.Designing Sokoban Game (duration 3 hours)

  • Making content: 12 hours
  • Recording video: 4 hours
  • Editing: 5 hours

5.Building Terminal User Interfaces with Haskell (duration 1 hours)

  • Making content: 6 hours
  • Recording video: 2 hours
  • Editing: 2 hours

As each video is completed, we will share it with 5 groups of developers interested in blockchain, smart contract programming and dapp building, and 5 groups interested in Cardano.

After 6 months we will help at least 50 people join the Plutus Pioneer Program course and 10 proposals submitted on Catalyst through Haskell Course For Developers

Our team submitted 2 other proposals in fund 9

This Proposal we will be translating the book Learn You a Haskell for Great Good! A Beginner's Guide (404 pages) for the first month. And this proposal only lasted for 3 months. Therefore, for the first 3 months of the Haskell Course for Developers proposal, we only made 2 video lessons and 2 exercises

We only plan to do 4 videos and 2 exercises per month to make sure the execution plan is feasible (total working time: 34 hours/month)

We have 2 funded proposals in fund 8:

We have finished 60% this proposal in the first month. Everyone can check on

Youtube:

https://www.youtube.com/embed/JsL3osSaWPM?start=&list=PL6XMhpnl2Hg_5mLk5Gv3os1HUcP1E1Rj6Github: https://github.com/BlockchainInsider/Haskell-For-Beginners-Exercise

https://github.com/BlockchainInsider/Haskell-Beginners-Result

  • Haskell Book Vietnamese Translation

You can download here: https://bit.ly/Real-World-Haskell

In fund 8 we have done 60% Haskell Course for Beginner and translated a book (650 pages) in the first month. So we are fully capable to execute all 3 proposals in fund 9 if they are funded.

[FEASIBILITY] Please provide a detailed budget breakdown.

Working time total: 268 hours / 6 months

Cost: 60$/hour

Total cost: 16,080 USD

[FEASIBILITY] Please provide details of the people who will work on the project.

Mr. Curtis D'Alves: Haskell Developer

Mr. Edward Kmett: Haskell Teacher

  • 11 years of Haskell programming experience
  • Haskell Programming Tutorial Youtube Channel: (~2,500 followers)

youtube.com/c/EdwardKmett1

Mr. Arnaud Spiwack: Haskell Developer

Ms. HannahCommunity Admin

  • Founder of Vietnamese Cardano Community ( 46,000 members)

  • One year experience in operating a stake pool (SPO)

  • Experience in blockchain financial research and investment since 2017

  • Blockchain product and market research specialist

  • Telegram: <https://t.me/hannahgates>

    [FEASIBILITY] If you are funded, will you return to Catalyst in a later round for further funding? Please explain why / why not.

If we are funded, we will return to Catalyst in a later round for further funding

We want to build more Haskell courses related to Plutus to have lessons to help developers use Haskell to code Smart Contracts and build Dapps on Cardano.

[AUDITABILITY] Please describe what you will measure to track your project's progress, and how will you measure these?

All lesson videos will be uploaded to Youtube in public mode so everyone can watch and keep track.

We will measure the number of video viewers, likes, comments and subscribers to understand the impact these videos have on viewers.

Exercises will be uploaded to Github

[AUDITABILITY] What does success for this project look like?

We created a course where anyone who wants to become a developer on Cardano can easily use Haskell to build projects on Cardano.

Haskell Course for Developers will become an advanced course for Developers can practice with Haskell by making projects

Plutus Pioneer Program participants will also gain the basics of Haskell to learn more effectively.

6 months after we finished the video lessons

  • We will help at least 50 people join the Plutus Pioneer Program
  • Our Youtube channel got 500 subscribers
  • Each video has more than 100 views, 20 likes and comments

<u>Note</u>: Education and learning videos on Youtube often don't have as many views as other entertainment videos

[AUDITABILITY] Please provide information on whether this proposal is a continuation of a previously funded project in Catalyst or an entirely new one.

This is an advanced Haskell Course that we upgraded from Haskell Course For Beginner (link: https://cardano.ideascale.com/c/idea/399961) - a funded proposal in fund 8.

Community Reviews (1)

Comments

Monthly Reports

This is the first report of us

Disbursed to Date
$16,080
Status
Not yet started on project
Completion Target
3. In the next 6 months
Comments 0

Login or Register to leave a comment!

Disbursed to Date
$16,080
Status
Still in progress
Completion Target
3. In the next 6 months
Comments 0

Login or Register to leave a comment!

Disbursed to Date
$16,080
Status
Still in progress
Completion Target
3. In the next 6 months
Comments 0

Login or Register to leave a comment!

close

Playlist

  • EP2: epoch_length

    Authored by: Darlington Kofa

    3m 24s
    Darlington Kofa
  • EP1: 'd' parameter

    Authored by: Darlington Kofa

    4m 3s
    Darlington Kofa
  • EP3: key_deposit

    Authored by: Darlington Kofa

    3m 48s
    Darlington Kofa
  • EP4: epoch_no

    Authored by: Darlington Kofa

    2m 16s
    Darlington Kofa
  • EP5: max_block_size

    Authored by: Darlington Kofa

    3m 14s
    Darlington Kofa
  • EP6: pool_deposit

    Authored by: Darlington Kofa

    3m 19s
    Darlington Kofa
  • EP7: max_tx_size

    Authored by: Darlington Kofa

    4m 59s
    Darlington Kofa
0:00
/
~0:00