# Welcome to the Plutus Pioneers Program

![](https://339297050-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Faw58ZXEMU7OwhR9cVswO%2Fuploads%2Fgit-blob-a74c3074d2a00d1b9301da8859dbf003902701ed%2Fiohk-logo.png?alt=media)

### Program Description

The Plutus Pioneer Program (PPP) is a course the IOG Education Team provides to recruit and train software developers in Plutus, the native smart contract language for the Cardano ecosystem.

People who join this program will become part of a learning community with access to courses that teach them the core principles of how to code in Plutus. In addition, this program is highly interactive, with weekly lessons, exercises, live Q\&A sessions, and exclusive access to the creators and key experts in Plutus and Cardano.

{% hint style="info" %}
If you want to learn more about Plutus, we encourage you to look at the [Plutus Core and Plutus Tx user guide](https://plutus.readthedocs.io/en/latest/).
{% endhint %}

#### Program Objectives

By the end of this course, participants will be able to:

* Understand the fundamentals of Plutus
* Apply the principles of Plutus in practice
* Understand sample use cases for Plutus
* Develop a sample DApp in Plutus
* Be aware of and adhere to the best practices for Plutus development

### Prior Experience Required

This program is intended for people with coding experience in any programming language. While you do not need to be an expert in formal methods, programming experience and a general aptitude for logical and mathematical thinking are highly desirable. Some prior knowledge of Haskell or functional programming is also recommended.

{% hint style="info" %}
Plutus is heavily based on Haskell and includes advanced features like Template Haskell, type-level programming, and effect systems. Therefore, having previous experience with Haskell is optional to participate in this program. However, if you want to get started with Haskell before registering for this course, we recommend you to visit the [Learn Haskell section](https://iog-academy.gitbook.io/plutus-pioneers-program-fourth-cohort/preliminary-work/learn-haskell).
{% endhint %}

### Course Structure

This program involves approximately ten hours a week of your time and efforts for ten weeks. It covers the building blocks of Plutus, including:

* Setting your Development Environment
* Introduction to the ecosystem and Theoretical Foundations
* Introduction to PlutusTx and Cardano-cli
* Parameterized Validators
* Native tokens, NFTs, and Minting
* Off-chain code
* Testing Plutus smart contracts
* Working with Marlowe and Plutus
* Staking.
* Interoperability of Cardano with Sidechains

***

This work is licensed under a [Creative Commons Attribution 4.0 International License](http://creativecommons.org/licenses/by/4.0/).

<figure><img src="https://i.creativecommons.org/l/by/4.0/88x31.png" alt="Creative Commons License BY 4.0"><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://iog-academy.gitbook.io/plutus-pioneers-program-fourth-cohort/readme.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
