专业课《C#程序设计》教学大纲课程标准

本大纲适用于三年制专科层次。适用专业——软件专业。

通过对《C#程序设计》理论和实践教学,应能使本专业的学生掌握面向对象程序设计的理论知识和应用技能,锻炼学生进行软件开发的能力。通过教学应使学生获得以下面向对象程序设计的知识和能力。

(一)知识教学目标

1、理解并掌握面向对象程序设计的基本理论和方法;

2、熟悉C#语言的基本语法;

3、熟悉并掌握常用.NET类库和Windows控件的使用。

(二)能力培养目标

1、能正确安装和配置.NET的运行环境,能独立完成教学基本要求规定的实验;

2、能熟练使用软件集成开发环境VisualStudio.NET,会使用调试工具调试应用程序;

3、能进行简单的Windows程序设计;

4、能利用面向对象程序设计的原理,进行类的设计;

5、能使用常用.NET类库和Windows控件,进行Windows程序设计;

6、能熟悉使用ADO.NET,能进行简单地数据库应用程序的设计;

7、能独立进行小型应用软件的开发。

(三)思想素质目标

1.在课堂教学中渗透与企业软件开发有关的国家政策及法律法规,提高学生的法律意识。

2.增强企业团队开发意识,坚持实事求是。

3.培养学生积极向上的工作态度。

(一).Net平台和开发工具应用简介

介绍VS2005开发环境的功能和特点,C#应用程序的基本结构,如何在C#程序中设置断点与程序调试技巧。

(二)C#语法、数据类型

介绍C#语言概述,重点介绍C#中的各种数据类型以及基本运算符,这是C#的基础。其中,难点是值类型以及引用类型。

(三)流程控制介绍

详细介绍三种基本程序结构——顺序结构、选择结构、循环结构。重点是条件分支语句、循环语句、跳转语句。

(四)数组、结构和枚举介绍

介绍数组、结构、枚举。要求学生重点掌握数组的定义与使用。

(五)面向对象编程基础

介绍类的定义及结构、构造函数与析构函数的使用及功能、方法、属性、静态变量和静态函数。重点是类的定义及使用、构造函数、方法。这是面向对象编程的基础。

(六)抽象和封装

抽象、封装是面向对象程序设计的重要特点。介绍抽象、封装的概念。

(七)多态

多态是面向对象程序设计的特点之一,主要介绍函数重载、操作符重载、抽象函数、虚函数。重点是函数重载及操作符重载。

(八)继承

这是本课程的难点之一,主要介绍类及对象之间的关系、要求掌握抽象类、封装类的使用,理解接口,掌握接口的使用。

(九)文件操作

介绍文本文件、二进制文件的读写操作。

(十)异常处理

介绍异常的种类、异常的处理、用户自定义异常。难点是用户自定义异常。

(十一)创建多线程程序

了解线程的概念,理解线程的生命周期,实现多线程、识别线程的优先级、在线程中使用同步、识别进程间的通信。难点是多线程程序的实现。

(十二)委托和事件

介绍委托的定义及实现,理解单播委托和多播委托、使用带委托的事件。重点和难点是掌握事件的概念及使用。

(十三)属性和反射

介绍属性的概念,要求学生能够使用预定义属性、创建自定义属性、命名自定义属性、使用反射抽取元数据。其中重点需要掌握属性的使用,难点是使用反射抽取元数据。

(一)常用Windows控件

掌握常用Windows控件的使用;了解事件处理程序;会使用列表框和组合框创建列表;会创建图形用户界面。

(二)与用户交互

掌握通用对话框的使用;熟悉设计自定义对话框;掌握菜单与工具栏的使用;了解状态条和多文档窗口的使用。

(三)使用ADO.NET进行数据库编程

了解ADO.NET类库结构;了解有连接与无连接两种数据库读取方式;掌握使用DataReader与DataAdpater读取与更新数据的方法;掌握DataGrid的使用。

本课程开设以下实验:

序号

实验项目

学时分配

目的与要求

1

使用VisualStudio.NET集成开发环境

2

掌握开发工具的使用,熟悉软件开发过程,会进行简单的界面设计。

小型简单应用程序设计

熟悉C#数据类型和调试程序方法,会进行简单应用程序设计

3

分支、循环程序设计

掌握分支、循环程序设计方法

4

