MIT 6.001 Structure and Interpretation, 1986
Source of these courses is
MIT
This course introduces students to the principles of computation. Upon completion of 6.001, students should be able to explain and apply the basic methods from programming languages to analyze computational systems, and to generate computational solutions to abstract problems. Substantial weekly programming assignments are an integral part of the course. These twenty video lectures by Hal Abelson and Gerald Jay Sussman are a complete presentation of the course,
MIT
Website: http://www.dnatube.com/school/mit