CS 521

Spring 2026 Part of Term 1

Part of Term 1
Jan 20-May 6
Advanced Topics in Programming Systems

Credit: 4 hours.

Advanced topics in building and verifying software systems, selected from areas of current research such as: model checking and automated verification, testing and automated test generation, program synthesis, runtime verification, machine learning and its applications in the design of verified systems, formal analysis of machine learning algorithms, principles of programming languages and type systems.

May be repeated if topics vary. Credit is not given towards a degree from multiple offerings of this course if those offerings have significant overlap, as determined by the CS department. Prerequisite: CS 374 or ECE 374; CS 421. Additional prerequisites or corequisites may be specified each term. See section information.

CS 521 class schedule data for spring 2026
CRN Type Section Time Day Location Instructor Section Details
77349
Lecture-Discussion
Online Lecture
BCC
BCC
3:30PM -4:45PM
3:30PM -4:45PM
F
W
ARR Illini Center
n.a.
Rosu, G
Rosu, G
Part of Term:
1
Date Range:
01/20/26-05/06/26
Credit:
4 hours
Section Title:
Foundations of Blockchains
Section Info:
Technological Foundations of Web3: Digital Assets, Blockchains and Beyond. Description: Web3 is considered the next stage of the internet, built on decentralization and blockchain technology. Web3 is moving away from the current model dominated by large corporations towards a more user-centric and open ecosystem, where users have more control over their data and digital assets. This class will introduce the fundamental concepts that underlie Web3. Starting with basic concepts such as how to calculate hashes, sign transactions, and authenticate signatures, the course will then dive into consensus protocols, verifiable computing and zero-knowledge cryptography, blockchain languages and virtual machines, as well we various incentivization mechanisms for actors in decentralized networks to operate honestly. The students taking this class will also be asked to read papers and blogs and discuss these topics in class, including potentially controversial topics which are of interest to the growing Web3 community. This section is restricted to Chicago MCS students only and has a weekly in-person meeting at 200 S. Wacker Dr. For up-to-date information about CS course restrictions, please see the following link: http://go.cs.illinois.edu/CSregister
Restriction(s):
Restricted to Graduate - Urbana-Champaign.
Restricted to Computer Science or Bioinformatics major(s). Restricted to MCS: Computer Sci OFF - UIUC.
72385
Lecture-Discussion
Lecture-Discussion
BCU
BCU
3:30PM -4:45PM
3:30PM -4:45PM
F
W
0220 Siebel Center for Comp Sci
0220 Siebel Center for Comp Sci
Rosu, G
Rosu, G
Part of Term:
1
Date Range:
01/20/26-05/06/26
Credit:
4 hours
Section Title:
Foundations of Blockchains
Section Info:
Technological Foundations of Web3: Digital Assets, Blockchains and Beyond. Description: Web3 is considered the next stage of the internet, built on decentralization and blockchain technology. Web3 is moving away from the current model dominated by large corporations towards a more user-centric and open ecosystem, where users have more control over their data and digital assets. This class will introduce the fundamental concepts that underlie Web3. Starting with basic concepts such as how to calculate hashes, sign transactions, and authenticate signatures, the course will then dive into consensus protocols, verifiable computing and zero-knowledge cryptography, blockchain languages and virtual machines, as well we various incentivization mechanisms for actors in decentralized networks to operate honestly. The students taking this class will also be asked to read papers and blogs and discuss these topics in class, including potentially controversial topics which are of interest to the growing Web3 community. For up-to-date information about CS course restrictions, please see the following link: http://go.cs.illinois.edu/CSregister
Restriction(s):
Restricted to Graduate - Urbana-Champaign.
Not intended for MCS: Computer Sci OFF - UIUC, MCS:Computer Sci Online -UIUC, or NDEG:Computer Science Onl-UIUC.
Not intended for First Time Freshman students.
77350
Lecture-Discussion
Online Lecture
LCC
LCC
11:00AM -12:15PM
11:00AM -12:15PM
R
T
ARR Illini Center
n.a.
Misailovic, S
Misailovic, S
Part of Term:
1
Date Range:
01/20/26-05/06/26
Credit:
4 hours
Section Title:
Approx & Probabilist Computing
Section Info:
Title: Approximate & Probablistic Computing. Description: The current drive for energy-efficiency has made approximation a key concept in designing and implementing software in various areas, such as data analytics, machine learning, mobile computing, multimedia processing, and engineering simulations. This course will focus on programming language foundations and system-level techniques for representing noise in program's data and reasoning about profitable tradeoffs between accuracy, reliability, and energy consumption. In addition to selected algorithmic-level approximations, we will study (i) programming languages that natively operate on probabilistic and/or uncertain data, (ii) compilers and programming systems that automatically approximate programs while verifying or testing the accuracy of optimized programs, (iii) techniques for verification and testing of probabilistic applications, and (iv) case studies of end-to-end systems that operate under strict resource constraints. Prerequisites: CS 225, CS 357 and CS 421; or permission of the instructor. Weekly in-person meeting in 200 S. Wacker Dr. Restricted to MCS Chicago Students. There may be in class meetings, exams, and in class activities.
Restriction(s):
Restricted to Graduate - Urbana-Champaign.
Restricted to Computer Science or Bioinformatics major(s). Restricted to MCS: Computer Sci OFF - UIUC.
76029
Lecture-Discussion
LCU
11:00AM -12:15PM
TR
0220 Siebel Center for Comp Sci
Misailovic, S
Part of Term:
1
Date Range:
01/20/26-05/06/26
Credit:
4 hours
Section Title:
Approx & Probabilist Computing
Section Info:
Title: Approximate & Probablistic Computing. Description: The current drive for energy-efficiency has made approximation a key concept in designing and implementing software in various areas, such as data analytics, machine learning, mobile computing, multimedia processing, and engineering simulations. This course will focus on programming language foundations and system-level techniques for representing noise in program's data and reasoning about profitable tradeoffs between accuracy, reliability, and energy consumption. In addition to selected algorithmic-level approximations, we will study (i) programming languages that natively operate on probabilistic and/or uncertain data, (ii) compilers and programming systems that automatically approximate programs while verifying or testing the accuracy of optimized programs, (iii) techniques for verification and testing of probabilistic applications, and (iv) case studies of end-to-end systems that operate under strict resource constraints. Prerequisites: CS 225, CS 357 and CS 421; or permission of the instructor.
Restriction(s):
Restricted to Graduate - Urbana-Champaign.
Not intended for MCS: Computer Sci OFF - UIUC, MCS:Computer Sci Online -UIUC, or NDEG:Computer Science Onl-UIUC.
Not intended for First Time Freshman students.
COURSE EXPLORER
Email: Course Explorer Feedback

OFFICE OF THE REGISTRAR | 901 W. Illinois Street, Urbana, Illinois 61801

Site developed by: Technology Services at Illinois | UNIVERSITY OF ILLINOIS URBANA-CHAMPAIGN
1102 Digital Computer Laboratory | MC-256 | Urbana, IL 61801 | phone 217-244-7000