
Many developers that want to learn a new programming language, technology or environment consider either signing up for an online course or receiving class in a classroom. At campusMVP.Net we bet for online training because the best way to learn how to program is by programming. It’s that simple! We dare to say that it’s the only way to learn properly.
On the one hand, going to an IT academy classroom or hiring teachers to teach in-company (or any other form of on-site training) has the advantage of being very convenient for the student, because condensed knowledge is taught in a short period of time time. This may be the best option if the student is very experienced and wants to quickly learn the basics of a specific technology or if the object of study is directly applicable to a specific project.
In a classroom, the teacher has to divide his attention to every single student attending the course.
However, when we are in a classroom, what we do is pay attention to the teacher, going quickly over developing practices, and exchanging questions with him. The teacher has to divide his attention to every single student attending the course.
In addition, a classroom course is limited to a specific daily timetable in which, normally, the student is subject to a barrage of information. This makes it difficult to assimilate and mature in so little time. It is also very likely that the student won’t have the ability to practice what is being taught on his own, beyond the guided classroom examples.
Therefore, if the student isn’t an experienced programmer, it’s very difficult for him or her to train to become a professional developer in any technology with just a few hours of class. Moreover, it’s much less probable for a developer to pass any official certification following an on-site training course.
Edgar Dale was a U.S. educator famous for his cone of experience info-graph. He studied several different ways of learning to analyze the depth of retention that is achieved with each type of learning methods. He reflected the results of his studies in a cone (aka Learning Pyramid) to clearly illustrate the effectiveness of each learning method.

Each band on the cone represents a learning method. The labels on the left show learning actions that are commonly used when learning how to program (reading a book, classroom…) and those on the right reflects the percentage of effectiveness of each of these learning actions.
Looking at this graph, it’s obvious that the most effective method is to put into production yourself what you are trying to learn. To do so, first we need to acquire some previous notions by reading some theory, watching some video demonstrations, etc…
At campusMVP.Net we strongly believe that the best way to learn is the one displayed below:

Classroom and on-site training covers the upper parts of the learning pyramid: reading, listening, watching, and listening + watching. But it’s much more difficult for classroom or on-site training to cover the lower bands at the base of the learning pyramid, which are really effective. These activities at the base of the pyramid, performed appropriately, are those displayed in the large box of the campusMVP.Net diagram. As you can see, they are inherently cyclical: it is a loop that a student should repeat to get enough skills before advancing.
And this is responsibility of the student, not the teacher. Without a lot of self-training, it is impossible learn, no matter how good the teacher is. The teacher in this phase should be there to support students and help them with their doubts that surely arise when practicing. If no doubts arise, there is no learning.
The main obstacle in order to execute this loop properly in classroom or on-site training is time. This makes developer on-site and classroom training not very effective when it comes to filling knowledge into student’s heads and make sure they’re well prepared.
The same kind of course can be offered. However, instead of holding it in a classroom, we can hold it online with contents displayed through an elearning platform, with tutor support to solve doubts and propose debates and discussions.
The web is full of learning resources, but it’s so hard to find structured and coherent information.In the platform, the student has some theoretical resources made up of text&images and videos and demonstrations as well, putting into practice what the student has just learned. Students can go back at anytime, as many times as they wish, in order to grasp every detail. Of course, these didactic resources have to offer relevant and organized information so it can be used as a study guide throughout the learning process. The web is full of learning resources, but it’s so hard to find structured and coherent information. That’s why this part of the learning process is specially important.
On the other hand, with online training students are not subject to a specific timetable to learn, practice or ask doubts. They have plenty of time to repeat the practice the learning cycle and master the concepts learned.
Doubts and questions will arise. Students then have to perform fairly accurate questions, since the words used in a classroom speaking context are different. This in itself is another way of learning. It forces students to describe in detail technology issues.
The tutor will answer questions while students keep practicing and / or studying in parallel. Study is not interrupted like in a classroom, where doubts are synchronous. On-line communication is usually asynchronous (messaging, forums), except for very specific cases that may require a direct dialogue to a answer specific questions that are hard to solve otherwise(chat, video-conference, etc…).
This cycle of experiential learning and self-guided study undoubtedly becomes the most effective way to learn any technical discipline.
campusMVP is strongly devoted to training developers online precisely because we believe that it’s the best way to learn these disciplines. Of course, e-learning will not be effective if students are not a engaged and interested.
The fact that online education is not yet the mainstream method for developer training in particular continues to be generally striking. Bearing in mind all ideas mentioned above, the quality of closely tutored and coached elearning is without any doubt the most efficient and worthwhile way to learn.