Motoko Bootcamp - Updates & Next Steps

Interest in Motoko Bootcamp has been overwhelming! So far, over 450 people have filled out the registration form!

This update includes detailed information on Motoko Bootcamp to help students prepare for this event, along with an outline of the requirements and next steps needed to gain full enrollment.

If you would like to view the announcement post, which has links to the Student and Dev Mentor registration forms (both closing on 2/28), you can find that here.


What To Expect

Kick-off & Conclusion Meetings

On March 5th (exact time TBD), we’ll start the bootcamp with a kick-off meeting, and we’ll conclude it with one more meeting on March 12th to announce the winning project submissions.

Team Meetings (optional)

Motoko Bootcamp is a self-driven event where each student works on their project individually, but it can still be helpful to have other students who can share your journey and help motivate you to stay on track. When filling out the enrollment confirmation form, you’ll get the option to be included on a team of other students.

For those interested, we will assign teams of 5-10 students within a similar time zone and then give them private voice & chat channels on Discord along with scheduled daily meetings where they can get together and discuss progress. This is highly recommended, especially for beginners!

Daily Coding Challenges

The best way to learn is by doing. Each day students will have a coding challenge to solve. These challenges will be delivered via GitHub and include instructions and references to helpful resources. Completion of the Motoko Bootcamp requires that you solve all coding challenges by the end of the 7th day of the bootcamp.

Lectures with Q&A

There will be lectures on beginner and intermediate topics every day. Expect to attend at least 2 per day, which will be critical to your progress with the core project. Lectures will consist of a 10-30 minute presentation followed by up to 30 minutes of Q&A from students. Dev Mentors will cover a wide range of topics for the benefit of the ecosystem.

Individual Coding on Core Project

Completing Motoko Bootcamp requires submitting a finished core project that meets the requirements for your learning level (beginner or intermediate). Everything else is there to help you with this, but ultimately it’s up to you to use the available resources and complete your core project before the end of the 7th day of the bootcamp.

Ongoing troubleshooting support via Discord

Dev mentors will assist with troubleshooting on the Motoko Bootcamp discord server. Any issues not quickly resolved will be added to a queue for troubleshooting during the Open Mentorship Hours. Students are expected to be respectful of the Dev Mentor’s time by checking to make sure they aren’t asking for help with questions that have already been answered multiple times.

Open Mentorship Hours

Each day we’ll schedule some time where Dev Mentors will troubleshoot issues that couldn’t be easily resolved over the Discord chat channels. We will also leave some time in the end for some open discussion. All students are encouraged to attend the Open Mentorship Hours, even if they don’t have any issues they need help troubleshooting.


Prizes

Some of our partner projects will be contributing NFTs to our prize pools, but those details haven’t been finalized yet. We will announce more info about these additional prizes soon, but here is what we’ve already allocated:

Students who complete Motoko Bootcamp

All Motoko Bootcamp graduates will receive a non-transferrable NFT diploma which can be used to prove their completion. They will also get a special ICP Squad Accessory NFT (graduation hat) to celebrate their accomplishment! These NFT diplomas also give them access to an exclusive Motoko Bootcamp DSCVR portal where they can continue learning and collaborating with Dev Mentors and other graduates.

  • Completion requires that they solve all of the daily coding challenges and submit a core project that meets their learning level requirements (beginner or intermediate) by the end of the 7th day of the bootcamp. If you intend to do this, you must confirm full enrollment and meet the requirements outlined in the next section.

1st place for Intermediate

  • Their NFT collection will be listed on Entrepot and turned into a live NFT project on the Internet Computer.
  • (1) Legendary ICP Squad Character NFT which is personalized to look like them.
  • (1) Legendary ICP Squad Accessory NFT. These are rare, high-value NFTs which offer lifetime eligibility for passive ICP income. You can learn more about this here: https://www.dfinitycommunity.com/icp-squad-the-fun-is-just-beginning/
  • An NFT diploma proving they won 1st place for Intermediate

2nd place for Intermediate

  • (1) Legendary ICP Squad Accessory NFT
  • An NFT diploma proving they won 2nd place for Intermediate

3rd place for Intermediate

  • (1) Rare ICP Squad Accessory NFT (not Legendary but still rare/valuable)
  • An NFT diploma proving they won 3rd place for Intermediate

