Creative coding is a rapidly expanding domain for both artistic expression and computational education. Numerous libraries and IDEs support creative coding, however there has been little consideration of how the environments themselves might be designed to serve these twin goals. To investigate this gap, we implemented and used an experimental editor to teach a sequence of college and high-school creative coding courses. In the first year, we conducted a log analysis of student work (n=39) and surveys regarding prospective features (n=25). These guided our implementation of common enhancements (e.g. color pickers) as well as uncommon ones (e.g. bidirectional shape editing). In the second year, we studied the effects of these features through logging (n=39+) and survey (n=23) studies. Reflecting on the results, we identify opportunities to improve creativity- and novice-focused IDEs and highlight tensions in their design -- as in tools that augment artistry or efficiency but may be perceived as hindering learning.
翻译:创意编程是一个快速发展的领域,兼具艺术表达与计算教育的双重目标。尽管已有大量库和集成开发环境支持创意编程,但关于如何设计这些环境本身以服务于这两个目标的研究尚不充分。为探究这一空白,我们实现并应用了一个实验性编辑器,用于面向大学生和中学生的创意编程系列课程。第一年,我们通过日志分析(n=39)和关于潜在特性的问卷调查(n=25)对学生的创作行为进行研究。这些数据指导了我们实施常见增强功能(如颜色选择器)及非常见功能(如双向形状编辑)。第二年,我们通过日志分析(n=39+)和问卷调查(n=23)研究了这些特性的影响。基于对结果的反思,我们识别出提升面向创造力与初学者的集成开发环境的机遇,并强调其设计中存在的矛盾——例如那些可能增强艺术性或效率,但可能被视作妨碍学习的工具。