AxLabs / grantshares

GrantShares Program 🌱
https://grantshares.io
Apache License 2.0
22 stars 3 forks source link

Create a free course to serve both as a teaching and marketing tool #5

Closed grantshares-dapp[bot] closed 2 years ago

grantshares-dapp[bot] commented 2 years ago

Abstract

Create the most complete course on Neo Development, aimed to cover basic to advanced topics of blockchain technology. Over 30 videos, activities and live on-chain examples especially tinkered to onboard developers into blockchain by presenting Neo as the all-in-one platform of Web3.

Proposal Information

Description

The goal is to create a free course to serve both as a teaching and marketing tool. It will be structured as a Blockchain Introduction course, attracting the mass of developers recently interested in this trending technology, and then use Neo to portray the examples that will guide them from basic concepts to actual hands-on dapp development.

The idea is to position Neo as the entry point to blockchain by providing a concise free course that will be available on a popular educational platform (Udemy). This will be a complete blockchain course, and we expect to provide enough content to keep the student busy for 8 to 16 hours.

The course will contain professional quality videos, exercises and code examples about blockchain development on the Neo platform, using the versatility of it's native features to present it as the all-in-one platform that it really is.

Topics that we want to cover:

Blockchain General:

Blockchain essentials

Attributes, applications, economics. Main elements:

Nodes Consensus Blocks Transactions Smart contracts Storage Oracles VM Web3 architecture vs Web 2 architecture Web 3 architecture Smart Contracts UI Integration Custom APIs for an improved user experience

Presenting Neo:

Neo Essentials

About Neo

Highlight Neo's Native Features Existing tools and dapps Neo data types

Setup

Setting up the development environment

Smart Contract development environment API development environment Frontend development environment

Hands-on learning:

Connecting a wallet How plugins work How to deploy a custom endpoint using a Plugin Blockchain Standards: Cryptocurrencies, NFTs NFT example using Python Cryptocurrency example using Python

Dapp Examples:

Frontend Development API Development Smart Contract Development Uploading data to NeoFS

Ecosystem Onboarding:

Funding your blockchain project About Grant Shares How to create a proposal Join our community

Not all topics listed above will necessarily enter the course. The final shape of the contents will be refined in the planning phase, where we'll structure the course in detail having in mind the goals mentioned above: create a free course to serve as both a teaching and marketing tool. We also want to make the student interested in being part of our community.

Goals and Motivation

Our goal is to create a useful course that also serves as a marketing tool for the Neo Ecosystem. Blockchain is a very new technology, and learning resources on it are scattered, usually dependent on direct contact with developers through forums and discord servers. The idea is to create a course that feels like any other online technical course, with professional videos, planned support content, exercises, and examples, guiding the user through a solid learning path.

Our motivation is to foster the growth of the ecosystem, by attracting blockchain first-timers to a learning path paved by Neo resources. A free course that will help new developers learn their way into blockchain and during the process encourage them to start building their projects on Neo.

Our strategy is to take advantage of Neo's native features as the best approach to explain blockchain technology itself, and also leverage the high popularity of the Python language to attract different profiles of people to the course, presenting blockchain as something accessible. Python is a programming language that is also present in business schools and other side courses, making it ideal to attract a diverse audience to our course.

Future Developments:

We also see this project as the possibility of structuring a solid and comprehensive knowledge base for the Neo ecosystem. By starting with a general course that will attract new developers, we can then proceed to produce other course modules where the users will delve deeper into Neo's many different possibilities.

We're especially interested in creating shorter modules that'll cover other supported languages used for smart-contract development (Java, CSharp, Go), as we see in this a huge potential for bringing developers with different backgrounds to the ecosystem.

This kind of educational material might also come to play a strategic support role for the ecosystem's hackathons, fostering a quicker and established onboarding experience for developers coming from other blockchains.

Project Roles

Product Owner

Responsible for the overall success of the project. The PO is also responsible for ensuring that the project is moving towards its goals. On this project, the PO will be responsible for ensuring a high-quality course, great for learning that also brings new developers to the Neo ecosystem.

Marketing Specialist

