The ICP.Master Academy is tailored for experienced Web 2 developers eager to dive into blockchain technology and learn to build projects on the Internet Computer Protocol.
The program spans two months, featuring a comprehensive curriculum of 16 hours of theory and hands-on practice.
In the third month, participants engage in an additional 8 hours of mentoring to develop a Minimum Viable Product (MVP) with a focus on backend canister development.
The course kicks off on March 12th, a Tuesday, with classes scheduled every Tuesday and Thursday at 1:00 pm EST (10:00 am PST). To ensure a smooth start, there will be an orientation and mentor-student introduction session on March 11th.
Timeline
Week 1: Introduction to Motoko and the Internet Computer
Orientation (March 11th) : Course presentation and developers introduction
Session 1 (March 12th) : An introductory session covering course details, participant introductions, and an overview of the Internet Computer and Motoko.
Session 2 (March 14th) : This session focuses on a detailed introduction to Motoko, including its syntax and basic constructs, and setting up the Motoko Playground.
Week 2: Local Development Environment and Basic Note Functionality
Session 3 (March 19th) : We will set up a local IC replica and delve into the local development environment, including practice exercises.
Session 4 (March 21st) : Starting the development of a simple Note canister with an introduction to CRUD operations and hands-on basic setup.
Week 3: Enhancing Note Functionality and Introduction to Advanced Data Types
Session 5 (March 26th) : Adding timestamp and basic validation to the Note canister, and an introduction to advanced data types and variants in Motoko.
Session 6 (March 28th) : A practical session on implementing advanced data types in the Note canister, enhancing it with new features
Week 4: Front-End Integration and MOPS Libraries
Session 7 (April 2nd) : Introduction to integrating the front-end with Motoko using DFINITY SDK and an overview of MOPS libraries.
Session 8 (April 4th) : Hands-on session for integrating the front-end with the Note canister and implementing text validation using MOPS libraries.
Week 5: Data Persistence, Migrations, and State Management
Session 9 (April 9th) : A lecture on state management, persistent storage, and introducing data persistence in the Note canister.
Session 10 (April 11th) : Implementing and handling data migrations in the Note canister, with a focus on enhancing state management.
Week 6: Actor Model, User Authentication, and Authorization
Session 11 (April 16th) : Covering the theoretical aspects of the Actor model in Motoko and the basics of user authentication and authorization.
Session 12 (April 18th) : Practical implementation of Actor classes per user and building authentication/authorization mechanisms.
Week 7: Inter-Canister Calls, Testing, and Advanced Features
Session 13 (April 23rd) : Discussing inter-canister calls, composite queries, and an introduction to MOPS testing in Motoko.
Session 14 (April 25th) : Implementing note sharing, on-chain randomness, and group coding for writing and running MOPS tests.
Week 8: Async Atomicity, Search Functionality, and Deployment
Session 15 (April 30th) : Focusing on async atomicity in Motoko and starting the implementation of search functionality within notes.
Session 16 (May 2nd) : Finalizing the search feature with async considerations and deploying the Note app to the IC mainnet, followed by a course wrap-up.
Week 9 - Week 12: Mentorship - Deploying MVP (Backend Canister)
Mentorship (May 9th, May 16th, May 23rd) : Weekly follow-up meetings with each team
Weekly Office hours support in our Discord channel
Project presentation/pitch (May 30th)
Closing ceremony (May 31st) : Developer Certification Diplomas and Announcement best projects.