一、课程性质、适用专业及层次
《C#程序设计》是三年制高职软件技术专业的一门专业基础必修课程,对学生进行基础性的、面向对象的程序设计训练,为学习后继课程做好铺垫,同时也为今后开发软件打下良好的基础。其任务是介绍面向对象程序设计的方法和C#语言的基本概念。课程教学目标是:使学生正确理解和掌握面向对象的基础理论和方法及面向对象的编程思想和技术,掌握C#特有的面向对象技术,培养学生的面向对象编程思想和兴趣,训练学生编程的实战能力。了解面向对象理论技术的发展趋势培养学生初步的科学研究素养。
本大纲适用于三年制专科层次。适用专业——软件专业。
二、课程教学目标
通过对《C#程序设计》理论和实践教学,应能使本专业的学生掌握面向对象程序设计的理论知识和应用技能,锻炼学生进行软件开发的能力。通过教学应使学生获得以下面向对象程序设计的知识和能力。
(一) 知识教学目标
1、理解并掌握面向对象程序设计的基本理论和方法;
2、熟悉C#语言的基本语法;
3、熟悉并掌握常用.NET类库和Windows控件的使用。
(二) 能力培养目标
1、能正确安装和配置.NET的运行环境,能独立完成教学基本要求规定的实验;
2、能熟练使用软件集成开发环境Visual Studio .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 | 使用Visual Studio .NET集成开发环境 | 2 | 掌握开发工具的使用,熟悉软件开发过程,会进行简单的界面设计。 |
2 | 小型简单应用程序设计 | 2 | 熟悉C#数据类型和调试程序方法,会进行简单应用程序设计 |
3 | 分支、循环程序设计 | 2 | 掌握分支、循环程序设计方法 |
4 | 方法、数组的定义与使用 | 2 | 掌握方法、数组的定义与使用,能恰当地定义方法完成应用程序设计 |
5 | 面向对象编程基础 | 2 | 掌握类的设计与实现,会应用类进行小型应用程序开发 |
6 | 抽象和封装 | 2 | 掌握类的定义与方法的重载,掌握使用类进行数据封装。 |
7 | 类的继承性的应用 | 4 | 掌握类的继承性的实现(派生类的定义和实现),会使用类继承来扩展类的设计 ;理解虚函数在继承层次中的作用 |
8 | 类的多态性的应用 | 2 | 理解类的多态性(成员方法重载、构造方法重载) |
9 | 接口的编程 | 2 | 了解接口的定义、接口和抽象类的异同;掌握接口方法的实现、接口方法的重定义 |
10 | 简单文本编辑器的实现 | 2 | 熟悉File类和Directory类的常用属性和方法,掌握使用StreamReader类和StreamWriter类读写文本文件 |
11 | 异常处理 | 2 | 掌握异常抛出和捕捉语句;理解专有catch块的作用;理解异常对象和自定义异常 |
12 | 创建多线程程序 | 2 | 了解线程的生命周期;理解进程的优先级和进程间的通信;掌握多线程程程序的实现 |
13 | 委托和事件 | 2 | 了解委托的概念;掌握委托和多重委托的应用;理解事件的定义和应用 |
14 | 属性和反射 | 2 | 掌握属性的定义和使用;使用反射抽取元数据 |
四、说 明
1. 本课程教学内容采用模块结构,包括基础模块和实践教学模块。
2. 教学建议
(1) 讲授要注重理论联系实际。
(2) 运用多模式教学法,理论课运用3W1H教学法,合理安排理论课、上机课、在线培训课和指导学习课。
学时分配建议(60课时)
模块 | 课 程 内 容 | 学 时 数 | ||
讲授 | 实践教学 | 合计 | ||
基 础 模 块 | (一).Net平台和开发工具应用简介 | 2 | 2 | 4 |
(二)C#语法、数据类型 | 2 | 2 | 4 | |
(三)流程控制介绍 | 2 | 2 | 4 | |
(四)数组、结构和枚举介绍 | 2 | 2 | 4 | |
(五)面向对象编程基础 | 2 | 2 | 4 | |
(六)抽象和封装 | 2 | 2 | 4 | |
(七)多态 | 4 | 4 | 8 | |
(八)继承 | 4 | 4 | 8 | |
(九)文件操作 | 2 | 2 | 4 | |
(十)异常处理 | 2 | 2 | 4 | |
(十一)创建多线程程序 | 2 | 2 | 4 | |
(十二)委托和事件 | 2 | 2 | 4 | |
(十三)属性和反射 | 2 | 2 | 4 | |
选 学 模 块 | (一)常用Windows控件 |
|
|
|
(二)与用户交互 |
|
|
| |
(三)使用ADO.NET进行数据库编程 |
|
|
| |
总 计 | 30 | 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教学内容与学时分配
序号 | 教学内容(项目、情景) | 理论学时 | 实践学时 | 合计 |
1 | C#简介 | 2 | 0 | 2 |
2 | 判断 | 2 | 2 | 4 |
3 | 循环和数组 | 4 | 2 | 6 |
4 | 方法 | 4 | 4 | 8 |
5 | 类和对象 | 5 | 5 | 10 |
6 | 派生类 | 5 | 5 | 10 |
7 | 抽象类与接口 | 3 | 3 | 6 |
8 | 数据类型 | 2 | 2 | 4 |
9 | 枚举、集合、泛型 | 3 | 3 | 6 |
10 | 委托与事件 | 2 | 2 | 4 |
11 | 文件读写 | 2 | 2 | 4 |
12 | 异常处理 | 1 | 1 | 2 |
13 | 常用控件 | 2 | 2 | 4 |
14 | 访问数据库 | 2 | 2 | 4 |
合 计 | 39 | 33 | 72 | |
百分比 | 54% | 46% | 100% |
七、课程实施和建议
7.1教学方法和教学手段
7.1.1教学方法:
主要采用案例教学法与问题讨论法相结合。
1、用基于工作过程导向的案例教学法进行理论教学
教师充分备课,按教学内容及专业精心选择案例项目,对案例项目制作过程高度熟练,能循序渐进地引导学生理解项目制作的重点和难点,让学生掌握基本概念、基本理论和基本技能。
2、项目引导、任务驱动进行实践教学
针对不同专业及典型职业岗位有选择地、以实际工作过程的方式布置实践练习项目,学生通过认真阅读教材、老师指导、实际操作,进而掌握练习项目的基本内容以及重点和难点,并独立完成项目。教师通过“实践任务”来诱发、加强和维持学生的成就动机。成就动机是学生学习和完成任务的真正动力系统。任务作为学习的桥梁,“驱动”学生完成任务。任务驱动教学非常适合于实践性很强的课程,要求学生既要学好理论知识,又要掌握实际操作技能。任务驱动教学法加强学生理论联系实际,加深对计算机应用项目内容的理解,培养学生灵活运用所学知识的能力。
7.1.2教学手段
1、精心设计教学课件,通过创建典型案例情境,激发学生学习兴趣。
2、充分利用多媒体教学系统,进行课堂辅助教学。
(1)广播教学。在教师理论讲解及总结提高时,通过网络广播教学方式,可以让学生集中精力。
(2)个别辅导。在学生实践练习时,教师可以通过多媒体教学系统集中讲解学生遇到的问题,也可进行个别辅导。同时,教师也可以将学生优秀作品进行展示。
(3)作业收发。通过网络系统功能,可以快速下发实践任务及收取学生作业。
3、利用网络将课堂教学延伸到课外,学生根据需要通过网络学习有关的内容,促进学生自主学习。
4、通过认证,积极拓展教学第2课堂,培养学生研究性和创新性学习能力。
7.2 教学评价
7.2.1课程考核方式
该课程的考核改变单一的终结性评价方法,采用过程考核和结果考核相结合、课程考试和技能考试相结合的方法,其中过程考核所占比例为30%。灵活多样的考核方式可以全面考核学生的学习效果。课程考核方式参见表7.2-1.。
表7.2-1 课程考核方式
考核项目 | 考核方法 | 比例 | |
过程考核 | 态度纪律 | 根据作业完成情况、课堂回答问题、课堂实践示范情况,由教师和学生干部综合评定学习态度的得分; 根据上课考勤情况,由教师和学生干部评定纪律得分 | 10% |
课堂实践 | 根据学生实践情况,由学生自评、他人评价和教师评价相结合的方式评定成绩; 根据完成的时间、功能的完善程序、是否有创新,由小组长评价和教师抽评相结合的方式评定成绩。 | 20% | |
结果考核 | 期末考试 | 由教师评定理论操作成绩 | 70% |
合计 | 100% |
7.2.2课程考核标准
态度纪律考核标准见表7.2-2。
表7.2-2 态度纪律考核标准
考核点 | 考核比例 | 评价标准 | ||
优秀(86~100) | 良好(70~85) | 及格(60~69) | ||
1.课堂学习 | 30% | 没有缺勤情况; 能够爱护实训场地设备和卫生; 能积极主动地向老师提问,并正确回答问题 | 缺勤10%以下; 能够爱护实训场地设备和卫生; 能积极主动地向老师提问,并正确回答问题 | 缺勤30%以下 能够爱护实训场地设备和卫生; 能基本回答教师提问 |
2.课外学习 | 30% | 能按时完成课外拓展练习; 能积极参加网上讨论活动; 能积极主动地进行自我学习 | 能按时完成80%课外拓展练习; 能参加网上讨论活动; 能进行自我学习 | 能按时完成60%课外拓展练习; 能参加网上讨论活动; |
3.小组学习 | 40% | 能积极参加小组活动; 能主动代表小组参与小组间的竞赛; 能提出合理化的建议,积极组织小组学习活动; 能帮助或辅导小组成员进行有效的学习 | 能积极参加小组活动; 能提出合理化的建议; 能帮助或辅助小组成员进行有效的学习 | 能参加小组活动; 能在小组成员的辅导下进行有效的学习 |
合计 | 100% |
课堂实践考核标准参见表7.2-3。
表7.2-3 课堂实践考核标准
考核点 | 考核比例 | 评价标准 | ||
优秀(86~100) | 良好(70~85) | 及格(60~69) | ||
1.操作应用能力 | 70% | 能综合运用本教学单元知识很好地完成课堂实践; 能熟练掌握程序设计语言的基本概念、特点、结构、原理及设计方法; 能熟练掌握经典案例; 能在规定的时间内完成实践 | 能综合运用本教学单元知识地完成课堂实践; 能掌握程序设计语言的基本概念、特点、结构、原理及设计方法; 能在规定的时间内完成实践 | 能基本完成课堂时间; 能基本掌握程序设计语言的基本概念、特点、结构、原理及设计方法; 能在规定时间内完成实践 |
2.创新能力 | 15% | 能积极主动地发现问题、分析问题和解决问题; 有创新; 采用了优化方案 | 能发现问题并通过各种途径解决问题; 有一定的创新 | 能发现问题并在他人的帮助下解决问题; 局部方案有新意 |
3.表达能力 | 15% | 能对实践过程正确讲解; 能正确回答问题; 能辅导他人完成课堂实践 | 能较正确地对实践过程进行讲解; 能回答问题 | 能对实践过程进行讲解; 能回答部分问题 |
合计 | 100% |
八、考核方式
课程考核方式见表8.1
8.1课程考核方式
考核项目 | 考核方法 | 比例(%) | |
过 程 考 核 | 态度纪律 | 根据作业完成情况、课堂回答问题、考勤情况评定成绩 | 30% |
中考 | 1.根据学生实践动手能力情况、参与情况评定 2.根据任务完成的方法、创新、时间、质量、等方面评定。 | 30% | |
期 末 考 核 |
考试(机试)
| 机试,完成独立功能的应用程序 | 40% |
合计 | 100% |
九、课程资源的选用
1、教材选用
《C#程序设计》清华大学出版社 。2014年1月。
2、参考资料
C#资源网http://www.enet.com.cn/eschool/video/c_peng/
3、教学场地、设施要求
本课程要求在理论实践一体化教室(多媒体教室)完成,以实现“教、学、做”三位合一,同时要求安装多媒体教学软件,方便下发教学任务和收集学生课堂实践任务。
十、审核
专家组审核意见:
经审核,同意使用该课程标准。
签名:李梅
2015年1月5日 |
计算机类专业(课程)建设指导委员会审核意见:
经审核,同意使用该课程标准。
签名:曹炯清 2015年1月5日 |
院学术指导委员会审核意见:
经审核,同意使用该课程标准。
签名:严峥晖 2015年1月6日 |