方法、数组的定义与使用

掌握方法、数组的定义与使用,能恰当地定义方法完成应用程序设计

5

面向对象编程基础

掌握类的设计与实现,会应用类进行小型应用程序开发

6

抽象和封装

掌握类的定义与方法的重载,掌握使用类进行数据封装。

7

类的继承性的应用

掌握类的继承性的实现(派生类的定义和实现),会使用类继承来扩展类的设计;理解虚函数在继承层次中的作用

8

类的多态性的应用

理解类的多态性(成员方法重载、构造方法重载)

9

接口的编程

了解接口的定义、接口和抽象类的异同;掌握接口方法的实现、接口方法的重定义

10

简单文本编辑器的实现

熟悉File类和Directory类的常用属性和方法,掌握使用StreamReader类和StreamWriter类读写文本文件

11

异常处理

掌握异常抛出和捕捉语句;理解专有catch块的作用;理解异常对象和自定义异常

12

创建多线程程序

了解线程的生命周期;理解进程的优先级和进程间的通信;掌握多线程程程序的实现

13

委托和事件

了解委托的概念;掌握委托和多重委托的应用;理解事件的定义和应用

14

属性和反射

掌握属性的定义和使用;使用反射抽取元数据

1.本课程教学内容采用模块结构,包括基础模块和实践教学模块。

2.教学建议

(1)讲授要注重理论联系实际。

(2)运用多模式教学法,理论课运用3W1H教学法,合理安排理论课、上机课、在线培训课和指导学习课。

学时分配建议(60课时)

模块

课程内容

学时数

讲授

实践教学

合计

总计

30

60

《C#程序设计》课程标准

一、适用专业

物联网专业。

第3学期

三、课程定位

1.课程性质

《C#程序设计》课程是3年制物联网专业的基于.NET开发平台进行岗位能力培养的一门专业课程。它是模拟团队开发模式和工作流程,将专业素养培养融入到加强基础知识、提升专业技能、综合应用这三个阶段中的一门集理论与实践为一体的综合能力培养的课程。

2.教学任务

本课程的主要任务是使学生掌握面向对象的程序设计技术和方法;熟悉.Net集成开发环境,能用C#语言设计控制台应用程序,用C#语言和.Net框架类库设计简单的Windows应用程序,具备开发和调试应用程序的能力,为从事软件研制开发打下基础。

学生学习了《C#程序设计》可以从事Windows(C#)桌面应用开发、数据库应用开发、信息管理系统开发、软件维护等对应岗位领域的工作;也可从事需求分析、系统设计、架构设计、WAP应用开发等拓展岗位领域的工作;还可从事软件销售、软件测试、系统支持、企事业单位信息化、文档管理等迁移岗位领域的工作。

四、课程培养目标

1.方法能力目标

(1)培养学生独立学习能力、自学能力;

(2)培养学生自我分析问题和解决问题的能力;

(3)培养学生获取新知识的能力和信息搜索能力;

(4)培养学生独立的决策能力。

(5)培养学生善于总结和创造性工作的能力。

(6)培养学生程序设计思想和软件规划和设计能力。

2.社会能力目标

(1)培养学生良好的自我表现、与人沟通能力;

(2)培养学生的团队协作精神;

(3)培训学生勇于创新、爱岗敬业的工作作风;

(4)培养学生的质量意识、安全意识;

(5)培养学生诚实、守信、坚忍不拔的性格;

(6)培养学生自主、开放的学习能力。

3.专业能力目标

(1)理解C#语言的基本概念、语法、语义和数据类型的使用特点;

(2)掌握面向对象的程序设计的方法;

(3)具有良好的程序设计风格;

(4)熟悉VS.NET的集成环境,能够编写简单的C#应用程序,并具有基本的纠错和调试程序的能力;

(5)能正确使用C#语言编写程序,具备一定的程序设计的方法及编程技巧;

(6)能运用C#开发简单的Windows桌面应用程序和数据库应用系统。

五、课程衔接

本课程的前导课程有《C语言程序设计》、《ACCESS数据库技术》。

六、教学内容与学时分配

教学学时数分配见表6.1所示

表6.1教学内容与学时分配

教学内容(项目、情景)

理论学时

实践学时

C#简介

0

判断

循环和数组

方法

类和对象

派生类

抽象类与接口

