# Lesson 6.1: The State Monad in Practice

Welcome to Lesson 6.1! In this lesson, Robertino provides an introduction to this lecture and explain how the state monad works.

{% embed url="<https://youtu.be/8tWzG0ML6Z4>" %}

{% tabs %}
{% tab title="Learning Objectives" %}
After completing this lesson, you'll be able to:

* Explain what the state monad is.
* Describe how the state monad is used to test smart contracts.
* Code simple tests using the state monad.
  {% endtab %}

{% tab title="Additional Resources" %}
To learn more about the topics covered in this lesson, we encourage you to review the following resources:

* [Intro to IO monad](https://youtu.be/0xQ8j6h8bNc)
* [Simple State Monad examples](https://wiki.haskell.org/State_Monad)
* [Deep dive into the State Monad](https://en.wikibooks.org/wiki/Haskell/Understanding_monads/State)
  {% endtab %}
  {% endtabs %}

## Collaborate with the Pioneers Community

Remember that you can interact with the participants of the PPP through the [IOG's technical community on Discord](https://discord.gg/inputoutput) by joining the channels under the Plutus Pioneers category.

If during the program you have questions about Plutus, we invite you to share them at [Cardano Stack Exchange (CSE)](https://cardano.stackexchange.com/) by adding the `plutus-pioneer-program` tag to your question. The IOG's Education Team members will monitor these questions to support your learning journey. Whenever you share a question at CSE, you're helping to build up the Cardano and Plutus development knowledge base.

***

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>
