How I Run Remote Courses (Tools and Techniques)

I had a quick question posted to me today requesting which tools I use to run remote courses.

Always happy to share, I thought that I would mention the list of tools that I have used so far to deliver remote courses. I will draw attention to both tools/hardware required to run the courses as well as what I recommend my students run to participate.


  • Monitors

    • Teacher I would strongly recommend investing in a dual monitor setup at a minimum if you are planning on running your own remote courses. I often keep the classroom meeting software and client management window open up on a separate monitor. This frees me to keep my VM running on the monitor that I share with my students. Having tried to do one of the courses with a single monitor setup, all that I can say to that is FAIL!!
    • Student I would also strongly recommend running with a dual monitor setup. One one screen you can display all of the collaboration tools for the meeting along with what is being displayed on my screen. The other screen is free for your local coding tools and shell windows.
  • Audio

    • Teacher and Student It is almost essential that all participants use a headset based solution that combines both headphone/earbuds and a microphone. The main reason for this is to eliminate the feedback that often occurs when people sign in using separate microphones and speakers. It is also important for attendees to take advantage of the muting capabilities of the meeting software to ensure that all of the people signed in are not hearing conversations that they are not supposed to be hearing!!


  • Conferencing Software GoToMeeting is the software solution that includes the following awesome features:

    • VOIP
    • Screen Sharing
    • Chat Client (pretty weak one)
    • Attendee Administration I really can’t say enough about how instrumental this software has been in the ability to deliver remote courses effectively. Currently I am on the monthly plan for $49/month which provides me the ability to run courses with 15 people in attendance. Aside from the relatively weak chat client that comes with the software, I am confident that I will be using it to deliver remote courses. The client version of the software is free to download and install. Once installed the teacher emails a meeting request to all of the people who will be attending, and they use the meeting ID to login to the goto meeting!!
  • Code Collaboration GitHub is the main mechanism by which code related artifacts are shared over the course of the week. If the majority of people are comfortable with it, then it also doubles as a drop box for all sorts of artifacts as the weeks go on. Of course, when the course is a course related to git itself, then github would not get introduced until later on in the week.

  • Other Any other software that would be used is usually specific to the course itself.


  • Time zones These are always an issue when running the remote courses. In past courses, we have had as many as 5 different time zones residing in one class. The marker is MST, which is what everyone else has to follow.

  • As an instructor it is important to be able to get use to the initial “dead space” that can occur when people are not responding to questions and you have to stimulate conversation to get everyone collaborating with one another. This is something that is much easier to deal with in an in-person course as there is the visual cues that everyone can use (yourself included) to be able to gauge where the conversation should be heading. In my first remote course, for the first couple of hours I had to consistently remind myself that it was job to actively ensure that the conversation kept flowing. I feel that if you can do a good job at this, then people will get a near 80% complete experience with respect to the collaboration that can be realized in on-site courses.

  • Day lengths For the remote courses vary. For the bootcamp style courses I stick with the 9AM – 9PM schedules. Meal breaks are consistently quicker as we do not need to deal with a group of 16 people being catered to. Lunch/Dinner breaks vary from 20minutes to a full 1 hour, depending on the need.

  • Network Connectivity I personally had some problems with connectivity during portions of some of the remote courses. This was not a show stopper, but it resulted in me having to relocate to an alternate delivery location. My recommendation would be to use an internet connection that offers at least 5Mbps down and 1.5Mbps up.

  • Event Registration For the last 2 years I have used the registration service EventBrite. With very simple paypal integration, the registration process and payment collection process is a snap.

Well, that is it. Hopefully I have given you an idea of how simple it is to set all this stuff up. If you have any desire at all to share and teach, this type of delivery mechanism can lower the bar of entry for both the teacher trying to branch out/test the waters, as well as opening up the accessibility to more people at a global level (did I mention the course where we had 4 continents all at once!!)

If you have any questions about setting this up (or participating in one of my upcoming courses) please don’t hesitate to contact me.

Develop With Passion®