With Constructor Learn, you can use virtual labs that provide learners with practical exercises in programming, software usage, and so on.
See:
Collecting course feedback from learners
Adding coding labs