1. A method of providing an electronic presentation comprising: providing a presentation control interface on a console programmable computer, the presentation control interface directing visual content to a presentation display for viewing by a plurality of in-class participants; capturing video data of a presenter by a camera; capturing audio data of the presenter by a microphone; receiving video data from the camera, audio data from the microphone, and the visual content displayed on the presentation display; encoding the video data, audio data, and visual content as outgoing data; transmitting the outgoing data to a plurality of remote attendee systems via a network; receiving incoming data from the plurality of remote attendee systems via the network; in response to the incoming data, outputting audio via a speaker; executing an educational exercise in a software learning environment on an in-class programmable system, the in-class programmable system located in a classroom and having a display and input device for operation by one of the plurality of in-class participants; executing the educational exercise in the software learning environment on an out-of-class programmable system, the out-of-class programmable system located in same classroom and having a display, wherein the out-of-class programmable system is operated by one of the plurality of remote attendee systems via the network, wherein the executing comprises: sending the educational exercise to the software learning environment via a respective in-class or out-of-class programmable system, and allowing the educational exercise to be performed by the one or more respective in-class participants or remote attendee systems.