数据类型

枚举、集合、泛型

委托与事件

文件读写

常用控件

访问数据库

39

33

72

百分比

54%

46%

100%

七、课程实施和建议

7.1.1教学方法:

主要采用案例教学法与问题讨论法相结合。

1、用基于工作过程导向的案例教学法进行理论教学

教师充分备课,按教学内容及专业精心选择案例项目,对案例项目制作过程高度熟练,能循序渐进地引导学生理解项目制作的重点和难点,让学生掌握基本概念、基本理论和基本技能。

2、项目引导、任务驱动进行实践教学

针对不同专业及典型职业岗位有选择地、以实际工作过程的方式布置实践练习项目,学生通过认真阅读教材、老师指导、实际操作,进而掌握练习项目的基本内容以及重点和难点,并独立完成项目。教师通过“实践任务”来诱发、加强和维持学生的成就动机。成就动机是学生学习和完成任务的真正动力系统。任务作为学习的桥梁,“驱动”学生完成任务。任务驱动教学非常适合于实践性很强的课程,要求学生既要学好理论知识,又要掌握实际操作技能。任务驱动教学法加强学生理论联系实际,加深对计算机应用项目内容的理解,培养学生灵活运用所学知识的能力。

7.1.2教学手段

1、精心设计教学课件,通过创建典型案例情境,激发学生学习兴趣。

2、充分利用多媒体教学系统,进行课堂辅助教学。

(1)广播教学。在教师理论讲解及总结提高时,通过网络广播教学方式,可以让学生集中精力。

(2)个别辅导。在学生实践练习时,教师可以通过多媒体教学系统集中讲解学生遇到的问题,也可进行个别辅导。同时,教师也可以将学生优秀作品进行展示。

(3)作业收发。通过网络系统功能,可以快速下发实践任务及收取学生作业。

3、利用网络将课堂教学延伸到课外,学生根据需要通过网络学习有关的内容,促进学生自主学习。

4、通过认证,积极拓展教学第2课堂,培养学生研究性和创新性学习能力。

7.2.1课程考核方式

该课程的考核改变单一的终结性评价方法,采用过程考核和结果考核相结合、课程考试和技能考试相结合的方法,其中过程考核所占比例为30%。灵活多样的考核方式可以全面考核学生的学习效果。课程考核方式参见表7.2-1.。

表7.2-1课程考核方式

考核项目

考核方法

比例

过程考核

态度纪律

根据作业完成情况、课堂回答问题、课堂实践示范情况,由教师和学生干部综合评定学习态度的得分;

根据上课考勤情况,由教师和学生干部评定纪律得分

10%

课堂实践

根据学生实践情况,由学生自评、他人评价和教师评价相结合的方式评定成绩;

20%

结果考核

期末考试

由教师评定理论操作成绩

70%

7.2.2课程考核标准

态度纪律考核标准见表7.2-2。

表7.2-2态度纪律考核标准

考核点

考核比例

评价标准

优秀(86~100)

良好(70~85)

及格(60~69)

1.课堂学习

30%

没有缺勤情况;

能够爱护实训场地设备和卫生;

能积极主动地向老师提问,并正确回答问题

缺勤10%以下;

缺勤30%以下

能基本回答教师提问

2.课外学习

能按时完成课外拓展练习;

能积极参加网上讨论活动;

能积极主动地进行自我学习

能按时完成80%课外拓展练习;

能参加网上讨论活动;

能进行自我学习

能按时完成60%课外拓展练习;

3.小组学习

40%

能积极参加小组活动;

能主动代表小组参与小组间的竞赛;

能提出合理化的建议,积极组织小组学习活动;

能帮助或辅导小组成员进行有效的学习

能提出合理化的建议;

能帮助或辅助小组成员进行有效的学习

能参加小组活动;

能在小组成员的辅导下进行有效的学习

课堂实践考核标准参见表7.2-3。

表7.2-3课堂实践考核标准

1.操作应用能力

能综合运用本教学单元知识很好地完成课堂实践;

能熟练掌握程序设计语言的基本概念、特点、结构、原理及设计方法;

能熟练掌握经典案例;

能综合运用本教学单元知识地完成课堂实践;

能掌握程序设计语言的基本概念、特点、结构、原理及设计方法;

能基本掌握程序设计语言的基本概念、特点、结构、原理及设计方法;