This course is a marketing tool. We will need a marketing specialist to create an effective strategy. Not only do we need to think about the course presentation, but also add small hooks inside the content, that will these developers closer to our ecosystem.

Neo Developer

A Neo expert that will actively participate in the development of the course. The developer will be responsible for ensuring that the content of the course is correct, collecting from the ecosystem's already existing experience, and guiding the learning path in a technically interesting direction.

Instructional Designer

The ID is responsible for designing the course experience from the material organized by the previous two roles. His role is to shape the actual learning materials that will be produced, such as videos, exercises, and examples. It's a key role to ensure a course that will provide a strong and structured e-learning experience to the overall public.

Instructor

The person that will guide the videos. The instructor must speak fluent and clear English, and will also be the face of the course. Bringing a human face to explain such a complex technical theme helps enhance the learning experience through empathy. Having a charismatic teacher is key to the marketing goals of the course.

Designer, editor, content writer, and assistant

Supporting roles are required to produce a high-quality course. These roles are responsible for editing the videos, creating slides, producing text content, etc.

Deliverables & Roadmap

Since our goal is to teach, but also to develop a marketing tool useful to the ecosystem, the most crucial part of the project is the course design and planning. After the desired learning path is aligned with a clear and solid showcase of Neo's capabilities, we'll proceed to producing the actual resources and exercises.

For the course content, our team will work with a specialized instructional designer to maximize the learning experience.

The project will be divided into 4 stages: planning, execution, release, and review.

Planning: Duration: 30 to 45 days Deliverables:

Detailed course track Learning outcomes Audience details KPIs Required Resources: Neo Developer Product Owner Marketing Specialist Content Producer Instructional Designer

Execution: Duration: 30 to 60 days Deliverables:

Complete Neo Course, with 25+ videos, 10+ activities, examples, and others. Required Resources: Instructional Designer Instructor Neo Developer Product Owner Designer Editor Marketing Specialist Assistant

Release: Duration: Up to 30 days Deliverables:

Free course on Udemy Fixes and improvements English subtitles for all videos Bug fixes Required Resources: Product Owner Marketing Specialist Assistant

Review: Duration: 30 days after release Deliverables:

Course report Fixes and improvements Required Resources: Product Owner Marketing Specialist Assistant

Deliverables Verifiability

The content for each phase will be posted online (GitHub). The final course will be available for free on Udemy. Sponsors are invited to follow the project development as we build it (not in public).

Investment

We are looking for an investment of 3.800 NEO (~U$35.000 USD). This amount will be used to pay for the team and to hire a specialized agency. We will need to pay taxes to hire some of the planned resources, this is included in the total value.

We would like to award participants up to U$20 in GAS if they send their project for review. This amount is not included in the current budget. We also don't know who could be responsible for doing these project reviews.

About You / Your Organization

Ricardo Prado - COZ Member

Personally, I'm part of the Neo Ecosystem since 2018, having closely followed the technical development of the platform. Together with Simpli - a brazilian software house - I've worked directly on a vast range of Neo related projects, from compilers to wallets to dapp development, mainly through partnerships with COZ and NNT. During this time, I've gradually brought Simpli's 20+ tech team closer to blockchain projects, in a movement that involved a lot of research and the constant development of a collective knowledge base. This process has made me realize the importance of organizing the blockchain knowledge for the regular developer if we want to foster creativity and innovation in our ecosystem.


Proposal Info :clipboard:

[ {
  "target_contract" : "0x6276c1e3a68280bc6c9c00df755fb691be1162ef",
  "method" : "releaseTokens",
  "params" : [ {
    "type" : "Hash160",
    "value" : "ef4073a0f2b305a38ec4050e4d3d28bc40ea63f5"
  }, {
    "type" : "Hash160",
    "value" : "49dc33e727fca011e97eb2ac4b10bad44d3a8173"
  }, {
    "type" : "Integer",
    "value" : "3800"
  } ],
  "call_flags" : 15
} ]

👇 React with 👍 if you liked it, or 👎 if you think this proposal can be enhanced!

lock9 commented 2 years ago

Some news: We shouldn't make only free content. The perception of value and commitment from students is much lower when they are participating in free courses. To ensure we attract a good audience, we will probably have to charge for part of the content. Initially, we are thinking of a 'free introductory course' and a 'paid advanced course'. Students want to feel that 'they are investing in their future'.

