Since their introduction in 1967, floating-gate transistors have enjoyed widespread success as non-volatile digital memory elements in EEPROM and flash memory. In recent decades, however, a renewed interest in floating-gate transistors has focused on their viability as non-volatile analog memory, as well as programmable voltage and current sources. They have been used extensively in this capacity to solve traditional problems associated with analog circuit design, such as to correct for fabrication mismatch, to reduce comparator offset, and for amplifier auto-zeroing. They have also been used to implement adaptive circuits, learning systems, and reconfigurable systems. Despite these applications, their proliferation has been limited by complex programming procedures, which typically require high-precision test equipment and intimate knowledge of the programmer circuit to perform. This work strives to alleviate this limitation by presenting an improved method for fast and accurate programming of floating-gate transistors. This novel programming circuit uses a digitalto-analog converter and an array of sample-and-hold circuits to facilitate fast parallel programming of floating-gate memory arrays and eliminate the need for high accuracy voltage sources. Additionally, this circuit employs a serial peripheral interface which digitizes control of the programmer, simplifying the programming procedure and enabling the implementation of software applications that obscure programming complexity from the end user. The efficient and simple parallel program-First, I would like to express my gratitude to my adviser, Dr. David Graham, for his knowledge, guidance, and enthusiasm. I would also like to thank my labmates, Brandon Kelly, Alex Dilello, Mir Mohammad Navidi, and Stephen Andryzcik, for their assistance, suggestions, and useful discussion. I would especially like to thank Dr. Brandon Rumberg, whose work formed the foundation for my own and whose help proved invaluable. Lastly, I would like to thank my friends and family. Thanks to my parents, Jeff and Jeanne, for their love and support. Thanks to my grandfather, Gary, for rewarding me with $1.50 each semester I earned straight A's. Thanks to my brother, Ben, for humoring me when I wanted to talk about electronics. Also, thanks to my sister and brother-in-law, Nicole and Matt, for their encouragement. Thanks to my girlfriend, Keri, for her love and adoration, and for making sure I got home safely after sleepless nights spent in the lab. A final thanks goes to all those that remain unnamed, who provided me with a life fulfilled, outside of my studies.