xGov-99 AlgoLearn Platform; Interactive Learning for New Developers

Good afternoon all,

After reviewing feedback across different platforms and discussing the proposal with various members of the community, I have decided to rephrase the concepts and title of the proposal to prevent misunderstandings of the proposal’s intentions and correct several other errors in formatting brought up to me. Note that the requested Algorand amount has also been decreased to 120000 from 150000.

This separate thread is being also being created to prevent confusion for any visitors who would like to visit the comments-to link in the proposal since the proposal has been revamped to focus on the main goal of the proposal.


id: 99
period: 3
title: AlgoLearn Platform; Interactive Learning for New Developers
author: “Costa, Leo (@atsoc1993)”
email: “atsoc1993@gmail.com
discussions-to: xGov-99 AlgoLearn Platform; Interactive Learning for New Developers
company_name: Independent
category: Tools
focus_area: Education
open_source: Yes
amount_requested: 120000
status: Final

Abstract

This proposal outlines a request for funding to pursue a comprehensive educational initiative aimed at empowering new developers in the blockchain space within the Algorand ecosystem. The project originates from a vision to create a learning platform for developing on the Algorand blockchain— a website with interactive IDEs (Integrated Development Environments) where you can not only learn but also try out coding directly, with access to a locally hosted Algorand testnet node for real-world practice. Although all functionalities of Algorand are open-sourced in some way or fashion across various GitHub repos, YouTube channels, and developer documentation, new developers will find themselves grasping at straws when trying to compile an application of their own.

For example, we have multiple showcasings for different varieties of completed smart contracts for different kinds of applications, but no content that explains why a smart contract is formatted the way it is, how to debug your smart contract, or how to walk through safely creating asserts to ensure prevention of exploits. These are just more complex issues, but even simple explanations or walkthroughs of various applications when developing on Algorand are spread thin across the ecosystem, with little substance explaining how things work. Starting with simple implementations and building into more complex projects, its vital to understand how everything comes together from start to finish; topics such as: compiling the final smart contract natively without using dAppflow, encoding and decoding the approval/clear programs, sending transactions, deducing the hex string for a particular method in a smart contract, and passing that specific method into an argument within a transaction object, including mandatory app arguments and foreign assets that need to be passed into transaction objects lest the transaction fails.

These points highlight the endless gaps in current educational content, and extremely common mishaps that could make a 1-2 hour long project takes days or even weeks for new developers. As much as I value the work we have done so far for educational content, it is an absolute must that we expand on several developer topics and ensuring all new developers brandish the tools we have available on Algorand with confidence. This series centers on the beginning of AlgoLearn, and all profits will be used to fund and captain AlgoLearn indefinitely. See “Present Proposal” section for details about AlgoLearn and what this proposal will manifest.

Team

Leo Costa, experience providing lessons in programming to community members, creating walkthrough guides in video format and github.

Experience with Algorand

Two years of development experience on the Algorand blockchain.
Proficiency in Algorand SDK’s, node setup, database usage, and blockchain querying.
Bumper three.js web3 game with smart contract implementations
Foodie City Marketplace
Seals Metaverse Unity game development
AlgoLotto Raffle website
Created and assisted in developing multiple complex bots eg; Pseudo-explorers and Marketplace Watchers
Six months of web application development

Present Proposal

This proposal presents a request for funding to develop and launch AlgoLearn, a comprehensive educational platform aimed at enhancing developer proficiency within the Algorand ecosystem. AlgoLearn will be an innovative learning platform, featuring interactive IDEs where developers can learn, code, and interact with a public Algorand testnet node in real-time. While existing resources provide a scattered understanding of Algorand functionalities, AlgoLearn seeks to consolidate these learnings and offer in-depth, structured, and hands-on educational content. The platform will cover fundamental programming concepts, intitiating connections and querying the blockchain, executing all types of transactions, launching and interacting with smart contracts and assets adhering to different ARC standards. Beyond Algorand-specific content, AlgoLearn will offer comprehensive educational materials on FUNDAMENTAL programming concepts critical to blockchain development, ensuring a solid foundational knowledge base for developers.

AlgoLearn will also provide complete and easy to understand project examples that do NOT overload learners with hundreds of lines of code across multiple files— and instead, all project examples will be concise, and their successful testing in a local environment will be tightly guided to guarantee deployment and learner success.

The vision for AlgoLearn is to serve not just as a repository of information but as an active and interactive learning hub, facilitating real-time coding, problem-solving, and testing through its advanced IDEs.

AlgoLearn will start as a series of structured chapters, each focusing on distinct aspects of Algorand development:

Introduction to Algorand & Setup:

  • Overview of Algorand ecosystem.
  • Setting up development environment and interacting with Algorand nodes.

Programming Fundamentals & Algorand SDKs:

  • Covering fundamental programming concepts.
  • Detailed walkthroughs on using Algorand SDKs in supported languages.

Transactions on Algorand:

  • Understanding all types of transactions.
  • Hands-on tutorials on creating and executing transactions from asset transfers to smart contract interactions in at least 2 programming languages at conception.

Smart Contracts & ARC Standards:

  • Diving into Algorand smart contracts compilation in Pyteal/Puya.
  • Exploring different ARC standards for smart contracts and assets, as well as their applications with example implementations

Interactive IDE & Real-time Coding:

  • Coding directly on the platform with an interactive IDE.
  • Access to a public Algorand testnet node for real-world practice and testing.

