Skip to main content

Project 3 Partnerships

合作关系结构

对于项目 3,我们要求你们两人一组完成,除非有特殊原因。本学期,其他作业不允许合作。

为什么项目 3 采用合作形式?

团队合作的过程与单独工作截然不同,学习如何与他人高效合作,这是一项很好的实践,尤其是在涉及像git等棘手工具的大型复杂项目中。虽然你可能完全有能力甚至更乐意独自工作,但你在大学里的大型设计项目数量有限,所以我们希望你能够利用这个机会来培养这项重要的软技能。

考虑到这个项目是开放式的,与另一个人合作也可能有助于找到更具创造性的解决方案,尤其是在世界生成的问题上。

最后,还有一个事实是,当你去参加工作面试时,你很可能会被要求描述一次你在某种压力下与团队合作的经历。这个项目很可能会提供这样一个机会。

协作规则

对于这个项目,你被明确允许分工合作。我们鼓励你探索结对编程的想法,但这不是必需的。也不要求你们在同一个房间里工作,尽管我们强烈建议这样做,因为这样更有趣。

我们不要求双方伙伴贡献相同的工作量,但你们都应该完成至少相当数量的工作。

合作伙伴安排

我们使用项目 3 合作关系表格来建立合作。如果你在表格上表明你需要一个伙伴,那么我们将根据你的偏好,并使用一个定制工具(由 EECS 16B 的助教开发!)将你与具有相似偏好的人配对。这应该可以解决大多数日程安排问题,尽管你可能与你的伙伴的日程安排略有不同。

如果你没有填写表格,你的伙伴将是另一位同样没有填写表格的随机学生。

我们强烈建议合作伙伴在 Soda 实验室或校园内的其他地方会面,并一起结对编程完成作业。这意味着使用一台笔记本电脑,两人轮流打字,一起工作并讨论解决方案。 如果你们无法亲自见面,可以使用 Zoom 屏幕共享来进行类似的操作!直接把任务对半分不一定是最好的选择,因为单打独斗的效果通常不如合作,当然,如果你们坚持这样做,也未尝不可。结对编程还能有效避免令人头疼的代码合并冲突 :)。IntelliJ(以及如果你使用 VSCode)也有允许编辑同一文件的插件,但课程工作人员不会提供官方帮助。

合作关系解除

有时,由于各种原因,你们的合作关系就是行不通。在极其糟糕的情况下,我们将允许解除合作关系。以下是我们过去解除合作关系的一些原因:

  1. 单方面付出型合作。这意味着尽管你多次尝试沟通,你的伙伴始终没有参与任何工作。
  2. 其他种种个人原因,导致有同学感到不适。
  3. 一方伙伴退课。

请填写[此表格]({{ site.links.beacon }}/dissolution/),详细说明你们合作关系的具体情况,以及你需要用来证明问题的任何提交历史/其他日志。如果我们认为确有必要解除合作关系,我们会批准解除,之后你和你的前伙伴都需要各自独立完成项目。之所以让你们单独完成,是因为很难再找到其他没有组队的同学,而且你们的代码基础很可能已经差异巨大,不如从头开始。

如果你在 24 小时内没有收到回复,那么你可以认为我们已经批准了解除合作关系。如果我们阅读了你的回复,并且认为不需要解除合作关系,我们会发邮件通知你。

如果解除合作关系得到批准,你和你的前伙伴可以继续使用到解除关系时的代码,但之后你们必须在各自的个人仓库(即你的 sp24-s*** 仓库)中进行开发。合作关系解除后的任何合作都将被视为学术不诚实。你和你的前伙伴将有单独的检查评分,因此将单独评分。

由此可见,解除合作关系实际上会增加工作量,因为之后你需要独自完成项目,所以请务必先尝试解决问题,再考虑解除合作关系。 但这并不意味着你应该继续一段让你感到不舒服、不受欢迎或不安全的合作关系。如果你有这种感觉,请联系课程工作人员,我们会尽力帮助你。