--- tags: nc-programs title: NEAR Certified Developer I (2 hrs) --- Overview description: This course is an opportunity for web developers to earn a Certificate of Completion that represents the ability to design, develop, test and deploy smart contracts on the NEAR platform. image: https://near.org/wp-content/themes/near-19/assets/downloads/near_logo.svg GA: G-YL33ZQZGBJ --- # NEAR Certified Developer I ## 2-hour orientation to writing smart contracts on NEAR This course is an opportunity for web developers to earn a Certificate of Completion that represents the ability to design, develop, test and deploy smart contracts on the NEAR platform. ## Welcome Glad you could join us. We will be working together to learn to build decentralized applications on the smart contract platform known as NEAR Protocol. Here's a [report](https://medium.com/electric-capital/electric-capital-developer-report-2021-f37874efea6d) of what's happening in the industry with these so-called "layer 1" platforms as of Dec 2021. ## Benefits of this Course - Join the NEAR EDU Fellowship program as a Developer in Residence - Apply for a grant to build out your demo project - Start your own business and get funded as part of the Open Web Consortium - Find a job in the NEAR ecosystem ## Before we start Please make sure you are familiar with a few of these basics before the week starts. Although you do not need to be an expert in these technologies, you should have no problem cloning a NodeJS project, downloading its dependencies and running a few scripts. - Basic JavaScript client and serverside development (see [here](https://nodejs.dev/learn) and [here](https://javascript.info)) - Basic terminal control (see [here](https://mmuratarat.github.io/2020-04-01/bash_shell_tutorial) and [here](https://mmuratarat.github.io/2020-04-01/bash_shell_tutorial) ) - Basic `git` commands (see [here](https://www.git-tower.com/learn/git/videos) and [here](https://github.com/git-school/visualizing-git)) --- 1. Register on our Discord Server [**[ REGISTER on our Discord ]**](https://discord.gg/k4pxafjMWA) 2. Please complete the pre-work [**[ COMPLETE the pre-work ]**](#Schedule) --- ## Overview During this course we will practice: - **perceiving** web 3 in the context of human history - **reading** contract code in Rust and AssemblyScript - **writing** contracts using Rust and AssemblyScript - **deploying** contracts and a sensible user interface The course will include lots of listening, watching, reading and writing. ## Questions We expect two kinds of questions: - questions about the program (what time do we meet, I can't find my group, etc) - **All program questions should be discussed in our group call or on the NEAR University Discord server in the proper channels** - questions about the content (how does `near login` work, how do I deploy a contract, etc) - **All content questions should be posted to StackOverflow and tagged with `nearprotocol`** ## Schedule *This orientation lasts about 2 hours from start to finish.* Please check the course schedule and timing for availability in your timezone. Once registered, you will receive an email confirmation and calendar invitation to join the instructor-led program. ### Pre-work - Some Days Before -- [ **[ Course Prep ]** ](https://hackmd.io/@nearly-learning/ncd-day-0) (**~10-15 hours** of content) *Learn to make sense of what is actually going on right now in the larger context of history.* --- ### The Orientation Session This course is delivered over a virtual meeting as a remote-first, cohort-based learning experience. We will spend the 2 hours together on the following priorities: - answering questions - presenting orientation content - recommending strategies for self-paced learning - optionally providing a guided walkthrough - optionally reviewing available demo code You should aim to submit your demo within the same day if at all possible but, for the time being, we are welcoming demo submissions that come in some days or even weeks after your first orientation session. You are always welcome to come back for any other session. --- ### Schedule for Self-paced Study Once the orientation session is completed, you are encouraged to connect with other members of the community via Discord to coordinate any kind of group, pair or solo activity -- it's up to you. | session | duration | activity | |-|-|-| | EXPLORING | 70 mins | **Exploring web 3** <br> *Learn to read (smart?) contracts in Rust and AssemblyScript, there's really nothing to it.* | | break | 20 mins | Lunch Break | | WRITING | 70 mins | **Practicing web 3** <br> *Learn to write contracts that control identity and money as the new primitives of web 3.* | | break | 20 mins | Coffee Break | | PROJECT | 70 mins | **Projects - Part I** <br> *Learn to deploy your contracts to TestNet*| | break | 20 mins | Snack Break | | PROJECT | 70 mins | **Projects - Part II** <br> *Learn to deploy your contracts to TestNet*| | break | 20 mins | Demo Prep Break | | DEMOS | 60 mins | **Demos** <br> *Demonstrate your group project in 5-10 minutes* | --- ## FAQ ### 1. How much does this cost? Nothing, in fact *we pay you* (in aha! "tokens" :smile: ) to complete this course. ### 2. Do I need to be a software developer to take this course? Yes, and it **won't be easy** -- we'll be moving quickly, no joke. ### 3. What kind of computer do I need? You can do amazing things with Windows, MacOS and Linux machines. Typically we hear that MacOS will be the easiest operating systems to use but we have hundreds of developers working with Windows and Linux as well. Windows may require WSL but some developers are working without it. You may choose to [install WSL](https://docs.microsoft.com/en-us/windows/wsl/install) before we meet but that's up to you. If you're not sure, just join us and ask! ### 4. How do I know if I'm winning? There's no such thing as winning here because we're all lost. Welcome, friend. ### 5. When moon?! Please don't. ### 6. Do you care if I cheat? No, in fact cheating is encouraged. Let's get one thing straight: if you're serious about learning, the fastest way from here to there is to meet people, ask questions, look at some answers, look at even more answers, copy some examples, break things and finally, if you're lucky, learn something new. As long as you're honest about what you're doing, you're always welcome here. Just don't take credit for others people's work because that's lame. ### 7. I have zero time for all this. Can I just binge on some deep work on my own? Hell yes! Here you go: - [NEAR for Senior Developers](https://hackmd.io/@nearly-learning/near-201) is a firehose of content including everything below - [NEAR in a Nutshell](https://docs.google.com/document/d/1fG3PNTKw727Z5SVyUbJ2nnxn5MZNSGYEZIU2Y7XtlYY) covers everything that is NEAR on a single page - [NEAR Live Contract Review](https://www.youtube.com/watch?v=BA7VeUS_RAA&list=PL9tzQn_TEuFXnYksuNJwrl1l_AuWzn6eF) covers our [core contracts](https://github.com/near/core-contracts), among others - [NEAR Live App Review](https://www.youtube.com/watch?v=dT99JLpO2Q8&list=PL9tzQn_TEuFXnHlfh00etU57IjpRlQGpY) covers app development patterns - [NEAR Core Overview](https://www.youtube.com/watch?v=Xi_8PapFCjo&list=PL9tzQn_TEuFV4qlts0tVgndnytFs4QSYo) covers the `nearcore` code base - [Learn NEAR](near.org/learn) landing page for educational content ### 8. I have one hundred more questions. That's awesome. Here is [**a real FAQ**](https://hackmd.io/@nearly-learning/faq)