justin-site/content/about.md

76 lines
4.2 KiB
Markdown
Raw Normal View History

2019-10-28 02:33:14 +00:00
I am an assistant professor in the [Department of Computer
2021-07-16 22:12:58 +00:00
Science](https://www.cs.cornell.edu/) at [Cornell
University](https://www.cornell.edu).
2018-09-03 06:46:31 +00:00
2020-02-04 21:27:50 +00:00
**I am always looking for good students!**
2018-09-03 06:46:31 +00:00
2021-07-16 22:12:58 +00:00
Previously, I was an assistant professor in the [Department of Computer
Sciences](https://www.cs.wisc.edu/) at the [University of
Wisconsin--Madison](https://www.wisc.edu), and a postdoc at the [Department of
Computer Science](https://www.cs.cornell.edu/) at [Cornell
University](https://www.cornell.edu/), and in the [Programming Principles,
2018-09-03 06:46:31 +00:00
Logic, and Verification Group](http://pplv.cs.ucl.ac.uk/welcome/) at the
2020-02-04 21:27:50 +00:00
[University College London](https://www.ucl.ac.uk/). I was a graduate student in
the [Department of Computer Science](https://cis.upenn.edu) at the [University
of Pennsylvania](https://www.upenn.edu).
2015-08-17 10:10:24 +00:00
2023-01-10 23:09:20 +00:00
I am funded by the National Science Foundation, the Office of Naval Research,
and Facebook Research.
2020-05-01 21:15:43 +00:00
2015-01-05 04:43:45 +00:00
## Research Interests ##
2018-09-03 06:46:31 +00:00
I design methods to **formally verify** that programs are correct, especially
2018-09-03 06:47:05 +00:00
programs that use **randomization**. Such programs can be easy to show correct
on paper, but surprisingly challenging for computers to analyze. Accordingly,
my research blends ideas from two classical areas of computer science:
**randomized algorithms** from theoretical computer science (**TCS**) and
**formal verification**.
2018-09-03 06:46:31 +00:00
Drawing inspiration from how humans reason about randomized algorithms, we can
build simpler and more automated verification techniques. In the past, I've
applied this approach to properties like **accuracy**, **incentive
compatibility**, Markov chain **mixing**, and various notions of **algorithmic
stability**.
A particular focus of my work has been [**differential
2017-11-14 16:06:41 +00:00
privacy**](https://en.wikipedia.org/wiki/Differential_privacy), a rigorous
2015-01-05 04:43:45 +00:00
definition of privacy that is currently under extensive study.
2018-09-03 06:46:31 +00:00
I have investigated a variety of formal methods---such as [**type
2017-11-14 16:06:41 +00:00
systems**](https://en.wikipedia.org/wiki/Type_system) and [**program
logics**](https://en.wikipedia.org/wiki/Hoare_logic)---to verify that programs
2018-09-03 06:46:31 +00:00
are differentially private.
From a more traditional algorithms perspective, I am also interested in applying
differential privacy to optimization, machine learning, and mechanism design.
2017-01-17 10:33:57 +00:00
2018-09-05 03:51:09 +00:00
## Teaching ##
2023-01-10 23:09:20 +00:00
- **Data Structures and Functional Programming (CS 3110)**: [S23](https://www.cs.cornell.edu/courses/cs3110/2023sp/) [S22](https://www.cs.cornell.edu/courses/cs3110/2022sp/)
2023-03-30 03:35:53 +00:00
- **Category Theory for Computer Scientists (CS 6117)**: [F22](teaching/f22/cs6117)
2022-08-03 14:31:15 +00:00
- **Foundations of Probabilistic Programming (CS 6182)**: [F21](teaching/f21/cs6182)
2021-07-10 23:35:58 +00:00
- **Reasoning about Probabilistic Programs** <br>
**Invited Course at [OPLSS 2021](https://www.cs.uoregon.edu/research/summerschool/summer21/index.php)**:
2022-11-07 18:41:25 +00:00
[[slides](https://justinhsu.net/files/slides/oplss21.pdf)] [[recordings](https://www.cs.uoregon.edu/research/summerschool/summer21/topics.php)]
2023-01-10 23:11:39 +00:00
- **Security and Privacy in Data Science (CS 763)**: [F20](teaching/f20/cs763/) [F19](teaching/f19/cs763/)
- **Introduction to the Theory and Design of PL (CS 538)**: [S20](teaching/s20/cs538/) [S19](teaching/s19/cs538/)
2021-01-14 16:55:18 +00:00
- **Topics in Security and Privacy Technologies (CS 839)**: [F18](teaching/f18/cs839/)
2018-09-05 03:51:09 +00:00
2017-01-17 10:33:57 +00:00
## Service ##
2023-03-21 21:13:54 +00:00
- **2024** OOPSLA
2022-09-30 15:52:00 +00:00
- **2023** CSF, ICALP-B, LICS, OOPSLA, MFPS
2022-03-01 05:06:48 +00:00
- **2022** POPL, PLDI, MFPS (co-chair)
2021-04-01 22:14:17 +00:00
- **2021** ESOP, PLMW@POPL, CSF, AAAI, COLT, WoLLIC, MFPS
2020-05-18 17:24:05 +00:00
- **2020** AAAI, CSF, LAFI, WoLLIC, PLMW@POPL, OOPSLA (ERC)
2020-02-04 21:27:50 +00:00
- **2019** POPL, PLMW@POPL, POST, CSF, DARS (co-chair)
2018-05-25 20:37:57 +00:00
- **2018** LICS, WWW
- **2017** FCS, TPDP, MFPS
- **2016** PLDI (ERC)
2021-07-10 22:41:56 +00:00
## Blogging ##
2021-07-19 17:33:49 +00:00
I've greatly enjoyed blogging for [PL Perspectives](https://blog.sigplan.org/blog/)!
2021-07-10 22:41:56 +00:00
2023-04-05 23:03:39 +00:00
- [**Teaching Category Theory to Computer Scientists**](https://blog.sigplan.org/2023/04/04/teaching-category-theory-to-computer-scientists/)
2021-07-10 22:41:56 +00:00
- [**Verifying Randomized Algorithms: Why and How?**](https://blog.sigplan.org/2020/10/20/verifying-randomized-algorithms-why-and-how/)
2021-07-19 17:33:49 +00:00
- [**Re-Imagining the “Programming Paradigms” Course**](https://blog.sigplan.org/2021/01/28/re-imagining-the-programming-paradigms-course/)
- [**Programming Languages Mentoring Workshop: Ten Years Later**](https://blog.sigplan.org/2021/05/11/programming-languages-mentoring-workshop-ten-years-later/)