Zach is currently a senior at Vassar College, where he studies computer science. He has excelled at Vassar, achieving a cumulative GPA of 3.84 in his major. As a result of his high level of excitement for learning and teaching computer science, Zach has been selected to coach for some of the department’s most challenging courses, such as CMPU-224: Computer Organization and CMPU-240: Language Theory and Automata. As a coach, Zach’s responsibilities include: tutoring students outside the classroom, assisting professors with the grading process, and leading review sessions and workshops. As a computer science major, Zach has worked on a wide range of software projects both in and out of the classroom.
PitchTracker was a project that Zach worked on with David Siah over the summer of 2015 as part of an internship at Harvey Mudd College, in Claremont California. PitchTracker was written in the SuperCollider programming language. The function of PitchTracker is to convert an incoming audio signal into midi data. The PitchTracker only works with single-note input, so chords will not be detected properly. The PitchTracker was initially intended to be used only with the ImproVisor intelligent jazz music software as a way for a soloist to notate a jazz solo by simply playing into a microphone. However, the PitchTracker can be used in conjunction with any software that understands note-on/note-off midi messages.
Active Trading was developed during the same internship as PitchTracker. Written in Java, ImproVisor’s Active Trading feature allows ImproVisor to trade solos with the user in an interactive fashion. In other words, this feature allows ImproVisor to adjust to user input in real-time, in order to generate response melodies that are related to what the user has just played.
For one of the most exciting computer science classes Zach has ever taken, he was tasked with writing the front-end of a compiler for a simplified version of the Pascal programming language. Programmed in Java, the compiler is able to compile simple Pascal programs down to an intermediate representation known as TVI code, which can then be run on an interpreter. This project was instrumental in solidifying Zach's confidence as both a Java programmer, and as a computer scientist in general.
The above image was generated by a program called "MandelZoom", written by Zach in the C programming language. MandelZoom makes use of GLUT and OpenGl.