It is good to have it generating revenue, it will help the project sustain new updates in the future.

Ethour commented 2 years ago

Great initiative! Maybe the question is trivial, but it's not clear to me, is the team already complete or do you need to hire someone?

lock9 commented 2 years ago

Great initiative! Maybe the question is trivial, but it's not clear to me, is the team already complete or do you need to hire someone?

I have names for most of the roles, many are already working in the ecosystem. The instructional designer, the agency, and other supporting roles may be outsourced.

shargon commented 2 years ago

I like it and @lock9 always did a very good job in neo.

danibetti commented 2 years ago

Daniel Fioravante - Head of Marketing, COZ.

I am very excited about this project because it plays a double function for the Neo ecosystem - it will be designed to create a knowledge pool that will attract new talent and also contribute to reinforce its image and reputation, working as a great advertising tool, showing all the possibilities Neo offers.

Today, sources of information on platform are very scattered and the learning process takes a lot of effort and networking to get to the right experts. With this course, all the knowledge communities on Neo have produced and accumulated would be gathered, organized and transmitted it with optimal pedagogic methodology.

Having worked in marketing for more than 15 years, I am very honored to be one of the names Rick is considering to be acting as a Marketing Specialist, making sure the course is widely advertised and the program, convergent with Neo's strategic goals. Additionally, I suggest the content strategy is managed by the person holding this position, so it has the correct tone and messaging to estimulate developers to join or form new communities, bringing the innovation Neo seeks to foster.

picarodias commented 2 years ago

I've been working with @lock9 for two years now as PO and Business Analyst at some of Simpli's blockchain projects. Coming from a teaching background, I've followed with great interest the learning process of many of our developers first coming into blockchain, also having to learn a lot myself to provide support in this onboarding process.

I've also worked on COZ's dojo, which tried to provide a basic N3 knowledge base, but a few obstacles ended up stopping the project, like disputing developers time with more urgent projects and the lack of a dedicated content team.

I feel these past difficulties are covered by the shape of this proposal, and I'm eager to help as best as I can.

lock9 commented 2 years ago

We've onboarded over 20 people to the Neo ecosystem. It is hard for them to understand the whole picture. I'm pretty sure that most of them have no idea of what is going on behind the scenes. Over the last few years, I've missed a training center. I wonder how other communities train their new resources.

About the content: Since we will split the course into 2 (basic and advanced), we can make our advanced version of the course really advanced. That may increase the time required to finish and polish it, but I think it is worth it. Like Daniel said, having a specialized course like that will add a lot to Neo's reputation.

We should collect these advanced topics with community specialists and see what we could include in our course.

melanke commented 2 years ago

This is a great opportunity to review the whole ecosystem tools and find the weak points, what are the most difficult parts, which bugs we need to fix, how we could make things easier and more interesting. This is great, I love it.

gsmachado commented 2 years ago

Hello all! 👋

Nicely written proposal.

I'm collecting some feedback within AxLabs and we will provide some feedback really soon! 🔜

csmuller commented 2 years ago

Hi @lock9, great proposal!

We like the basic goal of creating a "free course to serve both as a teaching and marketing tool”. You mentioned some good points like

We have one major objection for which AxLabs tends to not endorse this proposal in the current format. We would like to see the proposal split into two smaller proposals:

  1. First, you could submit a project proposal to create a free “Essentials” course only. That course would include the Neo core/basics. I.e., the topics you named "Blockchain essentials”, "Neo Essentials”, and “Hands-on Learning”. The hands-on material should be kept generic and not bind to a specific smart contract language. The idea is that this material would give us the opportunity to test the market. Will there be users consuming the course? How many? From which countries? etc.
  2. As a second proposal, you could submit a course structured to be more advanced and specific to a programming language. For example, setting up the development environment for Python and React and implementing dApp Examples in Python and React. The idea is to end up with different course modules based on different smart-contract/SDK languages but a similar structure. These modules could be paid while the “Essentials” remain free.

