赵长海 zhaochanghai@gmail.com 北京航空航天大学 软件所 2007-10-30 高级程序设计语言教学辅助系统 赵长海 zhaochanghai@gmail.com 北京航空航天大学 软件所 2007-10-30.

Slides:



Advertisements
Similar presentations
2014 年 10 月. 学生入学考试 15 位编号 号工号 ****** 北科 MBA 网址: 如: 初试密码为身份证 后六位,登录成功 后可进行修改。
Advertisements

学生程序自动评测与抄袭检测系统 赵长海 北京航空航天大学 计算机学院
阻塞操作. 在 linux 里,一个等待队列由一个 wait_queue_head_t 类型的结构来描述 等待队列的初始化: static wait_queue_head_t testqueue; init_waitqueue_head(&testqueue);
《程序设计实践》 孙辉 理工配楼104A
ASP .NET 程序设计(C#版) 第二版 机械工业出版社同名教材 配套电子教案
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
课程泛雅 2017/3/15.
程序设计类课程教学辅助平台 CourseGrading 赵长海
计算机程序设计课程实践和考试方法的改革 —经验、支持工具
素材 资源 库 文字 图形 图像 声音 动画 视频 人力 物力 财力 获取素材的渠道 数据库.
Tsing UNIS Education Institution Introduction
实用操作系统概念 张惠娟 副教授 1.
关于本门课程.
银符考试模拟题库B12.
超星尔雅 benke.chaoxing.com 网络通识课程学习指导.
基于解释性语言的手机跨平台架构 Sloan Yi. Qt MTK.
Oracle数据库 Oracle 子程序.
课程中心 课程中心培训方案 上海泰泽信息技术有限公司
全国计算机等级考试 二级基础知识 第二章 程序设计基础.
《数据结构》课程简介 李武军 南京大学计算机科学与技术系 2016年秋季.
程序的形式验证 - 简介 中国科学院软件研究所 张文辉 1.
《数据库原理及应用》课程介绍 信息工程学院 孙俊国
J2EE与中间件技术 ——Lab.
Android快速开发入门 巫文杰、Android工程师 讲师的CSDN博客地址
Gerd Kortemeyer Michigan State University January 2008
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
K/3 Cloud云之家集成 K/3 Cloud 基础系统部.
嵌入式系统课程简介 宋健建 南京大学软件学院 2004/02/10.
第二讲 搭建Java Web开发环境 主讲人:孙娜
大学计算机基础 典型案例之一 构建FPT服务器.
SVN服务器的搭建(Windows) 柳峰
第11章:一些著名开源软件介绍 第12章:服务安装和配置 本章教学目标: 了解当前一些应用最广泛的开源软件项目 搭建一个网站服务器
大数据管理技术 --NoSQL数据库 HBase 陈 辉 大数据分析技术.
DM81X 视频采集处理 ——简单采集显示例程讲解 广州创龙电子科技有限公司
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
PaPaPa项目架构 By:Listen 我在这.
Windows 7 的系统设置.
分布式程序设计 姚斌 计算机科学与工程系 上海交通大学.
实习前你需要知道的 PRESENTED BY Yisa.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
Unit 11.Operating System 11.1 What’s OS 11.2 Related Courses
程序设计工具实习 Software Program Tool
SOA – Experiment 2: Query Classification Web Service
内容摘要 ■ 课程概述 ■ 教学安排 ■ 什么是操作系统? ■ 为什么学习操作系统? ■ 如何学习操作系统? ■ 操作系统实例
C语言程序设计 主讲教师:陆幼利.
简单介绍 用C++实现简单的模板数据结构 ArrayList(数组, 类似std::vector)
并行程序设计教学辅助平台 赵长海 结题.
微机系统的组成.
第四章 团队音乐会序幕: 团队协作平台的快速创建
2019/4/20 关注NE官方微信,获取更多服务.
2019/4/16 关注NE官方微信,获取更多服务.
网页设计与制作 —— 学习情境二:网页模板设计
2019/4/ /4/25 学习科研好助手 NoteExpress文献管理与检索系统 北京爱琴海乐之技术有限公司.
2019/4/26 关注NE官方微信,获取更多服务.
实验七 安全FTP服务器实验 2019/4/28.
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
解决“最后1公里”问题.
JSP实用教程 清华大学出版社 第2章 JSP运行环境和开发环境 教学目标 教学重点 教学过程 2019年5月7日.
2019/5/10 网络学习空间实务操作.
第二节 C语言的特点.
实验目的:掌握数据的顺序存储结构及它们在计算机中的操作。 实验内容:
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
3.8 局域网应用实例 某省劳动和社会保障网络中心组网实例 会议中心的无线组网实例.
插入排序的正确性证明 以及各种改进方法.
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
学习数据结构的意义 (C语言版) 《数据结构》在线开放课程 主讲人:李刚
任课教师:戴开宇 TA:时均帅、谭肖、王安华 程序设计B班 :20-16:50(90分钟)
实验六、COM类型病毒分析实验 实验开发教师: 刘乃琦 谌黔燕.
课程中心平台 ——微专业云录播课程使用手册
Presentation transcript:

赵长海 zhaochanghai@gmail.com 北京航空航天大学 软件所 2007-10-30 高级程序设计语言教学辅助系统 赵长海 zhaochanghai@gmail.com 北京航空航天大学 软件所 2007-10-30

内容 系统开发历史与动机 功能概述 北航的应用情况 系统架构 功能演示 学生端功能演示 管理端功能演示 开发技术与运行环境

系统开发历史与动机 动机与面临的问题 开发历史 批改试卷任务繁重 难以验证学生程序的正确性 学生抄袭严重 2004年初-2005年初 2006年

内容 系统开发历史与动机 功能概述 北航的应用情况 系统架构 功能演示 学生端功能演示 管理端功能演示 开发技术与运行环境

功能概述 程序自动评分 抄袭检测 学生提交源程序,系统自动评判程序的正确性,并打分 当学生提交源程序时,系统自动与已提交的程序进行相似性的比较。 能够检查的抄袭手段:修改注释、重新排版、标识符重命名、代码块重排序、常量替换、改变表达式中的操作符或者操作数顺序、增加冗余的语句或者变量、表达式拆分、控制结构替换。

功能概述 学生教师帐户管理 课程信息管理 网上答疑 提供课程简介、先导课程、课程安排、课件下载、教师简介、重要事项通知、教材及参考书等课程信息 网上答疑 提供网上答疑功能,使得学生在遇到问题时能随时随地提出问题、并使问题能得到及时响应和解决

功能概述 网上作业管理 学生能够从网上获取作业,并可通过网络提交已完成的作业,同时学生还可即时查看作业评判结果 此外,还提供限时功能,即学生可被要求在规定时间内完成规定量的作业 该功能还可提供学生上机程序作业的相似性比较,以督促学生自主完成上机作业

功能概述 网上考试管理 在规定的时间内,学生能够从网上获取试题,通过网络提交已完成的上机操作试题,并能自动进行阅卷 包括自动组卷和手工组卷,考试时通过抽题规则(依据考场安排)进行自动分派试卷

内容 系统开发历史与动机 功能概述 北航的应用情况 系统架构 功能演示 学生端功能演示 管理端功能演示 开发技术与运行环境

北航应用情况 程序设计语言课程 研究生复试 非程序设计课程 平时作业、期中期末考试 编程能力测试 在线作业、网上答疑、信息发布等 效果: 1.提高编程能力,程序调试能力 2.减轻教师工作量

内容 系统开发历史与动机 功能概述 北航的应用情况 系统架构 功能演示 学生端功能演示 管理端功能演示 开发技术与运行环境

系统架构 进程池(Process Pool) Web容器(Web Container) 缓存(Cache) 程序自动评判模块以进程池的方式存在,进程池的进程数目可以动态调整, 进程池可以部署在几台不同的机器上。 进程池中进程的负载平衡依赖于Load Balancer Web容器(Web Container) 使用开源的Apache Tomcat服务器,基于J2EE的多层架构,如图所示: 缓存(Cache) 自主研发的轻量级缓存组件,减少访问数据库的频率,从而加快相应用户请求的速度,提升系统性能

内容 系统开发历史与动机 功能概述 北航应用情况 系统架构 功能演示 学生端功能演示 管理端功能演示 开发技术与运行环境

功能演示—学生端 登录

功能演示—学生端 首页

功能演示—学生端 课程信息

功能演示—学生端 作业 简答题

功能演示—学生端 作业 编程题

功能演示—学生端 作业 编程题

功能演示—学生端 在线答疑

功能演示—学生端 在线考试

内容 系统开发历史与动机 功能概述 北航应用情况 系统架构 功能演示 学生端功能演示 管理端功能演示 开发技术与运行环境

功能演示—管理端 登录

功能演示—管理端 系统管理— 系统公告

功能演示—管理端 系统管理— 系统公告

功能演示—管理端 系统管理— 管理人员帐号

功能演示—管理端 系统管理— 管理人员帐号

功能演示—管理端 系统管理— 课程设置

功能演示—管理端 系统管理— 课程设置

功能演示—管理端 系统管理— 系统设置

功能演示—管理端 系统管理— 论坛设置

功能演示—管理端 系统管理— 答疑论坛

功能演示—管理端 系统管理— 答疑论坛

功能演示—管理端 课程管理— 课程公告

功能演示—管理端 课程管理— 课程公告

功能演示—管理端 课程管理— 课程信息

功能演示—管理端 课程管理— 学生管理

功能演示—管理端 课程管理— 学生管理

功能演示—管理端 课程管理— 学生管理

功能演示—管理端 课程管理— 作业管理

功能演示—管理端 课程管理— 作业管理—录入编程作业

功能演示—管理端 课程管理— 作业管理—测试点

功能演示—管理端 课程管理— 作业管理—作业题目

功能演示—管理端 课程管理— 作业管理—知识点

功能演示—管理端 课程管理— 作业管理—布置作业

功能演示—管理端 课程管理— 作业管理—布置作业

功能演示—管理端 课程管理— 作业管理—布置作业

功能演示—管理端 课程管理— 作业管理—作业概览

功能演示—管理端 课程管理— 作业管理—作业成绩

功能演示—管理端 课程管理— 作业管理—作业成绩

功能演示—管理端 课程管理— 作业管理—作业成绩

功能演示—管理端 课程管理— 作业管理—相似性比较

功能演示—管理端 课程管理— 考试管理—手工组卷

功能演示—管理端 课程管理— 考试管理—手工组卷

功能演示—管理端 课程管理— 考试管理—自动组卷

功能演示—管理端 课程管理— 考试管理—自动组卷

功能演示—管理端 课程管理— 考试管理—自动组卷

功能演示—管理端 课程管理— 考试管理—试卷概览

功能演示—管理端 课程管理— 考试管理—考试启动

功能演示—管理端 课程管理— 考试管理—考试启动

功能演示—管理端 课程管理— 考试管理—考试启动

功能演示—管理端 课程管理— 考试管理—成绩分析

功能演示—管理端 课程管理— 考试管理—成绩分析

功能演示—管理端 课程管理— 设置

功能演示—管理端 课程管理— 栏目定制

内容 系统开发历史与动机 功能概述 北航应用情况 系统架构 功能演示 学生端功能演示 管理端功能演示 开发技术与运行环境

开发技术 JSP + C C语言实现程序的自动评分

运行环境 软件环境 硬件环境(承载1000用户) P4 2.0G以上,1G RAM 80G HD 操作系统 Redhat Linux、 Suse Linux等Linux操作系统 数据库 MySQL4.0以上 应用服务器 Tomcat 编译器 GCC3.2以上 硬件环境(承载1000用户) P4 2.0G以上,1G RAM 80G HD

其他 目前程序自动评判方法的局限 黑盒测试,只验证程序的正确性。非功能属性(可读性、可维护性、效率)? 只能测试完整可编译的程序,程序片段怎么评判?

其他 改进 片段代码的评判 程序非功能属性评判 代码风格度量 MaCabe、Halstead复杂度度量 程序效率度量:运行时间、占用内存空间 代码静态检查:内存泄漏、变量未初始化等潜在的错误 代码的特征检查:例如代码中是否使用了While循环?

系统的结构性问题 结构性问题 模块化,插件化