In a large number of educational institutions, programming languages are taught without giving the student an adequate appreciation of the way in which the languages are executed on the machine. Even though students learn to write code well, they lack the basic knowledge of computer architecture.