2.创新能力

15%

能积极主动地发现问题、分析问题和解决问题;

有创新;

采用了优化方案

能发现问题并通过各种途径解决问题;

有一定的创新

能发现问题并在他人的帮助下解决问题;

局部方案有新意

3.表达能力

能对实践过程正确讲解;

能正确回答问题;

能辅导他人完成课堂实践

能较正确地对实践过程进行讲解;

能回答问题

能对实践过程进行讲解;

能回答部分问题

八、考核方式

课程考核方式见表8.1

8.1课程考核方式

比例(%)

根据作业完成情况、课堂回答问题、考勤情况评定成绩

中考

1.根据学生实践动手能力情况、参与情况评定

考试(机试)

机试,完成独立功能的应用程序

九、课程资源的选用

1、教材选用

《C#程序设计》清华大学出版社。2014年1月。

2、参考资料

3、教学场地、设施要求

本课程要求在理论实践一体化教室(多媒体教室)完成,以实现“教、学、做”三位合一,同时要求安装多媒体教学软件,方便下发教学任务和收集学生课堂实践任务。

THE END
1.掌握开发工具,迈向高效编程腾讯云开发者社区一、选择合适的工具 1、代码编辑器与IDE Visual StudioCode(简称VS Code): 是一款深受欢迎的代码编辑器,因其开源、轻量级且功能强大而著称。VS Code 支持多款主流编程语言,包括但不局限于 JavaScript、Python、Java、C++ 和 C# 等,使得开发者能够灵活地适应不同项目需求。此外,它拥有丰富的插件生态,用户可以根据个https://cloud.tencent.com.cn/developer/article/2475824
2.2025年前端开发者必备的8大效率工具前端开发工具2025年前端开发者必备的8大效率工具 原文链接:8 Must-Have Productivity Tools for Frontend Developers in 2025 作者:respect17 译者:倔强青铜三 前言 大家好,我是倔强青铜三。我是一名热情的软件工程师,我热衷于分享和传播IT技术,致力于通过我的知识和技能推动技术交流与创新,欢迎关注我,微信公众号:倔强青铜三。欢https://blog.csdn.net/2301_79969095/article/details/144411582
3.码上去学海南公司:10款C++宝藏编程工具,新手必备!玩王者荣耀开局第一件事就是买装备,有杀手锏在手跟手无寸铁,战斗力自然不可同日而语。因此,想要做一个高质量程序员,必须要有趁手的工具。今天,码上去学海南公司给大家奉上10个程序员硬核工具,包括开发工具、文本编辑器、插件工具、搜索工具等,老少皆宜,助你成为同学们眼中真正的“王者”!1. Dev-C++ Dhttps://baijiahao.baidu.com/s?id=1808866050990207754&wfr=spider&for=pc
4.C#开发工具有哪些编程语言C#开发工具包括多种IDE和编辑器,旨在提高开发效率和代码质量。以下是一些推荐的C#开发工具: 集成开发环境(IDE) Visual Studio:微软开发的功能强大的IDE,支持C#、.NET等技术的开发,提供代码编辑、调试、编译、性能分析等一系列开发所需的功能。 Visual Studio Code:轻量级但功能强大的代码编辑器,支持C#等多种编程语言https://www.yisu.com/jc/929809.html
5.c语言在线开发工具腾讯云开发者社区“中小企业”在线学堂 昂贵、复杂、低效… 中小型企业如何破局数据技术栈困境? TAIC TAIC 自然语言处理专场 Elastic 中国开发者大会 Elastic 中国开发者大会 2021-分会场C 第136届广交会企业系列专题培训 广交会线上平台服务套餐能为企业带来什么? 发现教育新势力 2023第4期 https://cloud.tencent.com/developer/information/c%E8%AF%AD%E8%A8%80%E5%9C%A8%E7%BA%BF%E5%BC%80%E5%8F%91%E5%B7%A5%E5%85%B7-salon
6.码上去学海南公司:在线C/C++/Py编程?这也太炫酷了!盘点18款拿来就可用码上去学海南公司盘点18款拿来就可用的在线编译器! 1、Ideone Ideone是C / C ++,Java,PHP,Python,Perl和40+编译器和解释器,支持其他的60种语言。这个工具提供许多强大的功能,允许程序员快速高效的编译源代码。在编写轻量级代码的时候 再也不用考虑本地开发环境的搭建了https://zhuanlan.zhihu.com/p/703515952
7.c#开发工具有哪些?如何选择合适的C#开发工具?9. 跨平台开发工具:如.NET MAUI和Xamarin,它们允许开发者使用C#创建跨平台的移动和桌面应用。 10. 性能分析工具:如Visual Studio Profiler和JetBrains dotTrace,它们帮助开发者分析应用性能,找出性能瓶颈。 通过这些工具的辅助,C#开发者可以更加专注于代码逻辑的实现,同时确保代码的质量和应用的性能。 https://www.banlikanban.com/info/tool/toolchat/8483.html
8.csmono在线运行,在线工具,在线编译IDEApp下载 扫码下载编程狮APP 注册|登录 C# (Mono) 在线工具 479905AB1E2sable3varA Pear TreeActuallyAdd++AgonyALGOL 68 (Genie)AliceAlphuckanyfixAPL (Dyalog Unicode)APL (Dyalog Classic)APL (ngn-apl)ArchwayArchway2ArcyóuArnoldCAssembly (as, x64, Linux)Assembly (fasm, x64, Linux)Assembly (gcc, xhttps://www.w3cschool.cn/tryrun/runcode?lang=cs-mono
9.C#语言在线代码运行编译工具推荐在线编译工具支持Java、C++、C、Python、C#、PHP等37种开发语言在线运行/执行/调试测试。 在线数据库支持MS SQL Server、MySQL、Oracle、PostgreSQL等4种数据库SQL在线运行/执行/调试测试。 在线前端实用工具支持HTML、CSS、JS、格式化、压缩、编码解码、颜色转换、进制转换、二维码生成等31种前端实用工具在线使用。 https://www.jianshu.com/p/9b51d7e4b745
10.在线C#代码格式化美化工具代码工具这是一款比较简单实用的C#代码在线格式化美化工具,由脚本之家开发,该工具除了基本的C#代码一键格式化功能外,还具有demo代码示例、一键清空、选择缩进格式及保存格式化结果等功能,免费提供给需要的朋友使用。输入待格式化代码: 1 ? 输出代码: 1 ? 缩进方式: http://tools.jb51.net/code/csharp_format
11.开发者在线工具开发者在线工具为您提供json格式化,json代码压缩,json校验解析,json数组解析,json转xml,xml转json,json解析,json在线解析,json在线解析及格式化,unix时间戳转换,CSS美化压缩,json美化,json格式化输出,json数组,json实体类,json视图等https://tools.upx8.com/
12.C#格式化,C#代码美化C#格式化工具为您提供C#格式化,C#代码排版,C#在线格式化,C#代码美化,c#代码会由于缩进、间距以及其他格式原因而显得杂乱无章,在输入框输入混乱、压缩或混淆的C#代码,点击C#代码格式化按钮即可实现代码的格式化与美化功能,该工具使C#代码看起来更加漂亮且可读性更强、更容易编辑。一行https://tool.supercreator.cn/formatcs/
13.收集和总结C#/.NET/.NETCore基础知识学习路线开发实战【C#/.NET/.NET Core学习、工作、面试指南】记录、收集和总结C#/.NET/.NET Core基础知识、学习路线、开发实战、编程技巧练习、学习视频、文章、书籍、项目框架、社区组织、开发必备工具、技术前沿周刊、常见面试题、面试须知、简历模板、人才招聘、以及自己在学习和工作中的一些微薄见解。希望能和大家一起学习,共https://github.com/YSGStudyHards/DotNetGuide
14.C#在线运行,C#在线编译器它由微软(Microsoft)开发, 原本只适用于Windows操作系统后来.NET Core开始支持跨平台运行,开始适用于 windows、linux 和 macos 操作系统的免费、开源托管的计算机软件框架。 本C#运行环境正是基于Linux系统下的.Net Core运行。 在线编译运行工具 # 体验 c#在线运行工具 https://jsrun.net/t/c/123
15.C#代码在线格式化美化C#代码在线格式化美化工具 C#代码美化:输入混乱、压缩或混淆的C#代码,点击C#代码格式化按钮即可实现代码的格式化与美化功能 什么时候需要使用C#代码美化? 通常你的C#代码会由于缩进、间距以及其他格式原因而显得杂乱无章 这种情况常见于多个开发人员进行同一项目的开发过程中,因为大家往往都有着不同的排版格式,该工具有助https://www.gseen.com/online_tools/zip_format/beautify_CSharp
16.在线JSON校验格式化工具(BeJSON)在线,JSON,JSON 校验,格式化,xml转json 工具,在线工具,json视图,可视化,程序,服务器,域名注册,正则表达式,测试,在线json格式化工具,json 格式化,json格式化工具,json字符串格式化,json 在线查看器,json在线,json 在线验证,json tools online,在线文字对比工具https://www.bejson.com/
17.20个在线代码编辑器和开发工具Source 5. Amy Editor Amy Editor is a collaborative text and source code editor for developers. It support JavaScript, Ruby, PHP, C#, Java, HTML, YAML, etc… programming languages. It has Syntax Highlighting, Smart indentation for each language, Code folding, Unlimited undo/redo, Customizable http://www.360doc.com/content/15/0220/08/9200790_449544068.shtml
18.ASP.NETCore适用于.NET的开源Web框架使用C#、OpenAI 和 Azure 构建智能应用 什么是 ASP.NET Core? .NET 是一个开发人员平台,由工具、编程语言、库组成,用于构建许多不同类型的应用程序。 ASP.NET Core 通过专门用于生成 web 应用的工具和库扩展了.NET 开发人员平台。 更深入发掘: 什么是 ASP.NET Core? https://asp.net/
19.程序员工具程序员工具免费在线工具网站包含:在线开发工具,Linux在线命令,在线脑图,JSON代码格式化,PHP混淆/加密/解密工具,在线并发,在线JS/CSS/HTML格式化/压缩。 ,程序猿的在线工具箱https://tool.p2hp.com/
20.VisualStudioCodeC# Dev Kit Powerful tools for your C# environment MongoDB Extension for the @MongoDB agent GitHub Copilot for Azure Streamline the process of developing for Azure Remote Development Open folders in a container on a remote machine View 60k+ extensions in theExtension Marketplace https://code.visualstudio.com/
21.菜鸟工具菜鸟工具,为开发设计人员提供在线工具,网址导航,提供在线PHP、Python、 CSS、JS 调试,中文简繁体转换,进制转换等工具。致力于打造国内专业WEB开发工具,集成开发环境,WEB开发教程。..https://c.runoob.com/
22.Lightly:轻量且功能强大的集成开发工具(IDE)Lightly IDE支持Python/C/C++/Java/JavaScript/PHP/HTML等多种语言在线编程, 是一款功能强大的集成开发工具, 自动生成环境, 支持web端和桌面客户端代码编辑. 初学者和专业工程师可以在线写代码、编译、运行代码.https://lightly.teamcode.com/
23.开发工具:2022个人开发工具清单,你都用过吗?今天给大家分享一下作为一名资深程序员,日常常用的一些开发工具,相信有一些大家都经常用,有一些可能还没有用过,以下的10多个开发工具都是日常工作常用的,现在分享给大家,希望能给大家日常的办公、生活带来一些帮助,现在给大家逐一介绍。 1、谷歌浏览器 谷歌浏览器,相信大部分开发者首选的浏览器就是谷歌浏览器,它没有https://www.51cto.com/article/722104.html
24.九款让人惊艳的跨平台移动开发工具技术与平台控件新闻开发者们正利用这些方案构建企业级业务应用与跨平台混合应用,并将其交付至原生平台。另外,用户界面与Web应用框架亦在陆续亮相,帮助移动应用开发者们打造HTML 5移动应用与移动网站。本文将介绍九款可有效实现跨平台开发的各类工具、技术与平台。https://www.evget.com/article/2016/5/17/24099.html
25.netfiddle–Test your C# code online with .NET Fiddle code editor.https://www.dotnetfiddle.net/
26.sharpdevelop下载sharpdevelop的编辑器风格类似于我们用户经常使用的office以及VS.net,而且还支持用户编写C#,ASP.NET,HTML等多种代码,并且提供这些代码的语法高亮显示,让用户更加轻松的进行程序编写开发工作。 软件特色 1、很好很强大,灵活,能支持最新的SDK 2、适合初学者编码使用,其布局类似Java的开发工具IDEA https://www.32r.com/soft/15845.html