LogoLogo
  • For Students
    • Welcome
    • Live Classroom
    • Office Hours
    • Completing Assignments
    • Capstone Projects
    • Certification
  • Solana
    • Overview
    • Orientation Slides and Recording
    • Prerequisites
    • Cluster 1 -- Week 1
    • Cluster 2 -- Weeks 2 & 3
    • Cluster 3 -- Weeks 4 & 5
Powered by GitBook
On this page
  • Using GitHub
  • Code Journals
  • P4BL - Videos
  1. For Students

Completing Assignments

PreviousOffice HoursNextCapstone Projects

Last updated 2 years ago

Each week, assignments will be completed that allow cadets to practice concepts, develop "code comprehension", write smart contracts, and display mastery. Our approach is authentic tasks- adult learning theory conveys that the ability to directly connect a task to useful skill development is the most effective strategy for asynchronous practice.

In Web3, operational excellence and efficiency are integral to success. Shipping on time and of the highest quality are values that we also reinforce with the out of class work.

Using GitHub

Mastering Github is essential. It is a tool that will be a major component of every developer's professional experience. We thus utilize this tool in every way that will be integrated in the future of our cadets work lives.

The WBA GitHub organization is located . All cadets will be granted access prior course beginning.

You will be shipping code throughout this course. In order to effectively submit all work you will need to create a new GitHub repository that will hold all of your work. The naming convention that will be followed will be Solana Q1 2023. Within this repository we request a subfolder for each segment of this course (i.e., Prereqs, Cluster 1, Cluster 2, etc) to be broken down further by the assignments you will receive for each cluster.

For example, within your Solana Q1 2023 repository you should have a sub folder of Pre-Requisites further broken down to the two assignments requiring code shipped (described below):

Solana Q1 2023\Prerequisites\RustCrashCourse

Solana Q1 2023\Prerequisites\PaulX Escrow Contract

Code Journals

Mastery of a skill comes from immersing yourself in the study and use of it in many different ways.

For the Code Study Journal, you will need to complete 3 code journals per week for the first three weeks (due by Sunday midnight UTC). You will send these to GitHub-as prescribed for all Cohort work [NOTE: each journal entry should focus on 30-50 lines of code- meaning your total annotations should be between 90-150. If you end up doing a single contract that is 90-150 lines, that works for all 3 that week]

Here are the steps to complete each one:

  1. Annotate the code- in other words, make notes on the document explaining what is happening through the code.

  • What are the concepts (borrowing, ownership, vectors etc)

  • What is the organization?

  • What is the contract doing? What is the mechanism?

  • How could it be better? More efficient? Safer?

  • As we shift to week 2, your lens of Native Rust -> Anchor should be explored, annotated, and analyzed.

3. Make a video of your code study, once a month, and show an example of how you made the code better, test, compile, and deploy it on video.

We ask that you interpret and apply these instructions in the way you understand them. Not everyone will do so the same way. There are no wrong answers- the only way to fail this part is to not do it and ship on time.

Engagement through reading, thinking, and writing about code in this way leads to your own discovery of the how, what, where, when, why of smart contracts- architecture & mechanism .

We are interested in how YOU do this process. The more you immerse and think deeply about the code, the more expert you will become.

All Code Journals must completed in the WBA Organization repo in GitHub!

P4BL - Videos

P4BL refers to multiple ways we gain and show mastery of concepts. The components reflect years of research into learning best practices. During the course, cadets will create and share 3 videos. The first will be a walkthrough of a Rust topic- with code examples, preferably with regards to how these concepts are used in Solana Programs. The second will be a choice of a walkthrough of a hacked contract, or the cadet's boilerplate/template contract. Finally, all capstones will be submitted with a video demo. Project, Procedure, and Problem based learning are integral, and we immerse in each one. Perhaps the greatest manifestation of mastery is in Presentation.

Select a piece of code/ smart contract. To start there will be choices provided, or you can find a sample on your own- this are a great resource you will learn to use during this course. It is a collection of programs, many of which are production ready. The faster you get comfortable with these examples,, the better off you will be.

Solana repo
here