Stanford Engineering Everywhere is an initiative by the Stanford School of Engineering that offers courses free to students and educators. There are courses available in Artificial Intelligence and Linear Systems and Optimization. In addition, there is a three course Introduction to Computer Science which includes Programming Methodology, Programming Abstractions, and Programming Paradigms. The software and system requirements for Stanford Engineering Everywhere courses is listed on their site. Stanford Engineering Everywhere may add additional courses in Bioengineering and Nanotechnology.
To visit the Stanford Engineering site, please click here: