cs1010: Computing for Future Leaders and Global Citizens
Official name: Introduction to Information Technologycs1120: Introduction to Computing: Explorations in Language, Logic, and Machines (also known as Computer Science: From Ada and Euclid to Quantum Computing and the World Wide Web)
Spring 2024
Spring 2016cs2120: Discrete Mathematics and Theory 1
Fall 2011 [Course Evaluation]
Fall 2009
Spring 2007 (as cs150)
Fall 2005 (as cs150)
Spring 2004 (as cs200)
Spring 2003 (as cs200) [Reviews]
Spring 2002 (as cs200) [SEAS Survey, Course Improvement Survey]
UTF Proposal (2001): University of Virginia Teaching Fellowship: Teaching Introductory Computer Science as a Liberal Art
Textbook (under development, 2007-2011): Introduction to Computing: Explorations in Language, Logic, and Machines
Spring 2025 (co-taught with Aidan San)cs2220: Engineering Software
Fall 2017 (as cs2102: Discrete Mathematics, co-taught with Mohammad Mahmoody)
Fall 2016
Fall 2010 [Classes]cs216: Program and Data Representation (Spring 2006)
Fall 2006 (as cs205)
Fall 2003 (as cs201J) [SEAS Evaluations, Course Improvement Survey]
Fall 2002 (as cs201J) [Evaluations]
Course Proposal: NSF CCLI: Teaching Software Engineering Using Lightweight Analysis
Spring 2023 (co-taught with Mohammad Mahmoody)
Fall 2021 (co-taught with Nathan Brunell)
Fall 2020 (co-taught with Nathan Brunell)
Fall 2019 (co-taught with Nathan Brunell)
Spring 2010
Spring 2008 (as cs302)
cs3501: Everyday Ethics and Quotidian Quandries for Computer Scientists (Spring 2021)
A fully virtual pandemic-lockdown class, with most sessions meeting using Rally).
Schedule and Final Projects.
Introduction to Operating Systems, using the Rust programming language and focusing on building secure, robust, and scalable computing systems.cs4501: Computational Biology / Biological ComputingSpring 2014 (includes edited video lectures)
Fall 2013
Fall 2022cs4501: Cryptocurrency
Spring 2022
Fall 2015 (Cryptocurrency Cabal)cs4501/econ4559: Markets, Mechanisms, and Machines
Spring 2015 (Cryptocurrency Cafe)
Spring 2020 (co-taught with Denis Nekipelov from Economics)cs588: Cryptology: Principles and Applications
Spring 2019 (co-taught with Denis Nekipelov from Economics)
Spring 2005PAVS 4500: How will Artificial Intelligence change Humanity? (Fall 2018)
Fall 2001 [SEAS Evaluation]
Fall 2000 (as cs551: Security and Privacy on the Internet: Keeping Secrets, Thwarting Imposters and Disarming Malicious Code) [SEAS Evaluation, Course-Specific Evaluation]
Pavilion Seminar offered through the College of Arts and Sciences.
Proposal [PDF]
Spring 2001Special Topics Seminars (listed as cs651, cs6501, or cs851)
Spring 2000 [SEAS Evaluation]
LAW 7127: Artificial Intelligence and Machine Learningcs6501: Evaluation Crisis in Computer Science (Fall 2024)
cs6501: Risks and Benefits of Generative AI and LLMs (Fall 2023)
cs6501: Security and Privacy of Machine Learning (Spring 2018)
cs6501: Understanding an Securing TLS (TLSeminar) (Spring 2017)
cs6501: Data Hacking "Show-and-Tell"inar (Fall 2014)
cs6501: Great Works in Computer Science (Spring 2013)
cs6501: Principles Of Knowledge Engineering and Reconstruction (Spring 2011)
cs6501: Security Seminar (Fall 2009)
cs851: Web Applications Security Seminar (Fall 2007)
cs851: Malware Seminar (Fall 2004)
cs851/651: Cryptography Applications Bistro (CrAB Seminar) (Spring 2004)
cs851: Biologically-Inspired Computing (with Jim Cohoon) (Spring 2003)
Spring 2025, co-teacher for Law School course led by Thomas Nachbar.
cs101: Introduction to Computer Science (Building a Search Engine) (Course Notes)
This course uses building a search engine as a vehicle for learning about computer science and Python programming. It has enrolled over 500,000 students (since launching in February 2012. Selected news articles: Prospect Magazine, Chronicle. Blog post describing my experiences developing cs101: CS101: One Year Later.
cs387: Applied Cryptography [Course Materials]
According to InformationWeek, this the #1 Online Class To Pump Up IT Careers, although it is more meant as a fun introduction to cryptography. It has enrolled over 70,000 students. Daniel Winter, with help from other students in the class, produced a textbook for the class.
Joint with LAW 7127: Artificial Intelligence and Machine Learning, co-taught with Thomas Nachbar