For use in EECS 340, Northwestern University