Stanford circuit debugging simulator : a new tool for teaching