Motoko Bootcamp 2022 👻

[THIS EVENT IS OVER - THIS REPOSITORY IS HERE FOR ANYONE INTERESTED IN MAKING USE OF THE EDUCATIONAL RESOURCES]
Hello and welcome to all motivated learners. 🧑‍🎓

We believe the Internet Computer is an amazing piece of technology: cryptography, mathematics, computer science, blockchain technology, cloud technology... it's one achievement for mankind to combine so much ingenuity and knowledge into one project. 📚

However the first and most important aspect of the Internet Computer will always be the community and the people believing in it. 👦

Motoko bootcamp is a global event, organized by the community, all Dev Mentors have really different backgrounds but we all have at least one huge interest in common: the Internet Computer! ∞

The goal of this bootcamp is to transmit our knowledge along with our passion.

We all know the world needs to change, and that technology alone won't solve everything, but we also believe that blockchain techology and the Internet Computer will play a major role in shaping the new world. 🌍

We hope you'll use the knowledge acquired during this week to help us build a fairer and brighter world. 🌈

Structure of the week 📆

The bootcamp will start on the 5th of March and last until the 12th of March.
Each student is responsible for their own progression; a student will either be in the "beginner" (No coding experience) track or "intermediate" (Some level of experience) track.

Participation in the bootcamp is open and free, you can attend any of lectures you are interested in and take on any challenge you want.
However if you wish to be considered a Motoko bootcamp graduate and compete for prizes, you must:

  • Be fully enrolled
  • Complete the daily challenges (before the solutions are provided on the following day)
  • Submit your core project before the deadline on the March 12th.

Lectures 🎬

Lectures will be held live on Zoom Webinar by mentors (each mentor is an experienced member of the community with who is actively developing on the IC). Each lecture will cover one specific topic, most of them will focused around Motoko but some will be for Rust developers.

You can take a look at the list of lectures .

You can also view the full Motoko Bootcamp Calendar .

This calendar will open up in the CST timezone, but you can click the (+) symbol in the bottom right corner to add the events to your calendar and see them according to your own time zone. Each event contains a Zoom Webinar join URL, and if necessary there are also options to call in for audio (though we recommend using the join URL).

Each lecture will be recorded and available on Discord so you can keep up even if you are not available to watch it live.

Don't stress out about attending all lectures.

Daily guide 📜

For each day of the bootcamp, a guide will be provided.

This guide will contains lessons on multiples Computer Science topics, those lessons are highly recommended for begginers, many people participating in this bootcamp have no coding experience and no background in Computer Science; if that's your case we believe it's important to acquire this fundamental knowledge.
However, don't feel overwhelmed by those topics and make sure to take your time.
All ressources will stay available after the bootcamp, the core objective of this week is to familiarize yourself with the Internet Computer.
Even for an experimented developer getting familiar with the Internet Computer and being able to develop on it in just one week is already quite challenging.

You can click here to check the topics of the 7 days.

Daily challenges 📝

Coding is all about practice!
The more you challenge yourself, the better you'll get. 🧑‍💻

Each day along with the daily guide you will also have a list of 10 challenges related to what you'll learn in the lessons. Solutions to these challenges will be released on the following day at 7am EST.

If you wish to graduate from Motoko Bootcamp and compete for prizes, you will need to work each day on the challenges and commit your solutions in a public GitHub repo before the correct solutions are published on the following day at 7am EST.

Please fill out this form before the first daily challenge deadline so that we can keep track of the GitHub repo where you are doing your work.

Core project 🧑‍🔬

All information related to the core project are on this document.

Open mentorship hours 🐥

Each day two Open Dev Mentor Hours are scheduled (7am EST & 4pm EST).
These meetings will be the opportunity for all students to troubleshoot issues or ask questions.
This is open to everyone participating in the Bootcamp.
It is highly recommended you attend at least one of these each day even if you don't have any specific issue.

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.

Each student will be assigned a team of 5-10 students within a similar time zone and then get private voice & chat channels on Discord where they can get together and discuss progress. This is highly recommended, and we encourage each team to schedule a time each day to meet on the Discord voice channel to stay in touch. This is especially recommended for beginners!

Assistance & Ongoing Troubleshooting 📞

This event is being run by volunteers and we have limited ressources, we won't be able to answer all questions at all time considering that we have more than 200 students, please understand this fact and make sure to follow all instructions in the order provided.

  1. Search on Google : most issues have their solution somewhere on the Internet, this is how real developers solve most of their problems. You need to make sure you've searched a for a few minutes on the Internet before moving to the next step.
  2. Ask your team for help on Discord : you all have been assigned a specific team channel on Discord, this team is composed of people in your Time zone and roughly with the same level as you. If you run into an issue, someone in your group probably encountered the same and might have the solution. You need to make sure you've asked your team and waited for a few minutes before moving to the next step.
  3. Go to the discussion section and ask your question by creating a new topic. Make sure your issue hasn't be already answered in another topic.
    If you decide to create a new topic, please provide as much informations as possibles :
  • When did you encounter the issue ?
  • What is the exact error message ?
  • Povide some screenshots to illustrate your request.

Note : your issue might be resolved only in the next mentor session if we need you to share your screen and the issue cannot be resolved in one simple answer. Make sure to stay active in the topic.

🚫 Do not spam the main channel of the Discord with your issue, or do not directly DM mentors. Abusive comportements might risk to get kicked off.

Prizes 🎁

All Motoko-bootcamp graduates will receive :

  • A non-transferrable NFT-diploma that will give special accesss to an exclusive Motoko Bootcamp DSCVR portal where students will be able to continue learning and collaborating with Dev Mentors and other graduates. 🏆

  • An ICP Squad accessory graduation hat that can be equipped on their avatar. 🎓

For each track, based on the core project & daily challenges submission will determine a few winners, who will receive special top prizes. You can click here to read more.

The gift of knowledge is the highest gift in the world.

Ressources 📚

Motoko documentation : The main documentation for the Motoko language.

Motoko playground : A sandbox to quickly write and test Motoko code from your browser.

Motoko extension : A Motoko extension for Visual Studio Code that provides syntax highlighting.

An article on Motoko by it's conceptor. : Motoko, Candid, Web assembly...

Dfinity education : Educational ressources on datastructures, web development, blockchain and more.

create-ic-app : Template project for major framework (Vue, React, Vanilla JS,Svelte).

Advanced :

The invoice canister : processing payments on the IC. 💰