CourseGrading—计算机专业课一体化支撑平台

Slides:



Advertisements
Similar presentations
数据结构的引入. 通讯录管理 社团机构管理 校园导航管理 通讯录管理 社团机构管理 校园导航管理.
Advertisements

高级服务器设计和实现 1 —— 基础与进阶 余锋
联系方式 课程学习平台网址: 用户名:学号 ; 密码:身份证后 6 位.
《程序设计实践》 孙辉 理工配楼104A
计算机网络教程 任课教师:孙颖楷.
ASP .NET 程序设计(C#版) 第二版 机械工业出版社同名教材 配套电子教案
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
课程泛雅 2017/3/15.
网页设计师的职业成长规律 主讲:刘万辉 淮安信息职业技术学院.
程序设计类课程教学辅助平台 CourseGrading 赵长海
Tsing UNIS Education Institution Introduction
实用操作系统概念 张惠娟 副教授 1.
综合布线技术与实践教程 第九章:综合布线系统工程网络分析 课程网站:
关于本门课程.
银符考试模拟题库B12.
基于解释性语言的手机跨平台架构 Sloan Yi. Qt MTK.
Oracle数据库 Oracle 子程序.
课程中心 课程中心培训方案 上海泰泽信息技术有限公司
全国计算机等级考试 二级基础知识 第二章 程序设计基础.
《数据结构》课程简介 李武军 南京大学计算机科学与技术系 2016年秋季.
程序的形式验证 - 简介 中国科学院软件研究所 张文辉 1.
《数据库原理及应用》课程介绍 信息工程学院 孙俊国
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
嵌入式系统课程简介 宋健建 南京大学软件学院 2004/02/10.
第二讲 搭建Java Web开发环境 主讲人:孙娜
从现在做起 彻底改变你自己 Sanjay Mirchandani EMC公司高级副总裁、首席信息官.
存储系统.
SOA – Experiment 3: Web Services Composition Challenge
李杰 首都经济贸易大学 安全与环境工程学院 个人主页:
大学计算机基础 典型案例之一 构建FPT服务器.
SVN服务器的搭建(Windows) 柳峰
第11章:一些著名开源软件介绍 第12章:服务安装和配置 本章教学目标: 了解当前一些应用最广泛的开源软件项目 搭建一个网站服务器
大数据管理技术 --NoSQL数据库 HBase 陈 辉 大数据分析技术.
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
数 控 技 术 华中科技大学机械科学与工程学院.
《手把手教你学STM32》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司 淘宝店铺:
数据挖掘工具性能比较.
CPU结构和功能.
分布式程序设计 姚斌 计算机科学与工程系 上海交通大学.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
三:基于Eclipse的集成开发环境搭建与使用
Unit 11.Operating System 11.1 What’s OS 11.2 Related Courses
程序设计工具实习 Software Program Tool
SOA – Experiment 2: Query Classification Web Service
内容摘要 ■ 课程概述 ■ 教学安排 ■ 什么是操作系统? ■ 为什么学习操作系统? ■ 如何学习操作系统? ■ 操作系统实例
C语言程序设计 主讲教师:陆幼利.
并行程序设计教学辅助平台 赵长海 结题.
微机系统的组成.
VisComposer 2019/4/17.
网页设计与制作 —— 学习情境二:网页模板设计
Cassandra应用及高性能客户端 董亚军 来自Newegg-NESC.
2019/4/ /4/25 学习科研好助手 NoteExpress文献管理与检索系统 北京爱琴海乐之技术有限公司.
实验七 安全FTP服务器实验 2019/4/28.
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
JSP实用教程 清华大学出版社 第2章 JSP运行环境和开发环境 教学目标 教学重点 教学过程 2019年5月7日.
iSIGHT 基本培训 使用 Excel的栅栏问题
魏新宇 MATLAB/Simulink 与控制系统仿真 魏新宇
第七、八次实验要求.
OpenStack vs CloudStack
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
本节内容 C语言的汇编表示 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
任课教师:戴开宇 TA:时均帅、谭肖、王安华 程序设计B班 :20-16:50(90分钟)
入侵检测技术 大连理工大学软件学院 毕玲.
实验六、COM类型病毒分析实验 实验开发教师: 刘乃琦 谌黔燕.
高中物理“平抛运动的应用” 点评专家:谭一宁.
工业机器人技术基础及应用 主讲人:顾老师
课程中心平台 ——微专业云录播课程使用手册
Presentation transcript:

CourseGrading—计算机专业课一体化支撑平台 在线教学 + 在线实验 软件课程 + 硬件课程 赵长海 2018 年 6 月 平台网址: educg.net

BIG DATA 计算机专业教学工具面临的问题 数据孤岛 工具的生命力与持续性缺失 专业壁垒高且市场容量小 做实验缺乏灵活性和时间保障 教学系统独立分散,各门课程独立规划,缺乏有效整合,难以形成合力且不可持续性的建设 工具的生命力与持续性缺失 教育工具缺乏维护和持续研发,导致积累数据丢失 专业壁垒高且市场容量小 缺乏高水平的人才与大量的资金持续性投入 工具缺乏技术深度 做实验缺乏灵活性和时间保障 实验教学在线资源严重匮乏、受实验设备及管理的时空制约、传统实验模式缺乏学生实验过程数据 BIG DATA 我们的数据在哪里?

最具专业深度、安全可靠的计算机类课程一体化支撑平台 CG平台是什么? 最具专业深度、安全可靠的计算机类课程一体化支撑平台 程序设计 编程竞赛 数据结构 与算法 并行计算 数据库 在线实验 软件工程 实践 操作系统 在线实验 人工智能 在线实验 大数据 实训 FPGA 在线实验 嵌入式 在线实验 信息安全 …… 程序自动评测 算法可视化 在线考试 SQL自动评测 软件工程协作环境 虚实结合的在线实验环境 开放、可扩展的计算机专业教学与实验一体化平台 云计算基础设施 (服务器、存储、网络、FPGA、嵌入式设备) 学生 教师 “任何人、任何时间、任何地点”均能开展实验学习 开放:只需要专注教学资源建设:虚拟机开发环境 + 指导书 综合能力评价:汇集学生在整个培养阶段的学习过程数据、项目实践数据、考试成绩数据等 体验:教学全过程支持,教师视角,实用易用 在此演示实验 工程教育:动手能力、创新能力、跨界整合能力 生态:高质量的资源,能够获得持续性的经济收益

虚实结合的在线实验环境 B/S架构,真正的“任何人、任何时间、任何地点”开展实验 在线撰写实验报告 在线实验指导书 一键生成标准化的实验环境 实验全过程数据分析

虚实结合的在线实验环境 支持任何虚拟机化技术,利用现有设备(云计算中心)打造在线实验环境 支持实验桌面分布式部署,实验人数无限扩展 可挂载任何 虚拟机 Docker Vmware 公有云 …… OpenStack 支持任何虚拟机化技术,利用现有设备(云计算中心)打造在线实验环境 支持实验桌面分布式部署,实验人数无限扩展

CG在线实验环境独特之处 真正打破时空限制 时空局限性 绑定某类虚拟化平台 可挂载任何虚拟平台 CG在线实验环境 其它在线实验 B / S 架构,不需要配置客户端 无论多少用户,只需要一个公网IP;支持分布式部署,可以无限扩展 时空局限性 C / S架构,学生自带电脑配置开发环境面临环境多样性问题,安装、配置、调试存在大量不一致。 一个用户一个公网IP,限定学生只能在小范围内使用。 绑定某类虚拟化平台 与某类虚拟机平台或者硬件服务器紧密耦合,软件的生命周期受限于硬件折旧,导致重复建设,严重影响教学资源和数据积累的持续性。 可挂载任何虚拟平台 支持任何虚拟化技术:Vmware、OpenStack、CloudStack、Docker、阿里云、腾讯云 等。既可以挂载私有云,也可以挂载公有云。 可以充分利用学校现有的计算中心(云计算中心)物理设备,为学校打造计算机实验在线机房。

C、C++、Java、Python、C# “系统能力”培养 +“软件能力”培养,覆盖计算机专业主要实验内容的软硬件综合在线实验体系 教育大数据 计算机专业课一体化支撑平台 系统管理与自动化运维 系统 备份 多课程管理 升级 迁移 系统性能 外观 教师权限管理 在线考试 在线作业 在线答疑 成绩管理 权限管理 资源管理 抄袭检测 课程管理平台 栏目定制 学生管理 ACM竞赛 并行竞赛 竞赛 acmoj.com竞赛在线 在线实验 程序设计课程 C、C++、Java、Python、C# 程序自动评判、算法可视化、大数据性能等 SQL自动评测 数据结构与算法课程 数据库系统概论 算法设计与分析 计算概论 小组作业、小组互评、Github 软件工程 面向对象设计 软件体系结构 软件测试 并行与分布式程序自动评判 并行计算 多核程序设计 高性能计算 MPI程序设计 OS与编译实验环境 编译器 实验 操作系统 大数据与AI实验环境 大数据 人工智能 硬件在线实验环境 FPGA远程实验 计算机网络 远程实验 移动计算与嵌入式远程实验 开发能力培养 系统能力培养 统计 分析 数据API 数据挖掘 依赖虚拟机或者Docker环境 竞赛 数据库系统原理 目前用户体验最好、最具深度的教学辅助平台 1.方便运维管理 2.完善的课程管理,成绩管理,导入导出,试卷存档等 3.第一个支撑并行程序自动评判的系统 4.真正的程序设计类评判平台:串行、并行、数据结构与算法的全面支持 3.程序自动评判:串行、并行

CourseGrading发展史 2003 2009 2015 CG成功研发, 经受大并发测 试 内部使用,持 续完善 学院研发类OJ系统 性能问题导致考试时系统崩溃,引发教学事故 缺乏课程管理功能,使用不便 CG成功研发, 经受大并发测 试 内部使用,持 续完善 放在校内服务器供免费下载使用 根据用户需求持续完善 稳定性 安全性 用户体验 迁移到阿里云(educg.net) 商业化维持系统的长远发展 版本快速迭代,大概每1个半月升级一次 程序评判系统→计算机课程一体化支撑平台 根据用户需求的持续的改进,让系统具备很好的用户体验和口碑 无法言喻的特质

CG平台的独特之处 唯一支持“算法与数据结构” 唯一支持在线虚拟实验环境 唯一支持并行程序自动评测 唯一具备完善的课程管理 支持算法时间复杂度分析,算法可视化 支持随时随地实验及实训、学习过程监控与分析 唯一支持并行程序自动评测 唯一具备完善的课程管理 正确性 + 可扩展性 + 性能全面量化 支持所有的课程、极佳的用户体验、完备的功能 唯一全面支持在线考试 唯一支持自动在线运维 支持大并发、高可靠、安全、全面的监考机制 保持系统长期、可靠运行 最具技术深度的平台 唯一的一体化支撑平台 每一门课程的支持技术都处于国内顶尖水平! 良好体验和稳定性的前提下,有机融合各个专业功能

汇报大纲 CG平台特色 CG生态环境 CG@北航 面向计算机专业的课程管理与考试平台 在线实验类 程序设计 操作系统实验 数据结构与算法 编程竞赛 并行计算 软件工程 数据库 在线实验类 操作系统实验 大数据实验 人工智能实验 FPGA实验 CG生态环境 CG质量控制 生态环境建设与发展方向 CG@北航 程序设计 在线实验

01 课程管理:功能设计力求简洁、技术深入/智能 ◎作业 ◎考试 ◎答疑 ◎成绩 ◎公告 ◎实验

CG平台:课程管理 / 题型 丰富的题目类型 选择题 填空题 判断题 简答题 文件上传题 编程题 接口编程题 程序片段编程题 算法可视化 并行编程题 MPI分布式 多线程 项目题 5 类 通用 题型 4 类 编程 题型 1 类 并行编程 题型

CG平台:课程管理 / 题型 丰富的题目类型 选择题 填空题 判断题 5类 简答题 通用 文件上传题 题型 编程题 接口编程题 程序片段编程题 算法可视化 并行编程题 MPI分布式 多线程 项目题 5类 通用 题型 简答题辅助判分 4类 编程 题型 1类 并行编程 题型 补充缺失的语句、函数。 可以插入调试打印语句,以打印的数据作为正确性评判依据。类似集成开发环境中的断点调试。 系统将自动将学生答案与参考答案进行相似性比较,利用相似度辅助判分

CG平台:课程管理 / 题型 丰富的题目类型 选择题 填空题 判断题 简答题 文件上传题 编程题 接口编程题 程序片段编程题 算法可视化 并行编程题 MPI分布式 多线程 项目题 5类 通用 题型 4类 编程 题型 文档 / 源码相似性比较 1类 并行编程 题型 补充缺失的语句、函数。 可以插入调试打印语句,以打印的数据作为正确性评判依据。类似集成开发环境中的断点调试。 文件上传题:可以自动从压缩包内提取文档或者源代码,进行相似性比较

CG平台:课程管理 / 风格 精简风格

CG平台:课程管理 / 风格 课程中心

CG平台:课程管理 / 作业 还可以补交 手工选题 自动出题 随机作业 小组作业 自己掌控。 系统帮忙布置作业。 为学生随机分配题目。 学生自由分组、互评。 小组作业

CG平台:课程管理 / 考试 全方位支持在线考试:自动组卷 帮助教师组卷,规则包括:知识点分布、章节、难度、使用频度 自动组卷

CG平台:课程管理 / 考试 全方位支持在线考试:学生端随机抽题组卷 随机抽题组卷:题型分布、知识点分布、难度分布、题目数量 学生端随机组卷

CG平台:课程管理 / 考试 全方位支持在线考试:在线监考 能够识别NAT网络和反向代理网络下的,客户端真实IP地址 可监控内网IP 试卷分发规则 支持IP绑定 (一个账号对应一台机器) 考试辅助功能 IP地址访问控制 (只允许特定的IP地址访问考试) 栏目关闭 (关闭答疑论坛、作业等栏目) 多套试卷

CG平台:课程管理 / 考试 交换账号 异地登录 访问控制 IP绑定 全方位支持在线考试:在线监考 实时监测学生交换账号互相抄袭、异地替考 除了这些,系统性能非常重要,是否能够支撑高并发。

CG平台:课程管理 / 成绩 成绩一键汇总 加权汇总:作业成绩 、实验成绩、考试成绩、平时成绩

02 程序设计:不仅仅告知正确与否 ◎动态测试 ◎代码风格 ◎静态分析 ◎性能剖析 ◎并发评判 ◎代码查重 ◎动态测试 ◎代码风格 ◎静态分析 ◎性能剖析 ◎并发评判 ◎代码查重 ◎输入输出任意组合 ◎项目级源代码评测

CG平台:程序设计 丰富的题目类型 选择题 填空题 判断题 简答题 文件上传题 编程题 接口编程题 程序片段编程题 算法可视化 并行编程题 MPI分布式 多线程 项目题 5类 通用 题型 支持任意的输入/输出方式组合 4类 编程 题型 支持C、C++、Java、Python、C#等 1类 并行编程 题型 补充缺失的语句、函数。 可以插入调试打印语句,以打印的数据作为正确性评判依据。类似集成开发环境中的断点调试。 面向问题,学生根据题目描述,编写完整的程序。 其它评测系统仅支持:标准输入/标准输出

CG平台:程序设计 丰富的题目类型 选择题 填空题 判断题 5类 简答题 通用 文件上传题 题型 编程题 接口编程题 程序片段编程题 算法可视化 并行编程题 MPI分布式 多线程 项目题 5类 通用 题型 4类 编程 题型 定义好接口,学生编写实现: 学生依据头文件(c)、或者继承基类(c++、java),编写方法实现。对学生写代码提供一种导向与约束作用。 1类 并行编程 题型 类似单元测试 主要用于面向对象语言(C++, Java)

CG平台:程序设计 丰富的题目类型 选择题 填空题 判断题 5类 简答题 通用 文件上传题 题型 编程题 接口编程题 程序片段编程题 类似代码填空题 丰富的题目类型 选择题 填空题 判断题 简答题 文件上传题 编程题 接口编程题 程序片段编程题 算法可视化 并行编程题 MPI分布式 多线程 项目题 5类 通用 题型 补充缺失的语句、函数。 可以插入调试打印语句,以打印的数据作为正确性评判依据。类似集成开发环境中的断点调试 4类 编程 题型 1类 并行编程 题型 补充缺失的语句、函数。 可以插入调试打印语句,以打印的数据作为正确性评判依据。类似集成开发环境中的断点调试。

测试数据中包括了正常情况和边界等异常情况,使学生体会到工程编码要求 CG平台:程序设计 程序评判:不仅仅对与错 基本测评报告 测试数据中包括了正常情况和边界等异常情况,使学生体会到工程编码要求

CG平台:程序设计 程序评判:不仅仅对与错 错误分析,协助学生调试程序,降低初学者挫折感 帮助学生全面认知程序的内涵,树立软件工程思维,引导学生写出高质量的程序 不仅仅是对错,帮助学生全面认知程序的内涵,树立软件工程思维,引导学生写出高质量的程序

CG平台:程序设计 程序评判:支持输出结果的模糊匹配! 支持通配符描述期望输出 应用: 放宽格式要求 浮点数输出 屏蔽输入提醒 答案二选一

CG平台:程序设计 程序评判:支持多源文件自动编译与评判 接近真实工程环境的,源代码组织风格 复杂问题的源文件组织也是一种工程训练。特别是Java代码,一般一个类对应一 个文件,若使用文本框就要破坏Java的编程规范。 接近真实工程环境的,源代码组织风格 支持多源文件打包上传 “培养学生解决复杂工程问题的能力” —工程教育专业认证 支持多源文件打包上传

CG平台:程序设计 程序评判:实时评判(VS. 串行排队) 上海大学实验:300~400人同时上机,串行排队评判延迟能达到40分钟。 利用CPU多核并行评判学生程序,实时出结果 上海大学实验:300~400人同时上机,串行排队评判延迟能达到40分钟。 评判进程池:CPU核数 × 2 其它系统如何做? 1. 提交次数多扣分 2. 限制提交时间间隔 1.学生有集中上机的特点,排队评判的体验非常不好 2.学生程序中存在死循环等问题时,重复提交,排队时间会非常长 上机时间结束了,还不知道自己的提交程序的评判结果? 考试完毕,判分结果还没出来?

CG平台:程序设计 题目度量:客观量化题目难度 度量指标:平均代码行、平均完成时间、正确率 基于历年使用的历史数据统计 基于单次考试/作业的统计

CG平台:程序设计 代码相似性比较 赵长海等,基于编译优化和反汇编的程序相似性检测方法,《北京航空 航天大学学报》,2008年。国内相似性比较研究领域,引用率最高的文章。 代码相似性检测 修改注释 重新排版 标识符重命名 代码块重排序 常量替换 改变操作符 改变数据类型 代码冗余 表达式拆分 控制结构等价替换 精确定位,并聚类显示 若存在任何手段能够绕开检测算法,那么查重功能形同虚设! 基于源代码级的相似比较的问题:插入冗余代码段即可避开 防抄袭的杀手锏 如果联网,如果两个人抄袭了同一份代码?

CG平台:程序设计 代码相似性比较 示例1: 调整代码顺序 + 注释

CG平台:程序设计 代码相似性比较 示例2: 冗余代码 + 变量重命名 + 注释 + 排版

03 数据结构与算法:支持时间复杂度计算 ◎算法可视化 ◎大数据性能评测

算法与数据结构可视化 CG平台:数据结构与算法 丰富的题目类型 选择题 填空题 判断题 简答题 5类 文件上传题 通用 编程题 题型 接口编程题 程序片段编程题 算法可视化 并行编程题 MPI分布式 多线程 项目题 5类 通用 题型 算法与数据结构可视化 以交互可视化的形式动态展示算法的执行过程,使学生更容易理解算法思想。 支持栈、队列、堆和递归、索引、排序、图、动态规划,共45种数据结构和算法的可视化。 4类 编程 题型 1类 并行编程 题型 补充缺失的语句、函数。 可以插入调试打印语句,以打印的数据作为正确性评判依据。类似集成开发环境中的断点调试。

CG平台:数据结构与算法 程序评判:支持输入与输出任意组合! 灵活的出题方式,让编程题也直接支持数据结构与算法知识点考核 拼写检查示例 1.输入:文档,字典文件 2.输出:文件 利用编程题考核算法与数据结构知识点的示例(非常秒的出题思路,来自晏海华老师)

CG平台:数据结构与算法 程序评判:性能剖析! 度量每行代码的实际执行次数 拼写检查示例 1.输入:文档,字典文件 2.输出:文件

CG平台:数据结构与算法 大数据性能评测:性能参与评分 “性能” 在大数据下才有区分度! 适用课程: 算法与数据结构 计算机体系结构类课程 体验算法魅力,理解理论与实践的相互作用( ACM/IEEE CS2013) 计算机体系结构类课程 利用cache、指令多级流水、分支预测等优化程序,深入理解CPU的微架构,参考《深入理解计算机系统》 程序性能参与评分 1.主要用于数据结构课程,让学生体验算法的魅力。 2. 计算机体系结构类课程,也可以使用,深入理解CPU的微架构。参考《深入理解计算机系统》,利用cache、指令多级流水、分支预测等优化程序。

CG平台:数据结构与算法 大数据性能评测:性能参与评分 以执行时间最短的程序为基准判分 (项目)题目示例 得分排行榜 词频统计(100万单词) 拼写检查(90万单词) 文本生成器(120万单词) 得分排行榜 总分 = 正确分 + 性能分 用算法的思维,综合考虑时间复杂度和空间复杂度去寻找最优的方案来解决问题 排行榜作为得分依据,只有分数才会督促学生重视性能。 促进学生竞争意识,不断尝试各种数据结构和算法优化自己的程序 解决问题的能力 毕业生要了解如何运用自己学到的知识来解决实际问题,而不仅仅是编写代码或搬动比特位。他们应该能够对一个系统的功能、实用性、性能等方面做出定量和定性的评估,并能设计和改善此系统。他们应该认识到,对一个给定的问题可能有多种解决方案,做出合理的选择并不是一个纯粹的技术问题,因为这些解决方案将对人们的生活产生真正的影响。毕业生也应该能够把自己的解决方案向别人做清晰的表述,解释一个解决方案为什么能解决给定的问题、是怎样解决了这个问题以及是在什么假设下解决这个问题的。

CG平台:数据结构与算法 大数据性能评测 热烈讨论  促进学生持续优化算 法和数据结构 优化过程中体验算法 魅力,理解理论与实 践的相互作用 排行榜作为得分依据,只有分数才会督促学生重视性能。 促进学生竞争意识,不断尝试各种数据结构和算法优化自己的程序 解决问题的能力 毕业生要了解如何运用自己学到的知识来解决实际问题,而不仅仅是编写代码或搬动比特位。他们应该能够对一个系统的功能、实用性、性能等方面做出定量和定性的评估,并能设计和改善此系统。他们应该认识到,对一个给定的问题可能有多种解决方案,做出合理的选择并不是一个纯粹的技术问题,因为这些解决方案将对人们的生活产生真正的影响。毕业生也应该能够把自己的解决方案向别人做清晰的表述,解释一个解决方案为什么能解决给定的问题、是怎样解决了这个问题以及是在什么假设下解决这个问题的。

◎与教学系统统一账号登录 ◎支持ACM竞赛与训练 04 编程竞赛:高质量的OJ模块 ◎与教学系统统一账号登录 ◎支持ACM竞赛与训练 ◎竞赛代码查重 ◎3000道ACM竞赛题库

CG平台:编程竞赛 编程竞赛(CG-OJ) 独立的OJ模块,与CG教学系统统一账号登录,沉淀更多的教学数据

CG平台:编程竞赛 编程竞赛 完善的竞赛机制:公开赛和内部赛,ACM-ICPC规则,竞赛代码查重。

CG平台:编程竞赛 编程竞赛 刷题+竞赛选拔,与教学系统互为补充 3000道高质量的训练题库

◎自动量化正确性、性能、可扩展性 ◎评判结果可视化 05 并行计算:科学全面的评判与实验体系 ◎自动量化正确性、性能、可扩展性 ◎评判结果可视化 ◎支持多种并行语言和计算架构

CG平台:并行计算 并行程序的自动评测 适用课程: 《并行程序设计/并行计算》 《操作系统实验》 从正确性、可扩展性、性能三个角度全面评测并行程序 支持分布式MPI、多核多线程、CUDA并行程序 适用课程: 《并行程序设计/并行计算》 《操作系统实验》 多进程实验(wait 与fork) 信号量 生产者消费者 ACM/IEEE CS2013新增课程体系: 并行和分布式计算(PD)、信息安全、系统基础、基于平台的开发 等 并行程序评测背后需要集群或者多核服务器支持 三个指标全面评测并行/分布式程序

CG平台:并行计算 并行程序的自动评测:评判报告可视化

CG平台:并行计算 并行程序的自动评测:虚实结合的自动评测环境 既可以使用单台服务器虚拟出多线程和分布式集群环境,也可以直接使用现有高性能计算系统。 多线程评测“集群” MPI分布式评测“集群”

06 软件工程:完整的软件工程教学和实训体系 ◎小组协作 ◎小组互评 ◎文档 / 源码查重 ◎github项目管理 ◎增量式迭代开发辅助管理

CG平台:软件工程 丰富的题目类型 选择题 填空题 判断题 简答题 文件上传题 编程题 接口编程题 程序片段编程题 算法可视化 并行编程题 MPI分布式 多线程 项目题 5类 通用 题型 4类 编程 题型 主要用于软件工程系列课程实践 1类 并行编程 题型 1.融入大社区,在大社区内寻找创意、学习 2.长期保留自己的工作成果 最流行的代码托管服务,非自建版本管理

CG平台:软件工程 软工实践教学 小组作业、互评、GitHub协作 软件工程系列 分组设置 小组(匿名)互评 开发过程 小组协作 小组互评 增量式迭代开发 GitHub 分组设置 小组(匿名)互评 开发过程

CG平台:软件工程 文档 / 源代码相似性检测 从压缩包内提取文档和源代码,进行相似性比较 适用课程: 各种常见文档:Word、PDF、Excel、PPT 常用编程语言:C/C++、C#、Java、Python、Javascript、HTML等 适用课程: 软件工程、编译技术、各种实验报告…….

CG平台:软件工程 基于在线实验环境的项目案例:记录实验过程。从实际项目入手,形成对软件工程直观感性的认识

07 数据库在线实验:支持SQL自动评测 ◎SQL自动评测 ◎在线项目实验

CG平台:数据库在线实验 完备的数据库在线实验体系:SQL自动评测 + 数据库在线实验环境 在线实验 课程管理平台 系统管理与运维 基础知识 数据更新 (对数据库表进行数据的插入、修改、删除操作) 数据基本查询 (单表查询、分组统计查询和连接查询) 基础知识 进阶实验 安全性与完整性语言实验 数据库恢复与并发控制 存储过程实验 数据库监视与性能优化 数据定义语言 (创建、修改和删除基本表) 数据高级查询 (SQL嵌套查询和集合查询等) 视图与索引实验 数据库应用开发 数据库设计实验 开发一个简单的数据库系统 在线SQL自动评测 数据库在线实验环境 (Oracle、Mysql、PostgreSQL等数据库实验环境) 在线考试 在线作业 在线答疑 学生 管理 成绩管理 权限管理 资源管理 文档查重 代码查重 在线教程 在线实验 课程管理平台 多课程管理 教师权限管理 系统备份 系统升级 系统迁移 系统性能 系统外观 统计分析 系统管理与运维

CG平台:数据库在线实验 SQL自动评测:自动、准确量化实验结果 数据定义语言 数据基本查询 数据高级查询 数据更新语言 SQL语法高亮

CG平台:数据库在线实验 在线实验:体验真实的数据库操作环境,解决数据库安装部署难题 进行复杂的实验。数据库表设计、数据库编程、撰写一个简单的数据库系统等。 随时随地开展实验。解决传统机房的时空限制。 精细化评价。传统实验只能根据实验报告来判分,主观性非常强,在线实验系统完整记录学生实验过程中的操作记录。

操作系统在线实验:支持自动评测和过程管理 08 操作系统在线实验:支持自动评测和过程管理 ◎内核实验自动评测 ◎实验过程自动化管理 ◎小型操作系统实验体系 ◎在线虚拟实验环境

CG平台:操作系统实验 操作系统实验:内核实验 内核实验自动评测 实验过程自动化管理 小型操作系统实验体系: 实验1:启动和系统初始化 实验2:内存管理实验 实验3:进程管理 实验4:系统调用 实验5:文件系统 实验6:命令解释程序 1.融入大社区,在大社区内寻找创意、学习 2.长期保留自己的工作成果 6个相互关联的操作系统实验,学生可以从简单到复杂,最终构造出一个相对完整的操作系统。

CG平台:操作系统实验 操作系统实验:内核实验 每个操作系统实验都设置多个不同难度级别的挑战性任务,并自动评测,节省教师工作量的同时,让学生获得内核开发的成就感。 1.融入大社区,在大社区内寻找创意、学习 2.长期保留自己的工作成果

CG平台:操作系统实验 操作系统实验:在线实验环境 1.融入大社区,在大社区内寻找创意、学习 2.长期保留自己的工作成果

CG平台:操作系统实验 操作系统实验:追踪实验过程信息 1.融入大社区,在大社区内寻找创意、学习 2.长期保留自己的工作成果

09 人工智能:人工智能专业一体化解决方案 ◎实验全过程的数字化管理与分析 ◎充分利用现有云计算中心 ◎实验全过程的数字化管理与分析 ◎充分利用现有云计算中心 ◎强大的资源建设团队(国防科技大学 + 北京航空航天大学)

CG平台:人工智能实验 人工智能实验:实验全过程的数字化管理和大数据分析 1.融入大社区,在大社区内寻找创意、学习 2.长期保留自己的工作成果

CG平台:人工智能实验 人工智能: 高质量的实验/实训资源 自然语言处理 知识理解 文字识别 图像识别 序号 实验分类 实验名称 实验手册 实验代码 实验数据 1 机器学习基础 用matplotlib绘制精美的3D图像 √ 2 求解一元线性回归问题 3 求解多元线性回归问题 4 求解多项式回归问题 5 用随机梯度下降法做线性拟合 6 基于tfidf的文本特征提取 7 二元分类效果的图像展示 8 利用网格搜索找到最优参数 9 聚类分析 10 逻辑回归公式的数学推导 11 求解逻辑回归问题 12 利用机器学习做缺失数据补全 13 用R语言做数据可视化 14 R语言特征工程实践 15 深度学习 人工神经网络模型原理 16 用python原生代码实现手写数字识别 17 tensorflow基础及线性回归实践 18 用tensorflow做手写数字识别 19 卷积神经网络(CNN)模型原理 20 最大熵原理 21 自己动手做聊天机器人 (综合) 中文分词 22 tf-idf模型 23 信息检索原理与实践 24 基于检索系统的聊天机器人 25 词表达方式 26 词向量计算 27 短文本聚类 28 问句的意图识别 29 文本相似度计算 30 语法分析与词法分析 31 自动问答系统的完整设计 32 循环神经网络(RNN)模型原理 33 LSTM模型原理与实践 34 seq2seq模型原理与实践 35 基于seq2seq实现聊天机器人 36 聊天机器人系统搭建 37 自动抓取网页获取字幕语料 38 抓取微信群聊天语料 人工智能: 高质量的实验/实训资源 自然语言处理 知识理解 文字识别 图像识别 1.融入大社区,在大社区内寻找创意、学习 2.长期保留自己的工作成果

CG平台:人工智能实验 人工智能: 人工智能专业一体化支撑平台(课程体系) CG人工智能 其它 软件平台与硬件松耦合 ✔ ✘ 程序设计 算法与数据结构 数据库实验 软件工程 人工智能实验 操作系统 大数据实验 Python实训 CG人工智能 其它 软件平台与硬件松耦合 ✔ 独立建设、独立维护升级换代 ✘ 一体机模式,与服务器和虚拟化软件紧耦合 对专业支撑的全面性 支撑人工智能课程体系内的所有教学与实验 昂贵的软硬件,只能做有限的人工智能实验,无法支持相关课程的实验,例如数据库、编程语言、操作系统等。 资源的可扩展性 轻松自建教学与实验资源 教学与实验资源固化 使用体验 B/S架构图形桌面,客户端分辨率自适应 C/S架构或者命令行界面 变量、字符串、运算符、表达式 函数、匿名函数 基础知识 列表及其操作、列表推导式 类与对象、继承 if语句 文件操作 字典 异常处理 1.融入大社区,在大社区内寻找创意、学习 2.长期保留自己的工作成果 循环语句 调试与测试 Python代码自动评判 (课件、视频、1000+精选题库)

10 大数据在线实验:随时随地开展实验 ◎大数据专业一站式支持 ◎充分利用现有云计算中心 ◎实验全过程的数字化管理与分析

CG平台:大数据实验 大数据实验: 真实可靠的在线实验环境 实验全过程的数字化管理和大数据分析、实验环境一键部署与隔离。 1.融入大社区,在大社区内寻找创意、学习 2.长期保留自己的工作成果

(虚拟机、Hadoop、SQL大数据数据库、NoSQL数据库、数据资源) CG平台:大数据实验 大数据专业一站式解决方案 支撑整个大数据专业的教学过程,实现在线资源的统一管理。 系统管理与运维 系统备份 多课程管理 系统升级 系统迁移 系统性能 系统外观 教师权限管理 在线考试 在线作业 在线答疑 成绩管理 权限管理 资源管理 文档查重 课程管理平台 在线教程 学生管理 在线实验 统计分析 大数据工程实践系统环境 (虚拟机、Hadoop、SQL大数据数据库、NoSQL数据库、数据资源) 实验系列6:Python数据分析 实验系列5:机器学习与分析预测 实验系列4:下一代大数据处理引擎 实验系列3:大数据基础与实战 实验系列2:云计算及大数据引擎管理 实验系列1 :数据预处理与数据整理 【金融服务】教学项目案例:个人消费记录分析及购买意向预测 【健康医疗】教学项目案例:流行性感冒数据分析及趋势预测 【机器学习】教学项目案例:在线视频点播网站用户行为分析与预测 代码查重 大数据课程教学 (讲义、视频、习题) 支持大数据整个教学环节 在线虚拟实验环境 支持自建在线实验 代码自动评判 算法可视化、大数据性能评测 Java程序设计基础 Python程序设计基础

CG平台:大数据实验 CG大数据解决方案特点 CG大数据 其它 软件平台与硬件松耦合 ✔ ✘ 对专业支撑的全面性 资源的可扩展性 使用体验 独立建设、独立维护升级换代 ✘ 一体机模式,与服务器和虚拟化软件紧耦合 对专业支撑的全面性 支撑所有大数据专业课程的教学与实验 昂贵的软硬件,只能做有限的大数据实验,无法支持相关课程的实验,例如数据库、编程语言、操作系统等。 资源的可扩展性 轻松自建教学与实验资源 教学与实验资源固化 使用体验 B/S架构图形桌面,客户端分辨率自适应 C/S架构或者命令行界面 基于云计算技术,实验所需数据、软件共建和硬件实验设备均抽象为实验资源,提高了软硬件资源利用率,并利于系统维护和升级换代。

FPGA在线实验:延伸硬件实验的时间和空间 11 FPGA在线实验:延伸硬件实验的时间和空间 ◎计算机组成原理 ◎数字逻辑 ◎计算机系统结构 ◎ FPGA实训

CG平台:FPGA在线实验 FPGA在线实验:虚实结合,能实不虚 统一的贯穿式硬件教学资源 1.融入大社区,在大社区内寻找创意、学习 数字逻辑 从基础的门电路,组成组合逻辑电路、时序逻辑设计到综合性的数字系统设计,完整的实验资料。 计算机组成原理 由基础部件设计,如ALU、存储器、微程序控制、总线传输等。最后由部件组成一个简单CPU,包含基础的功能指令集。 计算机系统结构 基于OPENMIPS指令集的5级流水线CPU设计,完成取指、译码、执行、访存、回写操作 FPGA实训-HLS高层语言开发 实训课程从基础的设计训练到完成一个图像加速实例,完整学习HLS开发,真正实践系统结构的知识。 1.融入大社区,在大社区内寻找创意、学习 2.长期保留自己的工作成果

CG平台:FPGA在线实验 FPGA私有云

CG平台:FPGA在线实验 FPGA在线教学与实验一站式解决方案 在线实验 1.融入大社区,在大社区内寻找创意、学习 系统管理与运维 系统备份 多课程管理 系统升级 系统迁移 系统性能 系统外观 教师权限管理 在线考试 在线作业 在线答疑 成绩管理 权限管理 资源管理 文档查重 课程管理平台 在线教程 学生管理 在线实验 统计分析 代码查重 数字电路、计算机组成原理 (配套教材、讲义、习题) 计算机组成原理 计算机系统结构 实验6:总线传输设计 实验5:微程序控制器 实验4:存储器扩展 实验3:存储器 实验2:ALU8 实验1:ALU4 多Cache一致性 Tomasulo算法 Cache性能分析 指令调度和延迟分支 流水线及流水线中的冲突 MIPS指令系统和MIPS体系结构 支持硬件实验整个教学环节 在线虚拟实验环境 支持自建在线实验 数字逻辑 实验6:有限状态机 实验5:计数器 实验4:锁存器与触发器 实验3:译码器 实验2:多路选择器 实验1:逻辑门电路 1.融入大社区,在大社区内寻找创意、学习 2.长期保留自己的工作成果

汇报大纲 CG平台特色 CG生态环境 CG@北航 面向计算机专业的课程管理与考试平台 在线实验类 程序设计 操作系统实验 数据结构与算法 编程竞赛 并行计算 软件工程 在线实验类 操作系统实验 大数据实验 FPGA实验 CG生态环境 CG质量控制 生态环境建设与发展方向 CG@北航 程序设计 在线实验

CG平台:质量 性能! 单台普通笔记本能够支撑2000人同时在线考试 单台双路服务器可支撑50000人同时在线考试 案例: 上海大学 单台服务器支撑全校3000人 国防科大 1GB内存台式机的抗压测试 北航 P4 CPU 1GB内存台式机 350人考试 大类招生,同时800人在线考试 河北地质大学 Windows VMWare工作站虚拟机,2核Xeon CPU,2GB ,600人同时在线考试 坑: 平时做作业还可以,考试崩溃 使用两年之后,系统巨慢无比

CG平台:质量 安全性! 在线评判系统极易出现安全性问题 安全性如何保障? 数据库密码2次MD5单向加密。 长时间使用验证+高水平的攻防测试 数据库密码2次MD5单向加密。 教师账号临时秘钥加密登录,防暴力破解。 一个没有经过长时间使用验证,以及专门的高水平安全测试的系统

CG平台:质量 可维护性!一键式安装 安装在校园网或者局域网内,不用互联网在线模式,主要是考试的特殊性: 安装Linux 安装在校园网或者局域网内,不用互联网在线模式,主要是考试的特殊性: 避免“引诱” 学生到互联网搜索答案! 考试期间的互联网访问没有保障 集中提交代码时,互联网出口带宽没有保障 下载&执行安装包 安装在校园网或者局域网内,不用在线模式,主要是考试的特殊性: 考试期间的互联网访问没有保障 集中提交时,互联网出口带宽没有保障

CG平台:质量 可维护性!数据的可靠性 通过浏览器备份数据 自定义自动快照策略,保障数据可靠性 运维工具 简化数据备份复杂性 即使是服务器,出现故障后,立即恢复系统。

CG平台:质量 可维护性!系统升级的便捷性 平均1到1个半月一个升级版( http://educg.net/download.html )

CG平台:质量 集体智慧 所有功能和改进都由教师集体 决定。 发现bug及时修复。

最具专业深度、安全可靠的计算机类课程一体化支撑平台 CG平台:生态环境 CG发展 专注平台建设、教育大数据 & AI 操作系统 在线实验 开放、可扩展的计算机专业教学与实验一体化平台 最具专业深度、安全可靠的计算机类课程一体化支撑平台 云计算基础设施 (服务器、存储、网络、FPGA、嵌入式设备) FPGA 并行计算 程序设计 数据结构 与算法 软件工程 实践 大数据 实训 程序自动评测 编程竞赛 算法可视化 在线考试 软件工程协作环境 虚实结合的在线实验环境 嵌入式 人工智能 信息安全 …… 教师 基于实验环境提供优质的实验资源,获得持续性的收益 在此演示实验

汇报大纲 CG平台特色 CG生态环境 CG@北航 面向计算机专业的课程管理与考试平台 在线实验类 程序设计 操作系统实验 数据结构与算法 编程竞赛 并行计算 软件工程 在线实验类 操作系统实验 大数据实验 FPGA实验 CG生态环境 CG质量控制 生态环境建设与发展方向 CG@北航 程序设计 在线实验

CG@北航:工程教育实践平台 奖励 北京市教学成果一等奖(在线实验) 北京市教学成果二等奖(软工) 国家教学成果二等奖(系统能力培养) 北京市精品课程(程序设计) 微软精品课程(操作系统)

CG@北航:程序设计课程应用案例 课程目标 对于一般问题,具备分析问题、解决问题的能力,在40~60分钟内编写并 调试通过、能正确运行、一般在40~50行有效代码以内的程序;通过学习让 学生能够了解程序设计思想以及初步接受到程序设计方法、技巧、风格的 训练,并逐步了解工程化要求。 教学目标必须可量化、可以落实 工程问题就要用工程方法解决

CG@北航:程序设计课程应用案例 重视知识的讲授 而忽视对能力的 培养 实验与考核手段 落后 实践能力为导向使用程序设计语言求解问题的能力 2003 2015 2017 重视知识的讲授 而忽视对能力的 培养 实验与考核手段 落后 实践能力为导向使用程序设计语言求解问题的能力 作业(10%)与考试(90%)全部在线完成,挑战: 如何监督独立完成作业 性能、稳定性 数据的安全 两课融合:《数据结构与程序设计基础》 高级语言程序设计 数据结构与算法 研发数据结构与算法支撑功能 大类招生:《数据结构与程序设计》 数据结构与算法 高级语言程序设计 1.如果在线考试,必须保证系统稳定、安全、性能(大并发情况时的流畅性); 2.历史数据的可靠性:题库(教师辛苦的结晶)、极具价值的历史数据->大数据挖掘。

CG@北航:程序设计课程应用案例 说明:在此统计的是5个年级程序设计课期末考试情况。每次考试包括3个编程题: 从考试结果来看: 编程题1:为简单的基本题,涵盖了表达式、控制流等知识点 编程题2:为中等难度题,涵盖了表达式、控制流、数组、函数等知识点 编程题3:为综合应用题。 从考试结果来看: 考试能够贯彻教学目标要求 在能够反映学生综合应用能力的编程题3上,反映学生的编程能力在提高

CG@北航:程序设计课程应用案例 优秀率、及格 率、平均分,北 航大一的学生都 高于推免研究生 数据来源 推免考试考生来 源:各个高校优 秀学生(大四) 题目与大一学生 的期末考试相近 结论 优秀率、及格 率、平均分,北 航大一的学生都 高于推免研究生

CG@北航:程序设计课程应用案例 综合类作业(Project)的 设计,帮助学生理解当问 题N变大时,数据结构与 算法是如何影响程序性能 题目:词频统计(哈利波特全 集、近100万个单词、性能参与 评分) 贯穿整个学期的作业,学生利 用学到的知识不断优化程序 其中运行最快的是0.093s,运 行时间最长为155.912s 1.题目有很大的区分度 2.一题精做:能够充分体验不同算法和数据结构的差异。

CG@北航:程序设计课程应用案例 知乎评价: “CCF CSP软件能力认证”2016最佳合作单位 Ref: 北航计算机学院怎么样? https://www.zhihu.com/question/23026820/answer/24282950 “CCF CSP软件能力认证”2016最佳合作单位 获得最佳合作奖的单位是:北京航空航天大学、国防科技大学…… Ref:用CSP证明专业能力——CCF在京召开软件能力认证大会

CG@北航:程序设计课程应用案例 数据结构与程序设计基础 作业(20分):8次作业(15分)+ 1次性能测试作业(5分) 考试(80分):期中考试(30分)+ 期末考试(50分)

CG@北航:程序设计课程应用案例 高质量的练习题目 面向工程应用 实际问题 大数据 北京地铁换乘查询 词频统计 拼写检查 1.活学活用 2.

与CourseGrading共同发展 您的参与是CourseGrading发展的动力! QQ群:214085215(实名:学校+姓名 ) 北京航空航天大学 上海大学计算中心 北京交通大学计算机与信息技术学院 北方工业大学 国防科学技术大学 江南大学 北京邮电大学 北京化工大学信息工程学院计算机系 中国传媒大学 中国石油大学 北京信息科技大学 首都经济贸易大学 陆军工程大学 广西民族大学 山东大学 齐鲁工业大学 华北电力大学 河北地质大学 杭州电子科技大学 华北科技学院 浙江工业大学 北京信息科技大学计算中心 重庆邮电大学 西南民族大学 沈阳航空航天大学计算机学院 山东建筑大学 广东药学院 电子科技大学信息与软件工程学院 昆明理工大学 哈尔滨理工大学 重庆交通大学 上海电机学院 西南交通大学 北京印刷学院 武汉理工大学 中国海洋大学 湖南大学 …… QQ群:214085215(实名:学校+姓名 )