A comment independent of the proposal: I think it is easier for the DAO members to spent the DAO’s treasury in smaller chunks instead of big chunks. It gives a bit more control over the process. Deliverables of one proposal can be evaluated and influence the decision of a successor proposal.

shargon commented 2 years ago

As @red4sec we will support this proposal. Because we think the proposal will help to reduce the learning curve, attract people to the community and we know @lock9, we have worked with him previously, we know how professional he is and that he will do a very good job.

lock9 commented 2 years ago

Hi @csmuller,

I can't edit the proposal, but you can see from my comment here that in fact, we should work in 2 courses. One free, and one advanced one, that is paid. They are intrinsically connected. We don't provide a single course because that would make it too large. In fact, Udemy limits the size of a free course to up to 2 hours of video. I don't think this is enough to cover all the material.

  1. First, you could submit a project proposal to create a free “Essentials” course only. That course would include the Neo core/basics. I.e., the topics you named "Blockchain essentials”, "Neo Essentials", and "Hands-on Learning". The hands-on material should be kept generic and not bind to a specific smart contract language. The idea is that this material would give us the opportunity to test the market. Will there be users consuming the course? How many? From which countries? etc.

Making just a free course won't help with the main goals of this proposal, which are: to teach new resources about the Neo platform, and use it as a marketing resource. The reasons are:

2. As a second proposal, you could submit a course structured to be more advanced and specific to a programming language. For example, setting up the development environment for Python and React and implementing dApp Examples in Python and React. The idea is to end up with different course modules based on different smart-contract/SDK languages but a similar structure. These modules could be paid while the “Essentials” remain free.

The goal is to teach blockchain technology, and not any programming language. We want to train people to solve problems using Neo. This is a Neo advantage. We can put people to focus on problem-solving instead of having them worry about the programming language. I do agree that we could add other modules in the future. Different modules, for different audiences. 'Web3 development for Java developers', 'UI Design for Blockchain Apps', and so on.

I also want to add that:

leiw5173 commented 2 years ago

Hello, this is sam from NGD. Nice to see your proposal. It is really important for the Neo ecosystem currently. Here are some points I like most:

But I have some concerns about your proposal as well:

  1. What will the simple course series include? What will the advanced course series include? From my point of view, the free simple courses series should at least include the complete courses to teach how to create a project including writing, deploying, debugging, invoking smart contracts, and connecting the smart contract with the front end. The paid advanced courses could be Oracle and NeoFS integration, etc.
  2. It will be great if this platform can set a bounty to invite all the developers to contribute to learning material. That could keep the platform updated and utilize the power of the community. So in this way, it is better to have your own webpage to show your learning resource. In the meantime, if the material can be distributed on Udemy, that will help the course reach to more audiences.
  3. For now, the proposal includes ways to attract and teach developers. But it doesn't have a place to help developers to find job opportunities in Neo. If your team can help build a sub-website, like Gitcoin, to let project leaders post their job requirements, so the developers can find jobs on that. That will help attract more developers to learn the courses.

These are my ideas. Hope they can help.

gsmachado commented 2 years ago

Hey @lock9!

Once again, I pretty much liked this proposal. Goes in the direction of what I strongly believe: educating others about what we do is key to our success.

But let me go to your comments:

I can't edit the proposal, but you can see from my comment here that in fact, we should work in 2 courses. One free, and one advanced one, that is paid. They are intrinsically connected. We don't provide a single course because that would make it too large. In fact, Udemy limits the size of a free course to up to 2 hours of video. I don't think this is enough to cover all the material.

So, I internally talked a bit here with the AxLabs team, and we got to the conclusion that would be nice if you could split this proposal into smaller chunks.

What about if you could first focus on the free one with "essentials"? We believe that this would fit a smaller-sized proposal. As @csmuller wrote, this could be the goal:

  1. First, you could submit a project proposal to create a free “Essentials” course only. That course would include the Neo core/basics. I.e., the topics you named "Blockchain essentials”, "Neo Essentials”, and “Hands-on Learning”. The hands-on material should be kept generic and not bound to a specific smart contract language. The idea is that this material would give us the opportunity to test the market. Will there be users consuming the course? How many? From which countries? etc.

Later, once time goes on, you could submit a second or a third proposal. No worries.

