Neil Rhodes is an occasional lecturer in the Computer Science and Engineering department at UC San Diego and formerly a staff software engineer at Google. Most recently, he was one of the lecturers at UCSD Summer Program for Incoming Students (spis.ucsd.edu), as well as at the UCSD Summer Academy for transfer students (academy.eng.ucsd.edu). He鈥檚 taught Algorithms at the undergraduate and graduate level, as well as classes in Machine Learning, Operating Systems, Discrete Math, Automata and Computability Theory, and Software Engineering. As well as teaching at UC San Diego, he鈥檚 also taught at Harvey Mudd College. Mr. Rhodes holds a B.A. and M.S. in Computer Science from UCSD. He left the Ph.D. program at UC San Diego to found a company, Palomar Software, and spent fifteen years writing software, books on software development, and designed and taught programming courses for Apple and Palm.