Spring 2018 teaching

EECS 214 Data Structures TuTh 9:30–10:50 AM Tech L361
EECS 295 Intensive Program Design TuTh 12:00–2:50 PM Tech L170

Research interests

My research focuses on programming languages, especially functional programming and type systems. I’m interested in how programming language technology can help make programmers’ and users’ lives better.

Selected publications

Past teaching

EECS 111 Fundamentals of Computer Programming I Sp18, Sp17, Sp16
EECS 3/496 Systems Programming in Rust Sp18
EECS 211 Fundamentals of Computer Programming II Wi18, Wi17
EECS 230 Programming for Engineers Wi18, Wi17, Sp16, Wi16
EECS 3/496 Type Systems Wi18
EECS 214 Data Structures Fa17, Fa16, Fa15
EECS 295 Intensive Program Design Fa17, Fa16, Fa15
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 (@ 'tov '(eecs northwestern edu))
Phone +1 757 695 8687
Office Seeley Mudd 3510 (map)
Jesse A. Tov
Computer Science & Engineering
2233 Tech Drive
Seeley Mudd, Floor 3
Evanston IL 60208

Last update: Sun, 09 Sep 2018 10:42:57 -0500