Collaborative Educational Environment Design for Accessible Distributed Computing
Broll, Brian Daniel
The pervasiveness of distributed applications in everyday life has made distributed computing concepts become part of basic computer literacy. The dissertation presents the design of an educational environment for introducing distributed programming to secondary education. Three high-level abstractions are presented that enable young learners to build non-trivial distributed applications without obscuring the underlying distributed computing concepts. To expand the scope beyond web browser-based execution, capabilities for remote execution in alternative environments such as robotics platforms are also presented. Furthermore, collaborative editing can promote learning and productivity by allowing students to work in small teams but is unavailable in existing lively, blocks-based programming environments. A model of collaborative editing supporting visual programming environments is discussed. Version control support is beneficial for managing the complexity of applications but are often complex and difficult to use. A novel accessible version control for use in settings with minimal direct instruction is presented. Finally, empirical support is provided through three case studies using an implementation of the proposed educational environment design called NetsBlox.