1st place for Beginner

  • (1) Legendary ICP Squad Character NFT which is personalized to look like them.
  • (1) Legendary ICP Squad Accessory NFT.
  • An NFT diploma proving they won 1st place for Beginner

2nd place for Beginner

  • (1) Legendary ICP Squad Accessory NFT
  • An NFT diploma proving they won 2nd place for Beginner

3rd place for Beginner

  • (1) Rare ICP Squad Accessory NFT (not Legendary but still rare/valuable)
  • An NFT diploma proving they won 3rd place for Beginner

Next Steps

Step 1: Confirm valid email & join Discord

We will use the Motoko Bootcamp Discord server to share resources and announcements both before, during, and after the event. If you filled out the registration form, you should have already gotten an invite URL to our Discord emailed to you. If you didn’t receive this, then check your spam folder and try filling out the registration form again, making sure to use a valid email address.

Step 2: Confirm full enrollment by March 1st

We understand that not everyone who filled out the registration form will have the availability in their schedule to complete a core project in 7 days. Everyone is welcome to watch the lectures and learn what they can along with their peers. However, we’ll still need an accurate count of exactly how many students will be attempting to fully complete Motoko Bootcamp to earn a diploma.

For those of you who want to commit to the goal of fully completing Motoko Bootcamp, please read the FAQ below and fill out the enrollment confirmation form.

Step 3: Deploy a “Hello” canister to the network & setup your development environment by March 4th

The one technical requirement for full enrollment in Motoko Bootcamp is to deploy a “Hello” canister by the end of March 4th. This is only a requirement to earn a diploma and compete for the prizes. Anyone can still watch the lectures and try to learn independently even if they don’t complete this requirement.

We have Dev Mentors who will be delivering walkthrough videos (via Discord) to help beginners set up their development environments so that they can complete this “Hello World” tutorial. This will ensure everyone with full enrollment will have the ability to write and deploy code from day one so that they are prepared to start work on their core project and apply what they learn.

Here’s the URL for the Hello canister tutorial: https://smartcontracts.org/docs/quickstart/network-quickstart.html


FAQ

What time commitment will this take?

For those pursuing full enrollment, it’s strongly recommended that you clear your schedule as much as possible, especially if you are a beginner. Plan for 2-3 hours of lectures/meetings and at least 3-5 hours of coding each day.

I’m a complete beginner. Can I do this?

It will not be easy, but if this is something you want to do, then it’s time to get started!

If you have never done any coding before, it would be a good idea to try and work through some basic web development tutorials to learn about these fundamental topics as you prepare for the bootcamp:

  • HTML
  • CSS
  • Javascript
  • Node.js
  • Git
  • Using a Terminal

There are many excellent YouTube videos and online resources for quickly learning the basics for each of the above topics. One excellent resource would be TeamTreehouse.com, a coding education website that offers a seven-day free trial and only costs $25/month. Specifically, these courses should help you gain familiarity with basic web design concepts:

You may also want to check out freecodecamp.org.

Also, I’d like to offer a bit of encouragement:

There's only so much which can be learned in one week, so don't expect miracles from yourself or get frustrated if you don’t progress as fast as you want. Most coding bootcamps are 3-4 months long for a reason. However, you have to start somewhere, so you might as well be with a large group of other people who are also passionate about learning the same thing!

It doesn't take being a genius to learn how to code. It just takes some hard work, wanting it enough to keep going when it gets tedious, being relentless in finding answers, and not being afraid to ask for help.

If you leave with more knowledge than when you started, then that's a win even if you may not have finished everything in time!

💡
“Once you discover one simple fact, and that is everything around you that you call life, was made up by people that were no smarter than you.” - Steve Jobs

Will I be learning Rust or Motoko?

The focus of this event is Motoko, but if you have strong development experience, you are free to attempt to complete your core project in Rust. We will have some lectures on Rust, and many of our dev mentors use Rust, but the daily challenges will be in Motoko. Everyone is welcome and encouraged to attend the Rust lectures to expand their knowledge since it is widely used in the ecosystem.

What’s the specific curriculum for each day?

This will be different depending on whether you will be participating as a beginner or intermediate. The lectures and daily challenges will be published on our Discord and GitHub.

