1

对于一门新的机器学习课程,我们希望设计一系列编码作业,让学生在其中获得一些入门代码,并进行改进,直到单元测试通过。然后他们提交并将他们的代码推送回远程自动评分工作流程运行更多测试以查看他们是否做了足够的工作。

我们想做的是给学生一些他们可以研究的测试,看看一般的编程目标是什么;但也有一个秘密的单元测试,以在学生从未见过的数据上尝试他们的代码。在这些看不见的测试数据上,他们必须至少达到一定的准确度分数才能获得及格分数。

问题是:这可以在github教室里完成吗?似乎默认设置是在启动代码存储库中公开提供所有测试。但是我们希望有一些学生看不到的测试,这样我们就可以测试他们是否只是狭隘地写到可见的测试或实际上写了一个适当的通用解决方案。

如果这不是直接可能的,是否有解决方法?

4

1 回答 1

0

不知道这是否可行或可行,但也许可以从这里尝试最佳答案:

“ GitHub Pages(如 Bitbucket Pages 和 GitLab Pages)只提供静态页面,所以唯一的解决方案是客户端(Javascript)。

一个解决方案可能是,而不是使用真正的身份验证,只与所有授权人员共享一个秘密(密码)并实施以下方案之一:

将所有私有文件放在一个(未列出的)子目录中,并使用所选密码的哈希命名。索引页面要求您(使用 Javascript)输入密码并建立正确的起始链接来计算哈希。

参见例如:https ://github.com/matteobrusa/Password-protection-for-static-pages

PRO:保护整个子目录树的非常简单的方法

缺点:

可能的攻击:嗅探以下请求以获取子目录的名称托管站点上的管理员可以访问全部内容使用密码加密页面并使用javascript即时解密

参见例如:https ://github.com/robinmoisson/staticrypt

PRO:周围没有明文页面代码(解密发生在客户端)

缺点:

只有一个页面,并且需要在每次刷新时重新插入密码,管理员可以更改您的 Javascript 代码以在您插入密码时获取密码”

于 2021-01-15T10:58:00.617 回答