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
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.