Oct 24, 2026  
2026-2027 Catalog 
    
2026-2027 Catalog

CSC 352 - Blockchains


Instructor
Mendes

Blockchains are distributed computer systems designed to maintain a decentralized ledger, and also collectively execute & validate public computations, assuming an environment with open admittance but without mutual trust. In this course, we study the computational ideas in the design and implementation of blockchains, including public-key cryptography, data structures for state management, consensus protocols for conflict resolution, virtual machines for smart contract execution, security aspects of trustless / permissionless systems, and scalability and synchrony issues in computer networks. We also study the anatomy of popular decentralized finance applications from a software design perspective(not financial perspective). The course adopts a hands-on approach: students solve practical programming assignments during the course, and develop a final project designed jointly with the professor.

Satisfies the Systems elective requirement in the Computer Science major.
Satisfies an elective requirement in the Computer Science minor. 

Prerequisites & Notes
CSC 221 and one of CSC/MAT 220 or MAT 230