An Online Collaborative Ecosystem for Educational Computer Graphics
[Thesis]
Ridge, Garett Douglas
Terzopoulos, Demetri
2018
Terzopoulos, Demetri
2018
This thesis builds upon existing introductory courses in the field of Computer Graphics, aiming to lower the excessive barrier of entry to graphics programming. We introduce tiny-graphics.js, a new software library for implementing educational WebGL projects in the classroom. To mitigate the difficulty of creating graphics-enabled websites and online games, we furthermore introduce the Encyclopedia of Code---a world wide web framework that encourages visitors to learn graphics, build educational graphical demos and articles, host them online, and organize them by topic. We provide our own examples that include custom educational games and tutorial articles, which are already being successfully employed to ease our undergraduate graphics students into the course material. Some of our modules expose students to new graphics techniques, while others are prototypes for new modes of online learning, collaboration, and computing. These include our "Active Textbooks" (educational 3D demos or games embedded in literate-programming-like articles). We introduce "Smart Articles," which divide crowdsourced programming tasks into distributed processes that can be tracked at separate URLs. Beyond education and graphics, our work advances the study of human-computer interaction, user interfaces, and computer-supported cooperative work. We present the results of a case study in using tiny-graphics.js and our online resources in a real-world UCLA undergraduate course, along with our results when attempting to recreate topic-based examples from an existing graphics textbook using our library.