The author shares his experiences teaching various online computer-science courses (via the Canvas™ and synchronous web conferencing tools) using state-of-the-art free-license software tools for conducting online virtual labs and numerous students' projects. The labs were designed to help students explore modern, sophisticated techniques in several areas of computer science: computer-system analysis and design, programming in C/C++ and Java, software quality assurance, data communication in networking systems, computer security, system simulation and modeling, numerical analysis, image processing, multimedia applications, Web development, and database design and management. All the online courses include “warm-up” exercises and lab-based projects that provide students with knowledge, instructions, and hands-on experience, and that motivate them in selecting topics for technology overviews and research. To concentrate mostly on the students' hands-on training, the “flipped classroom” pedagogy and individual or team tutoring were used in the online classes. The preventive strategies on plagiarism and cheating among students were developed and successfully implemented in the virtual classroom using the Cloud environment.