• Contact Info
Publications in VIVO
 

Izraelevitz, Joseph Assistant Professor

Positions

Research Areas research areas

Research

research overview

  • I work at the intersection of systems software and distributed computing theory, and most of my work is tied together by the twin themes of nonvolatile memory technologies and parallel programming. On the systems side, I have built run-time libraries for ensuring consistent state on machines with new nonvolatile memory technologies, concurrent and persistent data structures, and novel consensus protocols. On the theory side, I have proven my systems work correct and developed formal tools for reasoning about programs in nonvolatile memory. In general, I build practical systems with formal guarantees

keywords

  • computer systems, systems software, nonvolatile memory, distributed systems, concurrent programming

Publications

selected publications

Teaching

courses taught

  • CSCI 4830 - Special Topics in Computer Science
    Primary Instructor - Fall 2019 / Fall 2020
    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 7000 - Current Topics in Computer Science
    Primary Instructor - Fall 2020
    Covers research topics of current interest in computer science that do not fall into a standard subarea. May be repeated up to 8 total credit hours.
  • ECEN 1310 - C Programming for ECE
    Primary Instructor - Spring 2020 / Spring 2021
    Introduces fundamental programming concepts using the C language. Teaches the use of pointers, control flow, aggregate types, input/output, heap-allocated memory, and abstract data types. Includes a weekly computer lab session. Recommended prerequisite: APPM 1350. Degree credit not granted for this course and CSCI 1300 or CSPB 1300 or CSCI 1310 or CSCI 1320.
  • ECEN 4313 - Concurrent Programming
    Primary Instructor - Fall 2019 / Fall 2020
    Introduces the theory and practice of multicore programming. The first part of the course presents foundations of concurrent programming: mutual exclusion, wait-free and lock-free synchronization, spin locks, monitors, memory consistency models. The second part presents a sequence of concurrent data structures and techniques used in their implementations (coarse-grained, fine-grained, optimistic and lock-free synchronization).
  • ECEN 5033 - Special Topics
    Primary Instructor - Fall 2019 / Fall 2020
    Examines a special topic in Electrical, Computer and Energy Engineering. May be repeated up to 9 total credit hours.

Background

International Activities

global connections related to teaching and scholarly work (in recent years)

Other Profiles