Text this: The Effectiveness of Learning Programming Language Online: Student Perceptions and Performance