编辑: 黑豆奇酷 | 2014-03-25 |
4 程序设计 4.2 代码自动实时评判 教学常用的编程语言 支持 C、C++、Java、Python、C#等高级程序语言的自动评分. 不仅仅告知正确与否 程序自动评判方面不仅仅告知正确与否,更侧重对程序的全面分析,包括性能分析、 代码风格检查、静态分析、错误原因分析等,帮助和引导学生写出高质量的程序. 各种输入输出方式 三类输入方式(标准、文件、命令行参数)与两类输出方式(标准、文件)的任意组合. 丰富的编程题型 接口编程、程序片段、完整代码三类编程题型,从多角度考核编程与算法设计能力. 支持输出结果的模糊比对 大小写、空格等不可见字符不影响评测正确性,利用通配符描述输出结果. 真正的实时评判 利用 CPU 多核并行评判提交代码,无须排队评测,实时给出评判结果. 4.2 智能化的代码查重 可检测出修改注释、重新排版、标识符重命名、代码块重排序、代码块内语句重排序、 常量替换、改 变表达式中的操作符或者操作数顺序、改变数据类型、增加冗余的语句或者变量、表达式拆分、控制结构 等价替换,共12 种学生用到的抄袭手段,是目前最精准的相似性检测算法. 4.3 基于历史数据客观量化题目难度 程序自动 实时评判 性能热 点分析 代码风 格检查 静态分 析 错误分 析 代码度 量 多源文 件支持 多角度 编程考 核 多输入 输出方 式支持 代码查重 修改注 释 重新排 版 标识符 重命名 代码块 重排序 常量替 换 改变操 作符 改变数 据类型 代码冗 余 表达式 拆分 控制结 构等价 替换
5 数据结构与算法 5.1 全方位支持算法类课程教学 算法可视化 支持栈、队列、堆和递归、索引、排序、 图论、动态规划等共
45 种常见数据结构和算法的交互 可视化. 代码自动评判 考核基本知识点和解决问题的能力. 大数据性能评判 自动度量程序时间复杂度,并通过实 际问题(项目)真正体验数据结构和算法的魅力. 5.2 综合项目案例 贯穿教学过程,让学生用算法思维,综合考虑时间复杂度 和空间复杂度去寻找最优的方案来解决问题. 性能得分会以排行榜的形式展现,促进学生持续优化算法 和数据结构.体验算法魅力,理解理论与实践的相互作用.
13 综合类作业(Project)的设计,帮助学生理解当问题规模N变大时,数据结构 与算法是如何影响程序性能的. 问题规模(测试 数据)大小为近 100万个单词 许多同学经过多 轮优化取得了很 好的效果 问题:词频统计 项目 数据量 词频统计 哈利波特小说全集,100 万单词 拼写检查
93 万单词 随机文本生成器
110 万单词 小型图书管理系统 图书信息条目
100 万 程序自动 实时评判 性能热 点分析 …… 代码度 量 项目级 源代码 评判 大数据 评测 算法 可视化 栈 队列 堆 递归 索引 排序 图论 算法 动态 规划 代码查重 修改注 释 重新排 版 标识符 重命名 代码块 重排序 常量替 换 改变操 作符 改变数 据类型 ……
6 编程竞赛 6.1 独立的竞赛模块 与CG 教学平台统一账号登录,有助于沉淀更多本校学生的学习数据.竞赛模块的栏目设计借鉴了当前 流行的 OJ 系统, 特别是国外的 CodeForces, 包括题库、 排行榜 (包括历史排行榜和最近
6 个月刷题排行榜) 、 竞赛、讨论区等栏目. 6.2 完善的竞赛机制 公开赛和内部赛 支持 ACM-ICPC 竞赛规则,支持注册用户均可以参加的公开赛和以邀请码形式的内部赛. 可靠性保障 优异的性能,普通服务器可以支撑数万人同时在线竞赛. 竞赛代码查重 可检测出修改注释、重新排版、标识符重命名等共