placeholder image
  • Contact Info
Publications in VIVO
 

Waggoner, Bo

Assistant Professor

Positions

Research

research overview

  • I'm interested in theory of how information is (algorithmically) gathered, aggregated, and used to make predictions or decisions. Much of my research situates AI, theoretical CS, or machine-learning problems in a societal context where information has privacy implications or is held by strategic agents who might misreport it.

keywords

  • algorithmic game theory, machine learning, theoretical computer science

Publications

selected publications

Teaching

courses taught

  • APPM 4490 - Theory of Machine Learning
    Primary Instructor - Spring 2021
    Presents the underlying theory behind machine learning in proofs-based format. Answers fundamental questions about what learning means and what can be learned via formal models of statistical learning theory. Analyzes some important classes of machine learning methods. Specific topics may include the PAC framework, VC-dimension and Rademacher complexity. Recommended prerequisite: CSCI 5622 (minimum grade C-).
  • APPM 5490 - Theory of Machine Learning
    Primary Instructor - Spring 2021
    Presents the underlying theory behind machine learning in proofs-based format. Answers fundamental questions about what learning means and what can be learned via formal models of statistical learning theory. Analyzes some important classes of machine learning methods. Specific topics may include the PAC framework, VC-dimension and Rademacher complexity. Recommended prerequisites: APPM 4440 and CSCI 5622.
  • CSCI 2824 - Discrete Structures
    Primary Instructor - Fall 2024
    Covers foundational materials for computer science that is often assumed in advanced courses. Topics include set theory, Boolean algebra, functions and relations, graphs, propositional and predicate calculus, proofs, mathematical induction, recurrence relations, combinatorics, discrete probability. Focuses on examples based on diverse applications of computer science. Recommended prerequisite: Calc 2 (APPM 1360 or MATH 2300) is strongly recommended. Same as CSPB 2824.
  • CSCI 2834 - Discrete Structures Workgroup
    Primary Instructor - Fall 2024
    Provides additional problem-solving practice and guidance for students enrolled in CSCI 2824. Students work in a collaborative environment to further develop their problem-solving skills with the assistance of facilitators. Does not count as Computer Science credit for the Computer Science BA, BS, or minor.
  • CSCI 3104 - Algorithms
    Primary Instructor - Fall 2021
    Covers the fundamentals of algorithms and various algorithmic strategies, including time and space complexity, sorting algorithms, recurrence relations, divide and conquer algorithms, greedy algorithms, dynamic programming, linear programming, graph algorithms, problems in P and NP, and approximation algorithms. Same as CSPB 3104.
  • CSCI 4830 - Special Topics in Computer Science
    Primary Instructor - Spring 2021
    Covers topics of interest in computer science at the senior undergraduate level. Content varies from semester to semester. Only 9 credit hours from CSCI 4830 and/or CSCI 4831 can count toward Computer Science BS or BA.
  • CSCI 4950 - Senior Thesis
    Primary Instructor - Fall 2020 / Spring 2021
    Provides an opportunity for senior computer science majors to conduct exploratory research in computer science as an option for the capstone requirement. Department enforced prerequisites: 35 hours of Computer Science coursework including Foundation courses, Upper-Division writing, CS GPA 3.0. Department consent required, contact academic advisor for details. May be repeated up to 8 total credit hours.
  • CSCI 5454 - Design and Analysis of Algorithms
    Primary Instructor - Fall 2019 / Fall 2020 / Fall 2021 / Fall 2022 / Fall 2023
    Techniques for algorithm design, analysis of correctness and efficiency; divide and conquer, dynamic programming, probabilistic methods, advanced data structures, graph algorithms, etc. Lower bounds, NP-completeness, intractability. Recommended prerequisite: CSCI 2270 or equivalent.
  • CSCI 7000 - Current Topics in Computer Science
    Primary Instructor - Spring 2020 / Spring 2021
    Covers research topics of current interest in computer science that do not fall into a standard subarea. May be repeated up to 18 total credit hours.
  • CYBR 5240 - Introduction to Blockchain
    Primary Instructor - Spring 2022
    Examines an emerging technology known as blockchain. Blockchain refers to the distributed and decentralized database technology behind popular cryptocurrencies such as Bitcoin and Ethereum. However, it can be used to record and transfer any digital asset, not just currency. This course explores the fundamentals of blockchain technology and its application from three key perspectives: policy and governance, technology, and application. Students gain an understanding of key concepts and how to apply them in the industry. Previously offered as a special topics course. Same as CSCI 5240 and CSCI 4240.
  • INFO 4871 - Special Topics
    Primary Instructor - Spring 2021
    Special topics.

Background

International Activities