That said, there’s no step-by-step tutorial to walk you through everything you’ll need to know from start to finish because that doesn’t exist for the Internet Computer yet (which is part of the motivation for this event). This means you’ll need to use the resources we provide to find answers, search Google to learn about terms/topics you don’t know, ask questions, read documentation, troubleshoot issues, and learn by doing. This will be a self-driven learning journey we all take together.

Here’s an overview of some of the lecture topics we have planned:

  • Why Web 3.0 matters, and what the IC brings into the equation? (Beginner & Intermediate)
  • The Internet Computer Protocol & quick intro to the Motoko language. (Beginner)
  • Deploying your first canister (locally and on the IC) (Beginner)
  • Motoko: variables, functions, and types (Beginner)
  • Motoko: pattern matching and variant type (Beginner)
  • Motoko: mutable states and shared type. (Beginner)
  • Motoko: data structures & CRUD canister. (Beginner and Intermediate)
  • Deploying a website on the Internet Computer (Beginner)
  • Candid: the language of the Internet Computer. ( Beginner and Intermediate)
  • How to interact with a canister? (Beginner)
  • Motoko: managing your canister: admin, cycles, and error handling. (Beginner & Intermediate)
  • Motoko : packages & vessel (Beginner & Intermediate)
  • Authentication on the Internet computer: wallets, internet identity, and principles. (Beginner & Intermediate)
  • Motoko: upgrading your canister safely. (Beginner & Intermediate)
  • Writing canister with Javascript/Typescript (Beginner & Intermediate)
  • Integrating other canisters: an example with canistergeek.
  • Motoko : Handle HTTP requests & assets. (Beginner & Intermediate)
  • Motoko: Introduction to NFTs. (Beginner)
  • Motoko and wallets: Processing payments on the IC. (Beginner and Intermediate)
  • Open Internet Services: a new way of building software on the IC. (Beginner and Intermediate)
  • Advanced: scaling to infinity, creating and managing other canisters within your canister. (Intermediate)
  • Writing canister with Rust (Intermediate)
  • Rust and wallets: Processing payments on the IC. (Beginner and Intermediate)
  • Rust using tests to speed up development. (Beginner and Intermediate)

How will different time zones be handled?

Our Dev Mentors & students are all over the world, so whenever we schedule a lecture or meeting, it will always be inconvenient for some time zones. This is part of the reason why everything will be recorded.

Dev Mentors will give lectures according to their respective time zones. We will try to publish recordings as fast as possible so that students in other time zones can catch up on anything they may have missed.

What if I’m not a fluent English speaker?

Unfortunately, for now, Motoko Bootcamp is limited to English because it’s logistically difficult to do live multilingual coding education. Translating technical information is uniquely challenging, and while we hope to make future events more inclusive, we only have the resources to support one language for this first event.

However, after the bootcamp is over, we’ll be trying to translate some of the most crucial educational content into multiple languages!

What happens after Motoko Bootcamp?

Students who successfully complete Motoko Bootcamp will retain lifetime access to an exclusive DSCVR portal, and we hope to line up some opportunities for them with our Dev Mentors and partners.

Our goal is to try and host Motoko Bootcamp twice a year, so students who complete this first bootcamp as beginners may participate as intermediate in a future Motoko Bootcamp event. This also means that people who missed this bootcamp should get another opportunity in the future!

In addition, we will be collecting all of the recordings and GitHub resources into an organized community resource available for free to anyone interested in learning how to build on the Internet Computer. We’ll also be translating some of this content to multiple languages.

Will I be recorded during the live sessions?

All lectures and meetings are recorded, so if you ask a question during a lecture Q&A or have a Dev Mentor troubleshoot an issue for you during the Open Mentorship Hours, then yes, you’ll be on that recording. You won’t be expected to have your camera on, and we don’t intend on publishing anything that’ll embarrass anyone. Still, we can’t build the community educational resources mentioned previously unless we capture as much useful content as possible.

Could I make this a career?

Yes, but that’s ultimately up to you and how much you are willing to invest in your education!

The Internet Computer ecosystem is growing exponentially and is full of opportunities. Some solo devs support themselves with Dfinity grants and/or NFT project sales, while others work with large teams to build the future of web 3.0. There’s a lot to build, and if you learn how to build on the Internet Computer now, you’ll be getting in early!