After teaching and observing students for several years, we hypothesize that learning programming is difficult for students who cannot imagine concretely how a computer works, or the process by which the CPU accesses memory and I/O via the bus according to coded programs. In this paper, we discuss why we believe it is important for programing education to help students understand how a computer works. We have developed a workshop to help students understand this more intuitively. We surveyed the students to assess their perceptions of the workshop, and we discuss its further development and progress toward use in a future full-scale course.