创意编程挑战:提升编码技能的新实验
2025年7月8日
引言
开发者的核心是解决问题与持续学习。上个月,我们的社区产品团队推出了一项新实验,测试编程挑战的概念,让技术专家在Stack Overflow上展示技能。
为社区提供与其他开发者连接、分享知识和才华的空间是我们工作的核心。但有时用户希望以平台问答之外的方式学习、分享和协作,即使是最资深的贡献者也喜欢一些变化。于是我们萌生了一个想法:能否创建一个有趣且富有创意的空间,让社区中的任何人都能参与?
因此,编程挑战实验诞生了。
通过编程挑战,我们测试通过新工具和社区空间进行学习的不同方法。包容性是我们首要考虑的因素,我们希望创建一些任何经验水平的技术专家都能参与的东西。
如何启动
对于这个实验,团队希望将挑战的访问保持在主Stack Overflow网站上,使参与尽可能简单和无缝。我们还知道,我们不希望这些挑战干扰日常的问答。挑战必须是一个完全可选、仅限选择加入的功能。
团队提出了暂时利用讨论区来托管实验的想法。这意味着比从头创建新东西的开发工作少一些,并且有潜力获得整体更好的用户体验,同时减轻垃圾邮件的担忧。
我们的工程团队成员与社区经理合作,提出了既有趣又吸引人的提示。用户将在特定时间段内提交条目进行投票,“获胜者”(那些获奖者)将由最多投票决定,加上工作人员为主观类别(如创意或独特性)挑选的奖项。我们在Meta Stack Overflow上软启动了我们的想法,以获得社区反馈,通过这一点,我们能够改进我们的流程和挑战提示。
前三个挑战
这些挑战由我们的团队编写,旨在激发您大脑中的发明和技术齿轮,设计允许广泛的解决方案,强调创意和巧妙性。5月27日,我们向社区推出了第一个编程挑战实验。
挑战一:创建一个文本到婴儿语翻译器。 技术专家被要求实现一个程序,将任何最多100个单词的样本文本翻译成婴儿语。
挑战二:将秘密消息编码到经典棋盘游戏中。 接受此挑战的用户将设计一种机制,在他们选择的游戏棋盘状态中编码至少八个字符的秘密消息。
挑战三:设计一种使用ASCII字符根据随机种子创建雪花艺术的机制。 用户需要创建一个程序,接受他们选择的种子并生成独特的雪花。
早期学习
我们对前三个挑战的回应感到兴奋,来自所有技能水平的技术专家总共有超过350票和180个条目。同样令人兴奋的是,前两个挑战中24-26%的条目来自1声望用户,这些通常是新用户,向我们显示编程挑战可以作为不参与传统问答体验的用户与社区其他成员互动的入口。
对我们来说,这表明这个实验对各种技能水平都是可访问的,允许任何人参与,无论他们的编码经验如何。高条目数也显示了许多解决方案是可能的,创意可以在正确的提示下流动。参赛者较少关注“正确”,而更多关注以有意义的方式解释挑战,这围绕他们的解决方案创造了有趣的讨论。
通过参与者的反馈,我们发现学习是用户参与的关键动机,其次是挑战的乐趣。参赛者也加入挑战以与更广泛的Stack Overflow社区互动。
总体而言,编程挑战已被证明是一个欢迎所有经验水平用户一起学习并展示技能的游乐场。
庆祝第一批获胜者
第一个编程挑战我们有近50个条目。虽然我们只能向少数用户颁发奖项,但团队真的很喜欢阅读每个提交。
第一个编程挑战——创建一个文本到婴儿语翻译器——的获胜者是……
- 最多投票: Anon Coward,其条目在程序上合理且艺术上连贯。
- 花哨功能: Ali Sheikhpour,其解决方案允许完全可定制的婴儿语,所以你可以得到那个小小的声音刚刚好。
- 新贡献者: Kingsley_3z3nw4k4,其首次贡献因语言上合理而突出,因为婴儿真的会发音“Swi Wanka”。
- 最复杂: return true,其婴儿显然来自莎士比亚戏剧。
- 技术上正确: General Grievance,其程序让我们 literally 说“googoo”。
更多信息,请查看其他两个单独挑战中获奖的用户条目。
编程挑战的下一步是什么?
我们仍在探索如何进一步将编程挑战嵌入社区。我们正在进行技术发现,如何使其成为网站上的独立功能,而不仅仅是讨论区的接管。
我们还希望通过让用户参与过程使这些挑战更加社区主导。我们如何让您参与创建提示和选择获胜者?
最终,我们将从讨论区的这个早期实验中学到的一切,以及用户研究、调查和Meta Stack Overflow反馈,来确定我们下一步想把这个概念带向哪里。
如果您想查看编程挑战,您可以查看前三个挑战并加入第四个挑战。
作者
Phoebe Sajor
内容助理
员工
Caroline Thomas
员工
coding creative coding creative code learning coding community Community