Austin Adams

computer science PhD student

Recent Blog Posts

  • Proof of the Expectation Value of Z for a Qubit State
    April 16, 2022
    It has been a few years since I wrote a post on this blog, so I wanted to share a fun proof, even if it’s a little trivial.$ \newcommand{bra}[1]{\langle #1 |} \newcommand{ket}[1]{| #1 \rangle} \newcommand{bramket}[2]{\langle #1 | #2 \rangle} \newcommand{bramket}[3]{\langle #1 | #2 | #3 \rangle} $ For many quantum applications, you care about $\bramket{\psi}{Z}{\psi}$. That is, the expectation value of the Pauli operator $Z$. I’m a computer scientist, so $\ket{\psi}$ is a qubit state for me, but this is defined for any quantum state $\ket{\psi}$.
  • Acing a C Homework Using Inline Assembly
    February 7, 2019
    In courses taught in Java (such as a data structures class), you can build pretty robust autograders for homeworks — after all, the student’s code runs in the JVM, which prevents it from doing spooky things like corrupting memory or branching to weird places. So you can run the grader instantly after submission on a service like Gradescope and boom, they’ve got their grade. But C homeworks provide students a lot more opportunities to write… unconventional solutions.
  • Autograding Gameboy Advance DMA Transfers
    December 8, 2018
    In CS 2110 at Georgia Tech, we use the Gameboy Advance to demonstrate how C code can interact directly with hardware. On a high level, students create games by reading button states directly from memory-mapped registers and write directly to a special region of memory called the “video buffer,” which the video controller continuously reads and draws on the screen. But my favorite example of students poking with the GBA hardware introduces them to an important real-life example: Direct Memory Access (DMA)!