This paper describes an interactive visual learning environment (EasyCPU) especially designed for teaching Computer Organization and Assembly Language at the introductory level. The process of active learning is based on a comprehensive set of learning activities and tasks. The environment offers two modes of operation: 1) the Basic Mode in which the student learns the internal structure of the computer, the processes, and information transactions involved during execution of single instructions in assembly language, and 2) the Advanced Mode in which the student acquires basic programming skills in assembly language. This mode provides students with the development tools needed to write, run and debug their own programs and with the ability to visualize the details of the execution processes. The EasyCPU is incorporated in the National Computer Science curriculum and has been used until now by more than 5000 students. Quantitative and qualitative evaluation studies prove the efficiency of the EasyCPU as a learning environment for introductory level students and reveal the role played by the visual features in the scaffolding of the learning process.