Highlights of our Resources
<aside>
📚 Some areas we’ve researched and focused on are:
- Cohesiveness of content: Lessons are meaningful from beginning to end. Learners aren’t harshly overloaded with content and fundamentals. Our learning tracks have a good sense of challenge, reward and acquisition of skills. The approach used is to facilitate this is expose → introduce → teach.
- Inclusivity of different styles of learners: We realised that some learners prefer to dive right into projects whereas others like to go through fundamental lessons first. A feature of this that we’ve added is two way linking where the fundamental lessons link to a project lesson where they are applied and vice versa.
- Grade of language: In all our project resources, every concept has a working explanation using learner-friendly language. It is similar to the popular Reddit format Explain Like I’m 5 (ELI5) and assumptions of prior knowledge are kept to a minimum.
- Technical Deep Dives: For the curious learners that would like to learn a concept in-depth, we have included pop-ups (side-drawers). This allows interested learners to get deeper knowledge within the flow of a lesson without disrupting it for anyone content with a working overview of a concept.
- Ability to contribute to real-world projects: Our resources aim to empower developers with the knowledge that can be implemented in the real world with but little additional learning/ adaptation.
</aside>
Skills Acquired from Lessons
- Lesson 1: Introduction to Smart Contract Development using Remix IDE
- Understanding what Smart Contracts are
- Using Remix IDE for quick development, testing and deployment
- Basic Building Blocks required for working with Smart Contracts
- Variables and Types
- Functions
- Events
- Lesson 2: Understanding Dev Tooling required for Smart Contract Development by building a basic NFT
- Shifting to dedicated development environment (eg. Remix → VSCode)
- Using package managers and packages
- Working with Hardhat
- Using a local chain for testing
- Configuring hardhat for working with multiple chains
- Deploy scripts for smart contract
- Using OpenZeppelin standards
- ERC721
- ERC71 JSON standard (metadata standards)
- Decentralised Storage
- Using faucets to get test tokens
- Using RPC Node Provider
- Interacting with blockchain
- Public and private keys
- Responsibilities and safety
- Working with testnets
- Using block explorers
- Check transaction details
- Lesson 3: Gas Optimisations
- Lesson 4: Test Driven Development
- Understanding the importance of test driven development
- Writing tests based on desired outcome instead of the process
- Testing various cases (eg edge cases)
- Writing code based on expected outcome of tests
- Lesson 5: Interacting with UI
- Understanding window.ethereum object
- Working with WAGMI hooks
- Connecting to smart contract
- Interacting with Smart Contract
- Reading and writing data
- Calling functions
- Using RainbowKit Wallet Provider
MVP
The MVP for School of Code consists of the following:
- First two lessons from the first Projects track
- Fundamentals lessons of concepts used in the aforementioned project lessons
- A front end that has a landing page, an index page and the lessons pages
Links to other Resources