Virtual Labs and Educational Software as a Tool for More Effective Teaching STEM Subjects