Course Policies

Enrollment

The Blockchain Dev Decal is open to all UC Berkeley students regardless of major. No prior blockchain experience is required — curiosity and a willingness to learn are the only prerequisites. To join the waitlist or ask enrollment questions, email blockchaindecal@berkeley.edu.


Prerequisites

The course assumes basic programming experience — at the level of CS61A or equivalent. You should be comfortable reading and writing Python or JavaScript. No prior knowledge of cryptography, distributed systems, or Solidity is expected; we teach everything from scratch.

Familiarity with the command line and Git is helpful but not required. We will cover the necessary tooling in the first two weeks.


Lecture

Lectures are held Thursdays 2:00–3:00 PM PT. Attendance is taken each week via the Attendance tab in the course header. Lecture recordings are posted to the Blockchain at Berkeley YouTube channel within 48 hours.

Do not submit attendance if you did not attend. Fraudulent attendance submissions result in a deduction and may be escalated to the Center for Student Conduct.


Assignments

Weekly assignments reinforce the lecture material and typically take 1–3 hours to complete. Assignments are submitted via Gradescope and are due the following Wednesday at 11:59 PM PT. Late submissions are not accepted unless you have an approved extension.

Assignments may include written reflections, short coding exercises in Solidity or JavaScript, and conceptual questions about protocol design.


Course Project

The course project is the centerpiece of the Decal. Teams of 2–4 students design and build a decentralized application over the second half of the semester, culminating in a live demo at the end-of-semester showcase. See the Course Project page for full details, milestones, and grading rubric.


Grading

ComponentWeight
Attendance20%
Assignments40%
Course Project40%
Score RangeGrade
[90, 100]A
[80, 90)B
[70, 80)C
[0, 70)NP

The Blockchain Dev Decal is a P/NP course. The grade bins above correspond to the minimum score required for a passing grade (70%). Students who do not submit a course project will not receive a passing grade regardless of other scores.


Collaboration Policy

Discussion of course concepts and general problem-solving approaches is encouraged. Sharing exact solutions to assignments is not permitted.

  • Write all assignment solutions yourself (with your project partner on project work).
  • Do not copy code from other students or post solutions publicly.
  • Cite any external resources (Stack Overflow, documentation, etc.) you use.
  • Use private GitHub repositories to keep your project code off public forums.

Generative AI Policy

AI tools are a real part of modern blockchain development, and we don't pretend otherwise. However, using AI to complete assignments defeats the purpose of the course.

  • Assignments: Do not use AI to generate your answers. You may use AI to clarify concepts, but the written response must be your own.
  • Project: You may use AI to generate boilerplate and explore syntax, but core contract logic and architecture must come from your team. Cite AI-generated snippets in comments.

Code of Conduct

We are committed to a welcoming environment for students of all backgrounds. Harassment, discrimination, or exclusionary behavior of any kind is not tolerated. Please report concerns to any instructor or to blockchaindecal@berkeley.edu.