Teaching Peer-To-Peer Programming Methodologies in Introductory Computer Science Courses to Facilitate Collaborative Programming Paradigms
Many sophisticated collaborative technologies and social computing systems are connected to a growing cyberculture that continues to emerge among today's population of students. This type of collaboration is so prevalent in popular Web 2.0 computer systems, that it makes sense to begin to incorporate some type of coverage of such systems into CS 1 and CS 2 course material. Learning how to write collaborative software using peer-to-peer programming models can help introductory students understand collaborative systems better and it might encourage more students who are active users of these systems to major in computing disciplines in order to pursue related computer programming career path. Very few CS 1 and CS 2 textbooks contain content related to the development of collaborative software systems, presumably because of the extreme complexity involved in developing software that communicates with other software over a network. In this paper, a centralized peer-to-peer system framework is presented that offers a simple way to incorporate class work and projects that involve collaborative programming and networking paradigms at the level of introductory Computer Science courses.