Challenges & Quizzes:

  • Reinforcing learning through practical challenges.
  • Quizzes to test understanding and retention of the material.

Future Blueprint

Based on community feedback, future proposals will focus on:

  • Expansion of the lecture series to cover advanced backend/frontend web application development on Algorand.
  • Enhancing community engagement with the AlgoLearn Platform and/or providing initiatives for learning
  • Development specifically in less popular languages; for example the Unity, Unreal or Swift Algorand SDK’s available as per community interest.

Benefits for the community

The integration of blockchain technology into the learning ecosystem through AlgoLearn represents a transformative step not only for developers choosing to enter the space but for existing community members interested in programming. The current landscape, while rich in potential, often leaves aspiring developers navigating disjointed resources. AlgoLearn is poised to bridge this gap by offering a structured, comprehensive, and interactive learning platform.

  • Onboarding Platform: Funding will assist with development of AlgoLearn, which will facilitate an easy entry point for not only prospective developers, but our internal community members into Algorand development.
  • Practical Learning: Offers hands-on experience through guided and in-depth tutorials and interactive web IDE’s.
  • Innovation Stimulus: Encourages the creation of new, blockchain-integrated projects and streamlined learning/research.

Additional information

Timeline:

  • The AlgoLearn Platform should be expected to be complete within 3-4 months, although I matriculate part-time— the funding will provide resources to fully commit to AlgoLearn and foster it to conception.

Example for Proof of Work/Understanding:

1 Like

For any comments regarding existing educational content and resources please read the abstract first, and perhaps the response below to a previous comment like this may be helpful:

“I’m a big fan of the @algodevs YouTube channel. However, I’ve struggled to implement the content they cover and have mostly learned independently aside from a question here and there to seasoned developers.

Firstly, I noticed that there are no videos on the Algorand Python SDK on their channel. They do cover the Algorand Javascript SDKs in three separate 10-minute videos titled: 1. Deploy and Call Algorand Smart Contract, 2. Creating ASA and Asset Transfers, and 3. Creating Accounts and Payment Transactions.

I respect them and have nothing but wonderful things to say about what they’ve showcased on their YouTube channels; however I believe that for beginners, watching a 10-minute video with 200 pre-written lines of Javascript isn’t the most effective way to learn. My videos, except for the basic setup, have been and are over an hour long and go into each line of code in great detail. I think complex concepts need thorough explanations, not just presentations.

Take, for example, setting up a group transaction, which isn’t covered in any of their videos. To understand this, a beginner would need to know what a list is, the importance of a GID and how to access a transaction’s class attributes, and the concept of a class itself. Group transactions are just one of many topics that aren’t readily available and can’t be easily grasped by simply reading documentation or watching a 10 minute Javascript video, especially for newcomers.”

Speaking from the experience of an Algo native that seeks to learn how to code and start developing I look at this as a complete win. Enhancing the ability to develop would allow someone like me, extremely interested in building the tools and infrastructure we have now doesnt provide the real time learning most people enjoy. Being able to log on to a platform that allows a beginner to start practicing code and see the results while writing will be helpful for the next generation of builders which I consider myself to be preparing for. Foodie you got this bro

1 Like

Thanks for this proposal. I think having high-quality learning resources is crucial to expanding the Algorand developer set and thus the universe of apps on the chain.

I understand that AF is in the process of renovating their developer.algorand.org portal content and structure to dramatically improve it. I think two potential things follow from knowing this information:

  1. You should definitely connect with us in the Algorand Discord server where people are being given opportunities to give feedback about challenges they’ve faced with the existing array of learning resources to help inform the new design. It sounds like you would have valuable feedback. I’ll tag you there.

  2. You may want to consider (quickly, while proposals can still be amended) how this proposal could potentially be amended to complement whatever is in progress with AF and avoid any duplication of efforts.

2 Likes

No one I talk to on other blockchains really understands why Algorand is the best, and education is the key. All for this proposal!

1 Like

I like the idea however… you are one person, how will you be able to develop a platform and prepare content if you will be doing this as side hustle. You are asking for premium hurly rate to do this as part-time project over next 3-4 months.

How confident are you that you will be able to complete what is proposed in 4 months? Are you getting(outsourcing) any help?

2 Likes

@expertgovernor Good point, as a bode of confidence I’m only taking 3 courses at the moment that take up about 10 hours from my week. Two of them are introductory courses and are not tedious; I also left my corporate job last month to pursue developing full-time, so this would be a full-time job for me!

Once the ball gets rolling in core development aspects and the base platform is set-up it’s essentially just expanding on existing set-ups in different scenarios and quite a bit of guide-writing / cataloging, for example the base code for built-in IDE’s can be replicated for other pages without much tinkering.

My courses also end in June, so by the time the proposal would be funded I will have 1-month of pure developer time if I take the full 4 months. But again, I don’t see them as much of a restraint whether in-session or not.

2 Likes

Thank you for the explanation. Doing it full-time clears all concerns I had.
Good luck!

1 Like

@expertgovernor Of course, and just as an update—I spoke to the chairman of computer systems at my college; he and the professor for one of my rudimentary programming language courses agreed to abstain me from any labs, homework, or class projects as long as I am present for the midterm and final exams. I had to show them some proof of proficiency and write them a very specific program which they were satisfied with.

So now I have two more days out of the week free =)

Let’s get this passed.

1 Like