Last updated a year ago
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.
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
This is the total amount allocated to Haskell Course For Developers.
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
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"
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
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
Lessons:
The First Month (Working time total: 38 hours)
1.Functors, Applicative, Monads and Monoids (duration 30 - 45 minutes)
Lesson video:
Exercise (20 exercise + solution): 10 hours
2.GUI Programming (duration 20 - 30 minutes)
Lesson video:
Exercise (20 exercise + solution): 10 hours
The Second Month (Working time total: 37 hours)
3.Interpreters (duration 10 - 20 minutes)
Lesson video
Exercise (20 exercise + solution): 10 hours
4.Adding functions to Interpreters (duration 30 - 45 minutes)
Lesson video
Exercise (20 exercise + solution): 10 hours
The Third Month (Working time total: 42 hours)
5.Monadic Interpreters (duration 30 - 45 minutes)
Lesson video
Exercise (20 exercise + solution): 10 hours
6.More Monads (duration 45 - 60 minutes)
Lesson video
Exercise (20 exercise + solution): 10 hours
The Forth Month (Working time total: 61 hours)
7.Writing Parsers From Scratch (duration 30 - 45 minutes)
Lesson video
Exercise (20 exercise + solution): 10 hours
8.Writing a Parser for Interpreter (duration 45 - 60 minutes)
Lesson video
Exercise (20 exercise + solution): 10 hours
9.Useful language extensions (duration 20 - 30 minutes)
Lesson video
Exercise (20 exercise + solution): 10 hours
The Fifth Month (Working time total: 46 hours)
10.Type level programming (duration 30 - 45 minutes)
Lesson video
Exercise (20 exercise + solution): 10 hours
Practical Projects:
1.Sudoku game in Haskell (duration 1,5 hours)
2.Tic Tac Toe game in Haskell (duration 1,5 hours)
The Sixth Month (Working time total: 44 hours)
3.Arithmetic Puzzle (duration 1,5 hours)
4.Designing Sokoban Game (duration 3 hours)
5.Building Terminal User Interfaces with Haskell (duration 1 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
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.
Working time total: 268 hours / 6 months
Cost: 60$/hour
Total cost: 16,080 USD
Mr. Curtis D'Alves: Haskell Developer
Mr. Edward Kmett: Haskell Teacher
youtube.com/c/EdwardKmett1
Mr. Arnaud Spiwack: Haskell Developer
Ms. Hannah – Community Admin
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.
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
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
Note: Education and learning videos on Youtube often don't have as many views as other entertainment videos
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.
NB: Monthly reporting was deprecated from January 2024 and replaced fully by the Milestones Program framework. Learn more here