IOG Academy: The pathway to becoming a Cardano smart contract developer
Join the next Plutus Pioneers Program starting later this month
9 February 2023 7 mins read
As the Cardano blockchain evolves by integrating more features and development tools, the interest in developing smart contracts on Cardano is increasing. So, as we start a new year, the Input Output Global (IOG) Education team, want to share in this post the pathway you can follow to get started with Cardano’s smart contract development and the resources we provide to support your learning journey.
Introducing the IOG Academy
The IOG Academy is an initiative of the IOG Education team to enable software developers and financial professionals to develop smart contracts on Cardano.
Through this educational initiative, we provide open courses, technical guides, playbooks, and Q&A sessions to connect with the Cardano development community and support our learners.
Marlowe and Plutus: The Smart Contract Languages on Cardano
If you are new to developing smart contracts on Cardano, you should know that there are two native programming languages you can use: Marlowe and Plutus.
Marlowe is a domain-specific language (DSL) designed for the financial industry. This language was designed to be used by someone who is an expert in the field of financial contracts or business, but does not have programming skills and experience. It allows you to build contracts visually and in more traditional code.
Plutus is the native smart contract programming language for Cardano. It is a Turing-complete language written in Haskell, and Plutus smart contracts are effectively Haskell programs. If you want to start with Plutus, having previous programming experience will help. The first stage of creating smart contracts using Plutus is learning the Haskell programming language and the functional programming paradigm.
Getting into these languages may sound challenging, but we are here to guide you through your learning process with the resources we have outlined in this post.
In the next section, we provide you with the learning paths you can follow to develop your smart contacts for Cardano.
Whether you are a software developer or a financial professional, you can get started with smart contract development by following the paths displayed in the image below:
Figure 1: Learning paths
As you see in the previous image, there are two ways to develop smart contracts for Cardano. If you are a software developer or have previous programming experience, you can follow the path of learning the Haskell fundamentals. Next, you can move forward with the advanced Haskell skills to progress into Plutus and become a “Cardano smart contract developer.”
In the second path, you may be a finance or business expert. You have little or no coding experience and are interested in using blockchain technology to create financial smart contracts. To follow this path, you need to learn Marlowe; optionally, you can also learn the Haskell fundamentals; after that, you will be able to create your financial smart contracts from scratch or from pre-built templates provided to become a “Cardano financial smart contract developer.”
Regardless of your chosen path, in the following sections, you will find the educational resources we provide to assist you in your learning journey.
Becoming a Cardano Smart Contract Developer
As we said before, you can follow this path if you are developing software or you have previous programming experience. Let’s explore the resources we provide to assist you in developing smart contracts on Cardano.
To get started with Haskell, we provide a self-paced Haskell Bootcamp course that introduces you to Haskell fundamentals in the first fifteen lessons. For every lesson, we provide you with a video lecture, an interactive coding environment based on Jupyter notebooks, and homework assignments to put your new Haskell skills into action.
Figure 2: Haskell Fundamentals learning path
You can take this course completely free and review the detailed syllabus using the following links:
Both resources offer the same learning content; the main difference is that if you get enrolled in our e-learning platform, you can share your questions and interact with other learners by using the discussion forums provided for each lesson. For both options, you can also hang out and discuss with other students through the IOG's technical community on Discord by checking out the #ask-haskell channel.
This course is offered in English; if you are a Spanish speaker and want to contribute to translating the course, we encourage you to fork the GitHub repository and share your contributions through a pull request.
After completing the first fifteen lessons of our Haskell course, congratulate yourself on becoming a beginner Haskell programmer!
Figure 3: Advanced Haskell learning path
Note that these lessons are under development as of the date of this publication.
Once you have learned Haskell by either following our course, reading a book, or if you are already familiar with Haskell, you are ready to get started with Plutus.
Figure 4: Plutus learning path
We provide the Plutus Pioneer Program to support you on this learning journey. This is an educational program to train software developers in Plutus for the Cardano ecosystem.
We are pleased to announce that our next course is starting on February 20th, so if you are interested in joining this new cohort, please complete the registration form, and we’ll be in touch with you very soon.
This is a highly interactive program, with weekly videos, exercises, and Q&A sessions, along with exclusive access to the creators and key experts in the language. It runs for ten weeks, requiring a minimum commitment of ten hours per week of your time and effort.
To prepare for this course, you can go through the content of the Haskell Bootcamp to learn more about Haskell. If you want to get started with Plutus, or if you want to learn more about this program, we encourage you to review the Plutus Pioneer Program information page and the previous Plutus Pioneer Program lectures on GitHub.
Becoming a Cardano Financial Smart Contacts Developer
This learning path is designed to encourage financial and business professionals, even with no coding experience, to jump into Cardano and create financial smart contracts using Marlowe and, optionally, Haskell.
Figure 5: Marlowe learning path
To support you in learning Marlowe, we provide the Marlowe Pioneers Program. This educational program is designed to train developers and anyone interested in decentralized finance products to write financial smart contracts (such as loans, swaps, CFDs, and so on) using the Marlowe product suite.
This is a seven week course. Every week includes a live lesson followed by a Q&A session. Additional coursework of between 1 to 5 hours will be required during the week, depending on your skill level and availability.
As with all pioneer programs, this program is offered depending on demand. If you are interested in joining a future cohort, please keep an eye on our Marlowe Pioneer Program page, where we will announce new course dates.
To get started with Marlowe, we invite you to follow the recorded lectures from the latest cohort of this program by following this link.
Collaboration Opportunities with the IOG Education Team
At the IOG Education team we are willing to collaborate with companies, governments, universities, and any group of people interested in developing smart contracts for Cardano.
One way of collaborating with us is by organizing a hackathon around the Cardano ecosystem. To do so, you are invited to review our hackathon starter kit.
If you are interested in hosting any of our courses or any kind of joint educational effort that involves the technology or products that we develop at IOG, please reach out to the IOG Education team.
Stay tuned in our social media channels for future cohorts of our Pioneer Programs and new in person Haskell courses during 2023.