How does online computer programming classes work?