E-learning by doing is an important e-learning process, that provides several advantages but that requires a high interactivity degree, not always supported in e-learning contexts. In this paper, we propose to exploit a formal approach (based on Computational Logic) to define, verify and support the e-learning by doing paradigm. To this end, we introduce the SCIFF formal frameworks, its features, and two software components for e-learning of software applications.