- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
测评系统揭秘——从Python程序设计测评说起
虞颖健浙江省海宁市第一中学
倪俊杰浙江省桐乡市凤鸣高级中学
新一轮的课程改革大幅增加了高中信息技术新教材程序设计相关内容的比重,大数据、物联网、人工智能等内容进入了信息技术新版教材,新版教材的编程语言换成了在以上领域应用广泛的Python。Python程序设计教学在新课程的教学中具有举足轻重的地位。程序设计测评系统能够即时检验学生编写的程序代码是否正确,教学需求也日益增强。相比传统的课堂教学模式,采用程序测评系统的程序设计课堂教学能够根据测评系统的实时反馈及时掌握学生的学习情况,进而能更好地调整课堂教学,提升课堂教学的有效性。
在线测评系统(OnlineJudge,简称OJ系统)是目前广泛使用的主流程序测评系统。OJ系统是一个在线判题系统,用户可以在线提交程序源代码,系统通过预先设计的测试数据来检验程序源代码的正确性。用户提交的程序在OJ系统下执行时将受到比较严格的限制,包括运行时间限制、内存使用限制和安全限制等。用户程序执行的结果将被OJ系统捕捉并保存,然后再转交给一个裁判程序。该裁判程序或者比较用户程序的输出数据和标准输出样例的差别,或者检验用户程序的输出数据是否满足一定的逻辑条件。国内较为著名的OJ系统有POJ(北京大学)、ZOJ(浙江大学)、HDOJ(杭州电子科技大学)。
要想让广大中小学信息技术教师能够在课堂教学中使用程序测评系统,提升课堂教学的有效性,需要开发一款适用于当下信息技术课堂教学、使用门槛较低的程序测评系统,该系统需要满足如下需求:①系统无需高性能计算机,无需服务器,在机房学生机或者教师机上即可运行使用。②无需部署数据库与Web服务器,无需烦琐复杂的配置。③既能够检验提交的完整代码的正确性,也能够检验程序设计填空的正确性。
笔者根据浙江信息技术教学情况,设计并实现了Python程序设计测评系统——YYOJ系统。该系统有如下优点:①学生提交的程序代码的正确性在学生使用的本地机器上检验,对运行YYOJ系统数据库和Web服务器的计算机性能没有要求,YYOJ系统可以在机房任意一台计算机上运行,不需要配置专门的服务器,也无需对运行YYOJ系统计算机的内存、安全限制进行配置。②YYOJ系统不需要安装数据库和Web服务器并进行配置,它自带数据库和Web服务器的应用程序。③YYOJ系统除了可以检验学生提交的完整程序代码的正确性,还可以检验程序设计填空的正确性。此外,YYOJ系统对硬件设备要求较低,使用门槛不高且易于使用,特别适合浙江高中信息技术课堂教学。
YYOJ系统是基于B/S架构的Web应用程序,在开发过程中使用了Web框架、Web服务器、数据库等技术。
FastAPI是一个用于构建WebAPI的现代、高性能的WEB框架,它实现了ASGI规范。虽然FastAPI的主要用途是用于构建WebAPI,但是FastAPI也提供了对Jinja2、Mako等模板引擎的支持,能够像Flask、Django一样开发基于服务端渲染的Web应用程序。
Uvicorn是使用C和Python编写的ASGIWeb服务器。使用Uvicorn部署实现了ASGI规范的Web应用程序。FastAPI实现了ASGI规范,所以,FastAPI开发的Web应用程序能够部署在Uvicorn中。Uvicorn与传统的Web服务器不同,传统的Web服务器如nginx、apache、IIS需要单独安装,Uvicorn不需要安装,并且可以通过Python编码的方式直接嵌入应用程序中运行。
Nuitka是Python编写的优化Python编译器,它能够把Python代码编译生成为可执行程序,而且通过Nuitka编译生成的可执行程序不需要安装Python环境也能够独立运行。Nuitka支持Python2与Python3,支持Windows、Linux与苹果等主流操作系统。Nuitka的工作原理是把Python代码编译成C代码,再把C代码编译成可执行文件,生成的文件不能像.pyc文件一样反编译,因此安全性高,而且因为编译成C代码,所以生成的可执行程序运行速度会更快。
Brython是用javascript编写的Python编译器和解析器。使用Brython,可以在浏览器中编译和运行Python代码。
SQLite是一个C语言库,它实现了一个小型、快速、自包含、高可靠性、功能齐全的SQL数据库引擎。SQLite内置于所有手机和大多数计算机中,并捆绑在人们每天使用的无数其他应用程序中。SQLite不像MySQL、Postgres那样需要开启服务器提供数据库服务,它是无服务器的数据库,可以通过编程语言调用API直接与SQLite数据库通信。
总的来说,YYOJ系统是使用FastAPI开发的Web应用程序,内嵌了Uvic
您可能关注的文档
- 《食物的旅行》微课设计.docx
- 《视频的获取与加工》教学案例.docx
- 《宋代经济的发展》教学设计.docx
- 《探寻获取信息的有效途径》教学案例.docx
- 《统计总动员》教学设计.docx
- 《图形化编程综合设计——赛龙舟》教学案例.docx
- 6G视域下“潜在业务”对教育的重塑.docx
- 2022,明晰概念,融合向前.docx
- 2022,人工智能、数字人和图灵原理.docx
- 2022,人工智能教育从单一走向多元.docx
- 在2025年系统新提拔科级干部座谈会上的讲话提纲.docx
- 2024年度乡镇(街道)民主生活会班子检视问题整改方案(四个带头).docx
- 县委常委班子2024年度民主生活会主持词.docx
- 局领导2024年度民主生活会对照检查材料(“四个带头”方面).docx
- 某局领导班子2024年度民主生活会对照检查材料(“四个带头”方面).docx
- 2024年度民主生活会银行纪委书记个人对照检视发言材料.docx
- 街道人大工委议政代表会制度工作推进情况汇报.docx
- 2024年度民主生活会班子检视问题整改方案(四个带头).docx
- 2024年县委党建工作总结.docx
- 教育局民主生活会“四个带头”班子对照检查材料.docx
最近下载
- 熊氏真传少林大易筋经 李佩弦 【武林 】1983第4期.pdf
- 2024复工复产安全专题培训课件.pptx
- 规范PAS2050--中文版_精品文档.pdf VIP
- GBT19025-2023 质量管理 培训指南.pdf
- 2024年管道工技能竞赛理论考试题库-下(多选、判断题汇总).docx VIP
- 《旅游情景英语》课件Unit 6 Touring and Sightseeing.ppt
- 2025年春节后复工复产“开工第一课”安全生产培训课件.pptx VIP
- 医院医德医风考核表.docx VIP
- 第五章 典型飞行控制系统分析-NEW培训资料.ppt VIP
- 人教版六年级数学上册期末测试卷(4套)有答案.pdf
文档评论(0)