Therefore, this is the procedure if you decide to break this proposal down into smaller ones:

  1. Withdraw this proposal (if you go to the dApp, click on your proposal, there's a "Withdraw" button that just the Proposer can see)
  2. Create a new proposal, copying some parts of this one, and restructure it into a smaller proposal scope (as we discussed before, on this comment), also with smaller funding amount. In this new proposal, please add a link/reference to your original proposal. This is important to show your original and long-term vision.
  3. Submit it. 🚀 🍀

Making just a free course won't help with the main goals of this proposal, which are: to teach new resources about the Neo platform, and use it as a marketing resource. The reasons are:

We, from AxLabs, agree that making a paid course makes totally sense! However, not for the first GrantShares proposal within this topic. 😅

  • A simple course is not enough to make developers ready to build on the Neo blockchain. Actually, 2 hours is probably not enough to teach them about Web3 in general.

Agree.

  • A simple course won't boost our reputation and won't help us to bring people that want to build their careers in the blockchain space. Simple courses, and especially free courses, do not cause the same perception of value as a paid, advanced course.

Agree.

  • The idea is to use the free course to attract the general public, and the advanced course is to actually train people and put Neo as an authority and reference in the field.

Agree.

  • About the consumer groups: this is something we need to discuss and debate. What people do we want? I believe we want committed people. We want people that want to build their careers on Neo. If they decide that Neo is not for them, at least they will leave with a permanent good impression of our platform.

Agree.

So... we agree on almost everything! 😅 🥇 💯

It's just that, in our opinion, instead of the DAO making a larger commitment/investment at once, it would be nice to test if this path is good to pursue -- testing the market a bit (providing some free courses) and seeing the results along the way. That's why we defend breaking this proposal into smaller ones over time.

What do you think about this, @shargon @lllwvlvwlll @devhawk @JohndeVadoss @steven1227 @igormcoelho @deanragnarok @hacfox ?

gsmachado commented 2 years ago

@lock9

About other arguments in your comment:

The goal is to teach blockchain technology, and not any programming language. We want to train people to solve problems using Neo. This is a Neo advantage. We can put people to focus on problem-solving instead of having them worry about the programming language. I do agree that we could add other modules in the future. Different modules, for different audiences. 'Web3 development for Java developers', 'UI Design for Blockchain Apps', and so on.

Yes, it's clear that this course series is not to teach any "programming language" per se. What @csmuller mentioned in the second point of his comment was more about that, in the end, you will need to choose an SDK with a specific programming language to give examples and/or exercises -- given that, in the Neo ecosystem, we have compilers for multiple languages.

This topic, in our opinion, is for a second proposal to GrantShares. It would be nice to see how to structure a course to cover not only C# but all the languages supported by Neo! That would be awesome. 🚀

gsmachado commented 2 years ago

So, let me explain something here:

If any GrantShares DAO Member would like to endorse this proposal, no worries... this is a DAO! 💚

In this case, @lock9 could go ahead and put the proposal on-chain... then a member could endorse it to go to the voting phase. You can check the GrantShares Proposal Lifecycle on our docs page. 😄 👍

Just don't forget that if you put this proposal on-chain and no DAO member endorses it, the proposal will expire and you'll need to re-submit it.

So, the discussion phase of a proposal is really important to provide confidence to the proposal author ("Proposer"). If the proposer is confident that someone would endorse it, then, I suggest moving on and putting the proposal on-chain (through the dApp, only the proposer is able to do that).

lllwvlvwlll commented 2 years ago

Personally, I am confident that this could be delivered and believe it would be a valuable addition to the ecosystem. I agree that it could be split into a few sections, but also want to ensure that the application is completed (which has a reduced probability if there are multiple proposals that need to be pushed through). This is a really could reference example for how a proposal should be structured imho. Its clear and very well written.

lock9 commented 2 years ago

Hi everyone,

I know almost everyone got it, but just to make it clear one last time. This is how most of our content is: image

It solves some problems, but what people want, from a marketing perspective: jobs, careers, certifications. We should build something like this instead: image

  1. What will the simple course series include? What will the advanced course series include? From my point of view, the free simple courses series should at least include the complete courses to teach how to create a project including writing, deploying, debugging, invoking smart contracts, and connecting the smart contract with the front end. The paid advanced courses could be Oracle and NeoFS integration, etc.

I can't go into details about what will be included in the simple and the advanced course because we don't know it yet. Why? Because we need community input to understand what a person (mostly developers) needs to know. We may train people in skills that aren't relevant. If these people can't be useful in the ecosystem, then the project has failed.

2. It will be great if this platform can set a bounty to invite all the developers to contribute to learning material. That could keep the platform updated and utilize the power of the community. So in this way, it is better to have your own webpage to show your learning resource. In the meantime, if the material can be distributed on Udemy, that will help the course reach to more audiences.

I want to work with communities. As mentioned above, we need them to collaborate. However, we can't rely on them to create the content itself. I have multiple plans to work with community members to get their input or deeper collaboration if they want to. I've participated in the neo-tutorial. The project was divided into multiple groups. The content is good, but it is heavy. It is not on video either. I also remember that some people did not meet the deadlines (I wonder if I met the deadline either).

About rewarding: Part of the budget should be used to award people or communities, however, this is not simple. I didn't mention it before, because I don't want people to consider voting for it, in exchange for a reward. For paid rewards, should we pay them directly? Or should we pay the community? If we pay a community member directly, they may put this in front of their current jobs, creating larger workloads for their peers. I don't want to dispute resources and create conflicts. It is important to do this right.

About a custom webpage: We will probably need more than one web page, but we don't plan to build a full streaming service for this. We should find a tool for that (if Udemy is not suitable).

  1. For now, the proposal includes ways to attract and teach developers. But it doesn't have a place to help developers to find job opportunities in Neo. If your team can help build a sub-website, like Gitcoin, to let project leaders post their job requirements, so the developers can find jobs on that. That will help attract more developers to learn the courses.

I hope we can have that in the future too. We should do that manually at first. Maybe use a Discord channel, I'm not sure. We need to make sure that our communities see value in this 'certification'. We have some ideas for that. Example: If the 'most expensive package' costs U$2.000, they could pay U$200 and get U$1.800 deduced from future rewards. Note: Producing ' full-time jobs' is another, bigger challenge. It depends on management, leadership etc. A problem for another time.

Yes, it's clear that this course series is not to teach any "programming language" per se. What @csmuller mentioned in the second point of his comment was more about that, in the end, you will need to choose an SDK with a specific programming language to give examples and/or exercises -- given that, in the Neo ecosystem, we have compilers for multiple languages.

I don't think that the programming language matters. People won't join Neo because they know C#. They will join because they want to learn blockchain. They are considering changing their careers. They need to taste the technology and see if they like it. Solidity is a barrier. It makes developers give up because they don't want to learn a different programming language just for this. The idea behind this course is to make them use different programming languages. We should use Python, C#, Java and Go. For example, in we could have a chapter about 'Creating a plugin for Grant Shares'. And they could use Java for that. Learning a bit of Java to develop this plugin is something they can reuse. This is not true for Solidity.

A note about C#: We don't plan to make this course full C#. This is just one of the languages that will be used. At this moment, I believe that we should use C# to build a plugin for the Neo Node. We have to test it.

We will redeploy this proposal. I will make 3 changes:

Personally, I would never invite people for an 'experiment'. We have enough experiments. I also believe that there is plenty of evidence that we need a professional training program. Also note that the scope has increased considerably, and we are not requesting more funds. We need a long-term commitment from participants. I plan to work with a 6 months contract with the ID. We have to go deep into the content, see what is everything, and only then select the 'simplified part'. It is not possible to start small and expect the same outcome.

grantshares-dapp[bot] commented 2 years ago

🚫 This proposal was cancelled (closed discussion) on request of the proposal's owner.

lock9 commented 2 years ago

Hi. I've reposted the proposal with some small changes. https://github.com/AxLabs/grantshares/issues/11

We will wait for some feedback, if none is given (or is not something really bad) we will deploy the proposal on chain. I really appreciate the time that everyone invested in this discussion. Unfortunately, we did not divide it in 2, as requested. The reasons are described in the new proposal.

Thanks everyone!