TEACHING COMPUTER PROGRAMMING AT A DISTANCE
HOME :: DISCUSSIONS :: ANIMATIONS :: SYNCHRONOUS :: REFERENCES
.::the strategy:.  << back

      Given that online learning is gaining momentum in institutions of higher education, computing educators are forced to develop novel ways to deliver computer programming instruction at a distance.  Since few best practices exist to improve the instruction, many of the online structured programming courses lack adequate student-to-student and instructor-to-student interaction as the courses are designed to be self-paced (student-to-content).  Consequently, students lack the immediacy of feedback that traditional face-to-face courses offer when problems such as
syntax, runtime, or errors are encountered.  Many of the students lack motivation and have a feeling of disconnect from the alterative online courses. Structured programming skills are an essential skill for many majors (engineering, computer science, etc.), and thus, there is a dire need for the improved delivery of instruction.

      Traditional face-to-face computer programming courses currently use project-based learning techniques in which the programming assignments are the primary educational experience.  Each programming assignment embraces active learning in which the student must be energetically involved and the material is designed to recall previous knowledge for integration, organization, and elaboration of new information during classroom instruction.  However, the traditional approach views the assignments as a solitary activity. Online computer programming instruction should view these programming assignments as collaborative learning activities, in which students are required to submit the programming assignments individually, but are allowed to share ideas and synthesize the concepts to engender student-to-student interaction. Further, the strategy must emulate the integration, organization, and elaboration process and provide immediate feedback to help students visualize and master the material.

      Online programming courses should make use of 1) discussion boards for students to collaborate and share ideas on each assignment, 2) online synchronous software emulate the integration, organization, and elaboration process and provide immediate feedback during virtual office hours, and 3) voice-over animations to help students visualize the complex programming constructs and connect the ideas with prior knowledge.  These combined technologies should have a synergistic effect to improve the delivery of instruction.


© Albert Ritzhaupt 2006