Spring 2021 teaching

CS 211: Fundamentals of Computer Programming II TuTh 14.00–15.20 CT Online
CS 396/496: Systems Programming in Rust TuTh 9.30–10.50 CT Online

Teaching & research interests

My goal is to help students become proficient programmers, caring collaborators, and happy human beings. That list is in ascending order of importance, but descending order with respect to my qualifications. That said, I’ll do what I can.

In past research, I’ve focused on programming language design, especially functional programming and type systems. I’m still interested in how programming language technology can help make all kinds of programmers’ lives better.

Selected publications

Past teaching

CS 3/496: Systems Programming in Rust Wi20, Sp19, Sp18
CS 211: Fundamentals of Computer Programming II Wi20, Fa20, Sp20, Wi20, Wi19, Wi18, Wi17
CS 214: Data Structures Fa19, Fa18, Fa17, Fa16, Fa15
CS 295: Intensive Program Design Fa20, Fa19, Fa18, Fa17, Fa16, Fa15
EECS 111: Fundamentals of Computer Programming I Sp19, Sp18, Sp17, Sp16
EECS 230: Programming for Engineers Wi19, Wi18, Wi17, Sp16, Wi16
EECS 3/496: Type Systems Wi18
EECS 3/495: Concurrent Programming in Rust Sp17, Wi16
CS 3500: Object-Oriented Design* Su15, Sp15, Fa14
CS 4620: Building Extensible Systems* Sp15
CS 51: Introduction to Computer Science II Sp14
CS 2500: Fundamentals of C.S. I* Sp10
CS G-262: Compilers* Sp08


LaTeX packages (plstx, pfsteps, ottalt, . . .) Includes packages for typesetting grammars, writing proofs with numbered steps and justifications, formatting Ott output, and list processing
libffi-rs Rust bindings for libffi, for calling Rust closures from C via a single function pointer
min-max-heap-rs A double-ended priority queue in Rust
succinct-rs Succinct data structures in Rust
Data.Function.Memoize Haskell library that uses lazy tries for memoization, avoiding the need for unsafePerformIO.
affine-contracts Contracts for one-shot functions and one-use values in PLT Racket
Caml-Shcaml UNIX shell programming in OCaml

GitHub: @tov

Contact information

Email (@ 'jesse '(cs northwestern edu))
Phone +1 757 695 8687
Office Seeley Mudd 3510 (map)
Jesse A. Tov
Computer Science
2233 Tech Drive
Seeley Mudd, Floor 3
Evanston IL 60208

Last update: Fri, 02 Apr 2021 10:11:20 -0500