Fall 2022

Developers DeCal

course number: 32917

Enrollment Information

In order to begin enrolling for the course, potential students must submit an application before the given due date. If course staff deem the student to be a good fit for the DeCal, we will give a permission code to the student so that they can be officially enrolled in the course.

Class enrollment decisions will be made by August 31st

About

Welcome to Blockchain@Berkeley’s Blockchain for Developers DeCal for the Spring 2022 semester! This course is designed to provide students a comprehensive general overview of currently relevant topics in blockchain development, as well as hands-on experience in developing and deploying their own smart contracts.Blockchain is currently one of the fastest growing industries in the technology sector, with 14 job openings for every blockchain developer. In response to this shortage of blockchain developers, this course aims to teach students the fundamentals of blockchains, the Solidity programming language, as well as industry-relevant tools such as Metamask, Infura, Truffle, and Ganache so that students will be equipped with industry-relevant experience in an accessible, collaborative environment. We hope that through this course, students will become more confident in their ability to develop and deploy blockchain-based solutions on important industry issues.

Goal

The Blockchain Fundamentals DeCal is a comprehensive survey of relevant topics in cryptocurrency and the wider blockchain space. From a technological standpoint, we start with the basics of cryptography and economics, establish a solid fundamental understanding of Bitcoin by building it from the bottom up, then explore the myriad of ideas and technologies relating to blockchain technology. On the non-technical side, we start with the history of digital currency, then look at the laws, organizations, trends, and communities behind it to build a complete picture of the ecosystem surrounding blockchain technology.

course policies

Logistics

Prerequisites

CS61A minimum, CS61B recommended, Fundamental CS Concepts needed

Units

1-2 units

Location

Moffitt Library 101

Schedule

6:00-8:00 PM every Thursday

Class Format

The course will be split into two parts. The first half of the course will be dedicated to a quick overview of blockchain (with a special focus on Ethereum, as we will develop and deploy smart contracts through the Ethereum ecosystem) and learning to work with various developer tools. The second half will feature a series of guest lecturers that will introduce students to additional blockchain development applications. Each class will be divided into two parts as well. The first hour of each class will be dedicated to a lecture covering the topics planned for that week. We will then switch gears in the second hour of class to focus on more hands-on work with that week’s topics.

Grading

Grading is P/NP for this course and based on completion. In order to pass the course, students will need to complete the final project, finish all the homework, and attend all lectures.

Homework: In blockchain development, you can only learn by doing. There will be homework dispersed throughout the course and will be based on the content of the lecture in the previous week. Each lecture will be structured in a way that homework can be completed within the class. First half of each class covers the concepts, and the second half focuses on hands-on understanding through doing the homework. All homework check-offs will be graded on completion due at the beginning of next lecture. To pass the class, you must submit all the homework on time except two of your choice.

Project:
There will be a final project due by the end of dead week. It will be a simple project where you create your own Ethereum backed token. It is a perfect opportunity for you to put into practice the concepts you learned in lecture into a significant blockchain based application. If you have any questions about it, please contact us, we’d be happy to talk about it. Completion of the project is mandatory to pass the class.

Policies

The Blockchain Fundamentals DeCal is a comprehensive survey of relevant topics in cryptocurrency and the wider blockchain space. From a technological standpoint, we start with the basics of cryptography and economics, establish a solid fundamental understanding of Bitcoin by building it from the bottom up, then explore the myriad of ideas and technologies relating to blockchain technology. On the non-technical side, we start with the history of digital currency, then look at the laws, organizations, trends, and communities behind it to build a complete picture of the ecosystem surrounding blockchain technology.

Resources

All homework skeleton code and solutions are posted on the GitHub repository.