Acknowledgements

I would like to thank my colleague and friend Robert Olson for his efforts in editing this work. I would also like to thank the Department of Computer and Information Sciences at SUNY Fredonia who not only served as my instructors, but also welcomed me back as a colleague. I would also like to thank Drs. Dan Berggren and Charles Telly whose infectious passion for academics has kept myself and countless others engaged in the field.

Finally, I would like to thank those students who participated in reviewing and commenting on drafts of this text:

Dennis Adey

Ankit Ahuja

Julian Anjorin

Brandon Artymowycz

Michael Barry

Selin Bora

James Fefes

Marissa Forward

Melissa Grove

Jenna Hume

John Iburg

Marcello Miceli

James Morrissey

Brett Mueller

Zachary Murray

Jarrett Parow

Erik Pokornowski

Jordan Shelton

Joseph Steinbrenner

Jonathan Wdowiasz