Programming and Circuit Design