Junrui Liu
junrui-liu.bsky.social
Junrui Liu
@junrui-liu.bsky.social
CS PhD student @ UC Santa Barbara, doing program synthesis and verification
https://junrui-liu.github.io/
"Proving termination and completeness... merely lets you sleep better."
November 11, 2025 at 11:32 PM
been toying with the idea of teaching Theory of Computation by starting with TMs first, where students immediately grapple with important questions like (un)decidability and Rice's Theorem, which nicely motivate simpler computation models that show the expressivity <-> automation tradeoff
November 7, 2025 at 11:09 PM
Reposted by Junrui Liu
A new book on the history of control structures by the creator of #OCaml himself @camlist.bsky.social xavierleroy.org/control-stru...
Control structures in programming languages
Xavier Leroy
xavierleroy.org
November 5, 2025 at 12:00 PM
Reposted by Junrui Liu
Interactive theorem provers for proof education. ~ Romina Mahinpei, Manoel Horta Ribeiro, Mae Milano. dl.acm.org/doi/abs/10.1... #ITP #CoqProver #Teaching
Interactive Theorem Provers for Proof Education | Proceedings of the 2025 ACM SIGPLAN International Symposium on SPLASH-E
dl.acm.org
October 13, 2025 at 10:38 AM
Reposted by Junrui Liu
I'm teaching 𝗪𝗿𝗶𝘁𝗲 𝘆𝗼𝘂𝗿 𝗼𝘄𝗻 𝘁𝗶𝗻𝘆 𝗽𝗿𝗼𝗴𝗿𝗮𝗺𝗺𝗶𝗻𝗴 𝘀𝘆𝘀𝘁𝗲𝗺(𝘀)! again. I'll be posting the videos & tasks on YouTube too.

In the first lecture, I explain what's a tiny system, why write one and show plenty of demos!

🎞️ Playlist: www.youtube.com/playlist?lis...
👉 More info: d3s.mff.cuni.cz/teaching/npr...
Write your own tiny programming system(s)! - YouTube
The goal of this course is to teach how fundamental programming language techniques, algorithms and systems work by writing their miniature versions. The cou...
www.youtube.com
October 7, 2025 at 9:18 PM
Reposted by Junrui Liu
Super excited to release the latest version of "A Data-Centric Introduction to Computing" (DCIC). See release notes for 2025-08-27 for what's changed and new (a LOT!): dcic-world.org/2025-08-27/R....
dcic-world.org
A Data-Centric Introduction to Computing
This book is an introduction to computer science. It will teach you to program, and do so in ways that are of practical value and importance. However, it will also go beyond programming to computer sc...
dcic-world.org
August 28, 2025 at 1:21 AM
Reposted by Junrui Liu
Released today: the second video in my Programming Language Pragmatics series, covering Compilation, Interpretation, and Environments!

www.youtube.com/watch?v=mrmo...

Going forward, I'll post a video 3 times a week. Please share the series with anyone who might benefit!
PLP 1.3-1.4: Compilation, interpretation, and environments
YouTube video by Jonathan Aldrich
www.youtube.com
August 8, 2025 at 5:01 PM
Reposted by Junrui Liu
May 25-27, 2025, I hosted an event, the "Minnowbrook Logic Programming Seminar," in Blue Mountain Lake, NY. I recorded 11 talks on Datalog-related interests, totaling over 9+ hours of video, which I have just now published on YouTube youtu.be/3ec9VfMUVa8
Minnowbrook Logic Programming Seminar (Supercut w/ Extras)
YouTube video by Kristopher Micinski
youtu.be
July 7, 2025 at 6:50 PM
Reposted by Junrui Liu
The joy of comp sci is that it applies scientific (mathematical, if you're lucky) thinking to a domain which is constructed entirely artificially. Things are the way we make them. Reality doesn't fling you around: you fling reality around. And you need to learn to do so with skill and consideration.
June 28, 2025 at 9:24 PM
Reposted by Junrui Liu
Specifically, if you're looking for a CS job at a small liberal arts college check this list (later this summer): cs-pui.github.io

And warning: many of these jobs have early fall deadlines!

#FAccT2025
June 25, 2025 at 12:47 PM
Reposted by Junrui Liu
This is such an important observation that I've been planning to delve into it in my intro PL class this summer. In this sense, non-determinism is just like type abstraction: if an over-approximation of actual behaviors is proven safe, then so are the actual behaviors.
I think next week's Formal Methods talk is going to be almost entirely about system properties, which means I probably won't be getting a chance to talk about my favorite idea from FM: that "nondeterminism" is primarily a means of *abstracting* a system.

Consider, for example, the humble `rand()`.
June 11, 2025 at 6:26 PM
Reposted by Junrui Liu
Breaking News: The U.S. government will work to “aggressively revoke” visas of Chinese students, Secretary of State Marco Rubio said.
U.S. Will ‘Aggressively’ Revoke Visas of Many Chinese Students, Rubio Says
www.nytimes.com
May 29, 2025 at 12:46 AM
Reposted by Junrui Liu
UPDATE: I am going to offer some free online training this summer about how to create code playbacks and use them in a course. I'll show how I use code playbacks instead of textbooks and videos and share what my students think of them.

www.eventbrite.com/e/beyond-tex...
Beyond Textbooks and Videos: Creating and Sharing Code Playbacks
Join CS professor, Mark Mahoney, to hear about how he uses code playbacks in his computer science courses.
www.eventbrite.com
May 27, 2025 at 4:32 PM
Reposted by Junrui Liu
A few thoughts on AI and education, from someone who uses AI and also teaches many levels of student.

1. Most importantly, it's not possible to know what will happen because no one knows what skills AI will or will not replace in the next few years.
May 8, 2025 at 4:30 PM
Really excited to teach an undergrad course on programming languages this summer! Unfortunately, UCSB only gave me 6 weeks for a summer class, so will have to work under severe time constraints. Slowly working out the course design here (suggestions welcome!): junrui-liu.github.io/cs162/
Syllabus 📝 - CS162 Programming Languages
junrui-liu.github.io
April 9, 2025 at 12:10 AM
Random thought: teaching a PL course where students progressively build components of a language server for a simple language
April 3, 2025 at 5:30 PM
Reposted by Junrui Liu
This essay about feminism in PL asks some really tough questions!

It’s making me wonder: what should the purpose of PL research be, anyway?? Are we trying to “solve problems”, “make the world a better place”, “expand knowledge”, or…?

www.felienne.com/wp-content/u...
www.felienne.com
March 25, 2025 at 2:50 PM