安徽国际商务职业学院
课 程 标 准
(二〇一五级)
专业类别 电子信息类
专业名称 物联网应用
专业代码 590129
所属系部 信息服务系
执 笔 人 周 成
主 审 人 杨 辉 军 徐 辉
教务处制
《C#语言程序设计》课程标准
(计算机应用技术专业、物联网专业适用 72学时)
第一部分 前言
本课程是高职计算机应用技术专业、物联网专业的一门专业技术课,通过本课程的学习,培养学生面向对象的程序设计能力,使学生具备一定的程序设计、编写等基础知识和相关的职业能力,培养学生初步具备专业开发过程中需要的基本职业能力,并为后续专业课程的学习做好前期准备。
C#是基于微软的下一代开发平台.Net的全新的面向对象的程序设计语言。C#支持分布式应用的开发,同时可开发任何古典风格的Windows程序,包括服务程序、图形程序、控制程序、普通组件和Web页面等。C#语言保持了C++语言的熟悉的语法的同时集成了Visual Basic语言的快速应用开发功能以及类似Java的与平台无关和即时编译特性,为程序的开发提供了更高的安全性、可靠性和稳定性。所以,学会C#在以后应用开发中可以缩短开发时间和降低培训费用,使源代码简洁明了,使开发者在开发过程得心应手。
一、 课程性质和任务
《C#语言程序设计》是计算机应用技术专业、物联网专业必修课程。本课程的教学目的为:1、了解和掌握.Net工具和平台开发环境,锻炼设计与调试程序的能力,为今后从事软件研发类工作打下坚实基础。2、学习面向对象的程序设计方法和技术;3、学习如何使用C#编写程序解决实际工程问题;
通过对本课程的学习,将引导学生逐渐掌握用C#语言设计控制台应用程序,用C#语言和.Net框架类库设计单独的、c/s结构或三层结构分布式的Windows应用程序,b/s结构分布式的Web应用程序的技术,以及设计最新的Web服务的技术。目标是能使学生胜任软件研发类岗位工作。
二、 基本理念
1.
突出学生主体,注重能力培养
《C#语言程序设计》面向计算机应用技术专业、物联网专业的学生,注重编程思想的培养的同时注重对程序设计的基本方法以及基本技能的学习,从而激发学生的学习主动性。锻炼和提高他们的实际编程操作能力,强化他们理论联系实际的能力,引导他们逐步掌握处理实际问题的能力,培养他们的创新精神。以磨练意志、扩展思维与视野、提高专业技能为基本目标。
本门课程在目标设定、教学过程、课程评价和教学资源的开发等方面都突出了以学生为
主体的思想。课程实施应成为学生在教师指导下的构架知识、提高技能、活跃思维、展现个性、和拓宽视野的过程。 2.
整合课程资源,提高学生自主学习的能力
充分利用现代化教学手段,不断改进教学方式,利用校园网的优势,我们将该课程的所有教学资源上网,与学生通过各种网络通讯工具进行随时互动交流,为学生提供了更为广泛的沟通渠道与环境。通过网络平台,学生可根据自身情况有重点地重复学习某些内容,可以得到模拟训练,可以最大限度地锻炼与提高他们的发现、分析和解决问题的能力,大大提高了课程学习的效率。 3.
运用灵活多变的教学手段,扩展学习渠道
与传统的“黑板+粉笔”的教学模式相结合,大量采用多媒体教学来提高C#课程教学效果。主要有2种多媒体教学环境:第一种是联机大屏幕投影的教室;第二种是现代化计算机机房。进一步提高了高职学生的综合素质,强化学生程序纠错能力和阅读计算机外文资料的能力。 4.
丰富多样的课程考核机制
本课程丰富多样的课程考核机制,包括:笔试+上机,旨在让学生更好的掌握理论和实践两种技能。同时,对加大对课程设计考核的力度。
三、 设计思路
本门课程在设计过程中,根据国家、各大中专院校对本门课程改革和变化的具体情况。以各专业化方向应共同具有的岗位职业能力为依据,根据学生的认知特点,采用递进结构展现教学内容,着重方法的同时重应用。本着宽基础、多方向的就业思路,跟据专业岗位群技能要求,从而确定教学内容、教学时数和教学方法。课程内容的学习,注重学生的实际应用能力的培养,重点培养与提高学生的认知、分析、解决问题的能力。本课程标准对知识目标描述使用了“了解、理解、掌握、灵活运用、解决”等目标动词,对能力目标描述使用了“使用”目标动词。
第二部分 课程目标
一、 总体目标
通过本门课的学习,能使学生熟悉面向对象程序设计的一些基本概念、基本理论和基本方法。熟练掌握C#语言的编程规范,形成面向对象的编程思想,能针对具体工程项目任务设计出高质量的程序代码。同时培养学生的辩证思维能力,强化学生的职业道德意识和职业素质养成意识。
二、 教学目标
(一) 基本知识教学目标
1.理解C#语言的基本概念、语法和数据类型的使用特点; 2. 熟练掌握面向对象的程序设计的方法。 3. 养成良好的代码编写即程序设计风格。
4. 熟悉VS.net的集成环境,能够编写简单的C#程序,并具有基本的纠错和调试程序的能力。 (二) 能力目标
1.掌握最基本算法的设计与实现方法;
2.掌握C#语言程序设计的方法及编程技巧,能正确使用C#语言编写程序; 3.针对实际的工程项目,能够设计出高质量的代码。 (三) 思想教育目标
1. 初步具备辩证思维的能力
2. 具有热爱科学、实事求是的学风和创新意识、创新精神。
3. 强化学生的职业道德意识和职业素质养成意识。
第三部分 内容标准及教学基本要求及理论知识部分
第1章 C#语言简介及运行环境
教学目的与要求:
1. C#的语言简介 2. C#运行环境 教学重点:
熟悉C#集成开发环境,Visual Studio 2005 集成开发环境。
教学内容:
1.1 C#语言简介 1.1.1 C#语言的起源
1.1.2 C#语言的应用 1.1.3 C#语言的特点 1.2 C#运行环境
1.2.1 .NET概述 1.2.2 .NET架构
1.2.3 Visual Studio 2005 项目 1.2.4 Visual Studio 2005 集成开发环境 1.2.5 第一个C#程序
思考题:
1. C#语言所具有的性能及特点?
2. C#集成开发环境都有哪些特性都能做些什么? 3. 编制自己的第一个C#程序,并调试运行。 4. 理解C#的是怎样运行的?
第2章 C#程序设计基础
教学目的与要求:
学习C#的语法结构。
教学重点:
C#数据类型和运算符和表达式。
教学内容:
2.1 标识符和关键字 2.2 常量和变量 2.2.1 常量
2.2.2 变量 2.3 数据类型
2.3.1 值类型 2.3.2 引用类型 2.4 类型转换
2.4.1 隐式转换 2.4.2 显式转换 2.4.3 ToString方法 2.4.4 Convert类 2.5 装箱与拆箱 2.6 表达式与运算符
2.6.1 表达式 2.6.2 运算符
2.6.3 运算符与优先级 2.7 程序流程控制
2.7.1 顺序结构 2.7.2 选择结构 2.7.3 循环结构
思考题:
1. 常量与变量有什么区别? 2. 什么是装箱和拆箱?
3.值类型和引用类型的区别和联系? 4.C#都有哪些运算符,它们都怎么用?
第3章 排序与查找
教学目的与要求:
学习使用C#语言描述描述排序和查找。 教学重点:
排序和查找的基本思想及其C#编程实现。
教学内容:
3.1 排序
3.1.1 直接插入排序 3.1.2 冒泡排序 3.1.3 快速排序 3.2 查找
3.2.1 顺序查找 3.2.2 折半查找
思考题:
1. 什么是排序和查找?
2. 折半查找对查找的有序序列有什么要求?
第4章 面向对象基础
教学目的与要求:
从结构化的编程思想转换为面向对象的编程思想。深刻理解什么是类、对象、封装、继承、多态等一系列面向对象用语的含义。
教学重点:
使学生掌握面向对象的编程方式和思维方式。深刻理解封装、继承和多态,并学会具体的应用。
教学内容:
4.1 面向对象的概念 4.2 类和对象
4.2.1 类和对象的概念 4.2.2 类的声明及类成员 4.2.3 构造函数和析构函数 4.3 属性和索引 4.3.1 属性 4.3.2 索引 4.4 方法
4.4.1 方法的定义
4.4.2 方法中的字段 4.4.3 实例方法与静态方法 4.4.4 方法的参数 4.5 重载
4.5.1 重载方法 4.5.2 重载操作符
思考题:
1. 什么是面向对象?它和结构化的编程思想有什么不同? 2. 深刻理解类、对象?
第5章 C#面向对象编程
教学目的与要求:
在继承机制的基础上理解抽象类和密封类、多态、泛类型、接口、迭代器、委托、事件及匿名方法。
教学重点:
理解象类和密封类、多态、泛类型、接口、迭代器、委托、事件及匿名方法。
教学内容:
5.1 继承
5.1.1 继承的定义 5.1.2 重写 5.2 抽象和密封 5.2.1 抽象类 5.2.2 密封类 5.3 多态
5.3.1 多态性定义 5.3.2 多态性应用 5.4 泛型 5.4.1 泛型的引入 5.4.2 泛型的创建和使用
5.4.3 泛型类成员 5.5 接口
5.5.1 定义接口 5.5.2 实现接口 5.6 迭代器 5.6.1 定义迭代器 5.6.2 实现迭代器 5.7 委托 5.7.1 定义委托 5.7.2 实例化委托 5.7.3 多重委托
5.7.4 委托作为参数和返回值 5.8 匿名方法 5.9 事件
5.9.1 定义事件 5.9.2 订阅事件 5.9.3 事件的使用
思考题:
1.抽象类和接口有什么不同? 2.重写和重载的区别是什么?
第6章 软件开发过程与调试
教学目的与要求:
了解软件开发与调试过程,熟悉异常处理机制以及如何用其设计出健壮、安全软件。
教学重点:
在实践中掌握各种程序调试方法。
教学内容:
6.1 开发过程概述
6.1.1 开发前的准备工作 6.1.2 软件开发过程 6.1.3 软件开发后的工作 6.2 调试与测试 6.2.1 程序调试 6.2.2 软件质量与测试 6.3 异常与异常处理 6.3.1 异常处理概述 6.3.2 异常处理语句 6.3.3 使用throw语句
思考题:
1.什么是黑盒测试和白盒测试? 2.为什么要使用异常处理?
第7章教学目的与要求:
C#的读写操作。
教学重点:
C#的读写操作。
教学内容:
7.1 文件和流 7.2 文件存储管理 7.2.1 文件管理 7.2.2 目录管理 7.2.3 Path类 7.3 读写文件
7.3.1 FileStream类 7.3.2 读写文件 7.4 异常文件操作
文件操作
思考题:
1.如何将文件读取到内存?
2.如何将从内存中的文件写出到具体的文件? 3.如何按字符流读取文件?
第8章 可视化应用程序设计
教学目的与要求: Windows窗体和控件。 教学重点:
熟练掌握Windows窗体编程思想;认识都有什么控件,各种控件的应用。
教学内容:
8.1 Windows窗体
7.1.1 创建Windows窗体 7.1.2 Windows窗体的基本属性 8.2 常用的Windows控件 8.2.1 按钮控件 8.2.2 标签控件 8.2.3 文本框控件
8.2.4 单选按钮和复选框控件 8.2.5 面板控件和分组框控件 8.2.6 图片框控件 8.2.7 列表框控件 8.2.8 组合框控件 8.3 对话框控件
8.3.1 消息框
8.3.2 “打开”和“另存为”对话框 8.3.3 “颜色”对话框 8.3.4 “字体”对话框
8.4 综合实例
8.4.1 设计用户界面 8.4.2 程序设计 8.4.3 总结
思考题:
1. C#中都有哪些常用控件,各种控件是怎样应用的? 2. 列表框控件有什么作用和特点? 3. 理解Windows窗体编程的思想?
第9章 数据库基本操作
教学目的与要求:
熟练掌握对数据库的操作。
教学重点:
ADO.NET的应用。
教学内容:
9.1 SQL Server 2005数据库
9.1.1 建立SQL Server 2005数据库表 9.1.2 SQL Server 2005数据库基本操作 9.2 ADO.NET简介 9.3 ADO.NET对象
9.3.1 Connection对象 9.3.2 Command对象
9.3.3 DataReader对象 9.3.4 DataAdapter对象 9.3.5 DataSet对象
9.3.6 数据绑定控件 9.4 应用举例
思考题:
1.C#与数据库之间的区别? 2. ADO.NET是什么?它有什么用?
实践教学
一、实验教学
主要根据《实验教学大纲》及《实验指导书》的内容要求,以培养学生的独立思考能力与动手能力为主导原则,由学生独立上机调试程序,解决实际问题,并辅以必要的教师辅导。要求学生通过实验能够对课堂讲授内容进行验证、设计或综合运用,从而进一点加深知识的理解与掌握。
二、实验报告
学生上机结束后,整理出实验报告,实验报告的内容应包括:题目、程序清单、运行结果及对运行情况的分析和上机体会。
三、课程设计
加强课程设计的力度,同时组织课程设计大赛,评选出优秀的作品。
四、课后思考题
对同一个任务,让学生思考不同的解题思路,从而更好的培养编程思想的形成。
第四部分 考核部分
一、 考核办法
平时考勤及表现:随堂。(占最终合成成绩20%) 理论教学的考核办法:闭卷、笔试。(占最终合成成绩40%) 实践教学的考核办法:上级考试 (占最终合成成绩40%)
二、 教学参考书目
1、《C# 入门经典》,Karli Watson等著 康博译,清华大学出版社,2002.4 2、《C# 高级编程》,Simon Robinson著,清华大学出版社,2002.1
第五部分 学时分配表
各章课时分配表
章序 第1章 第2章 第3章 第4章 第5章 第6章 第7章 第8章 第9章 内 容 第1章 C#语言简介及运行环境 第2章 C#程序设计基础 第3章 排序与查找 第4章 面向对象基础 第5章 C#面向对象编程 第6章 软件开发过程与调试 第7章 文件操作 第8章 可视化应用程序设计 第9章 数据库基本操作 合计
理论课时 2 4 4 4 6 2 4 6 4 36 实验课时 2 4 4 4 6 2 4 6 4 36 附件:
《C#程序设计语言》实验大纲
实验一:Visual Stdio.NET及C#的安装与启动
一、实验目的:
学会.net的安装和启动。 二、实验内容:
(1)Visual Stdio.NET及C#的安装。 (2)启动和退出C#.NET。
(3)熟悉C#.NET集成开发环境。 ①了解各功能菜单的菜单命令;
②显示所有的可见窗口和所有工具栏,然后再将上述窗口和工具栏隐藏起来; ③了解工具箱中有哪些主要控件。 (4)编出第一个简单C#程序。 三、实验要求:
1.写出C#安装的步骤。 2.写出启动C#有几种方式。
3.写出C#环境都包括那些部分内容,各自有什么公用? 4.写出C#的”hello world!” 程序。
实验二:C#中的变量和表达式
一、实验目的:
了解C#中简单的语法知识。 二、实验内容:
自己编制相应的小程序,练习以下内容:
(1)掌握C#的数据类型。 (2)掌握C#的常量和变量。
(3)掌握c#的表达式和运算符的使用。 (4)继续熟悉C#.NET集成开发环境。 三、实验要求:
写出自己编写的小程序,并且对实验结果给出评论。
实验三:结构化编程
一、实验目的:
掌握结构化编程的思想。 二、实验内容:
(1)掌握结构化程序设计的基本概念(顺序、选择、循环)。
(2)掌握条件语句的使用。 (3)掌握循环语句的使用。 (4)掌握分支语句的使用。
(5)掌握跳转语句和异常结构处理的使用。 三、实验要求:
编写各种运行语序的实例并写出实验报告。
实验四:数组和结构类型的应用练习
一、实验目的:
掌握数组和结构类型的特性和使用规律。 二、实验内容:
(1)掌握一维数组和二维数组的使用。 (2)掌握结构的使用。 (3)掌握枚举的使用。
(4)掌握常用的数据结构及算法的使用。 三、实验要求:
编写各种运行语序的实例并写出实验报告。
实验五:面向对象编程
一、实验目的:
掌握面向对象的编程思想和编程手段。 二、实验内容:
(1)掌握类和对象的使用。
(2)掌握方法、属性、索引和事件的使用。 (3)掌握构造函数和析构函数的使用。 (4)掌握继承、接口、代理和事件的使用。 三、实验要求:
编写各种运行语序的实例并写出实验报告。
实验六:视窗程序编制实验
一、实验目的:
明确视窗、数据库和程序代码的协作模式,熟练掌握视窗程序编制。 二、实验内容:
(1)掌握Windows窗体的基本属性、事件和方法的使用。 (2)掌握控件(Contr01)的基本属性、事件和方法的使用。
(3)掌握常用控件(按钮、标签、文本框、单选按钮、复选框、面板、分组框、图形框、列表框、带复选框的列表框、组合框、滚动条、定时器、月历、日期,时间和超链接标签)的具体使用。 三、实验要求:
编写各种运行语序的实例并写出实验报告。
实验七:文件操作
一、实验目的:
练习通过C#程序对文件进行读取、写入。 二、实验内容:
(1)了解文件的概念。
(2)掌握文件读和写的使用。 (3)用文件来实现链表算法。 三、实验要求:
编写各种运行语序的实例并写出实验报告。
实验八:数据库操作
一、实验目的:
学会连接数据库和操作数据库。 二、实验内容:
(1)建立SQL Server 2005数据库表。
(2)掌握客户/服务器(C/S)模式编程概念。 (3)掌握ADO.NET的编程及绑定。 三、实验要求:
编写各种运行语序的实例并写出实验报告。
《C#程序设计语言》实验指导书
实验一(2学时)
1.实验题目 C#基础。 2.目的与要求
(1)Visual Stdio.NET及C#的安装。 (2)启动和退出C#.NET。
(3)熟悉C#.NET集成开发环境。 ①了解各功能菜单的菜单命令;
②显示所有的可见窗口和所有工具栏,然后再将上述窗口和工具栏隐藏起来; ③了解工具箱中有哪些主要控件。 (4)编出第一个简单C#程序。 3.注意事项
(1)做本实验前,先认真复习第1章的内容。 (2)第一个简单C#程序可用书中例子。
(3)将此程序编译运行,以体会c#编程平台。 (4)学会调用C#帮助(Help)的方法。
实验二(4学时)
1.实验题目
数据类型、常量、变量和表达式。 2.目的与要求
(1)掌握C#的数据类型。 (2)掌握C#的常量和变量。
(3)掌握c#的表达式和运算符的使用。 (4)继续熟悉C#.NET集成开发环境。 3.注意事项
(1)做本实验前,先认真复习第2章的内容。 (2)编程熟悉时可用书中的例子。
(3)将此程序编译运行,继续体会C#编程平台。
实验三(4学时)
1.实验题目 结构化程序设计。 2.目的与要求
(1)掌握结构化程序设计的基本概念(顺序、选择、循环)。 (2)掌握条件语句的使用。 (3)掌握循环语句的使用。
(4)掌握分支语句的使用。
(5)掌握跳转语句和异常结构处理的使用。 3.注意事项
(1)做本实验前,先认真复习第2章的内容。 (2)可分别用For和各种While、Until循环语句编写计算N!的程序,输入结果放在窗体上一个文本框中,并使用命令按钮来控制程序的执行。
(3)可设计一个程序,计算c=m!/n!(m--n)!。要求:两个文本框用于输入m,n值,用一个命令按钮控制计算的执行,n!用一个通用过程或函数实现。
(4)结构化程序设计概念、条件语句、分支语句、跳转语句和异常处理实验教学课时各2学时,循环语句实验教学课时4课时。
实验四(6学时)
1.实验题目
数组、结构、枚举、常用的数据结构及算法。 2.目的与要求
(1)掌握一维数组和二维数组的使用。 (2)掌握结构的使用。 (3)掌握枚举的使用。
(4)掌握常用的数据结构及算法的使用。 3.注意事项
(1)做本实验前,先认真复习第5章的内容。
(2)可以用书中“冒泡程序”的例子进行数组的实验。 (3)可以用书中顺序查找算法的例子进行结构的实验。 (4)可以用书中选择顺序算法的例子进行枚举的实验。
实验五(6学时)
1.实验题目 面向对象程序设计。 2.目的与要求
(1)掌握类和对象的使用。
(2)掌握方法、属性、索引和事件的使用。 (3)掌握构造函数和析构函数的使用。 (4)掌握继承、接口、代理和事件的使用。 3.注意事项
(1)做本实验前,先认真复习第6章的内容。
(2)可创建一个计算长方体体积的类,并生成一个对象测试所创建的类,再使用继承的方法,创建一个计算长方体质量的类。
(3)可以用书中例子进行接口、代理和事件的实验。
(4)面向对象类和对象的实验用4学时,方法、属性、索引和事件的实验用6学时,构造函数和析构函数的实验用4学时,继承、接口、代理和事件的实验用6学时。
实验六(4学时)
1.实验题目 C#的文件操作。 2.目的与要求
(1)了解文件的概念。
(2)掌握文件读和写的使用。 (3)用文件来实现链表算法。 3.注意事项
(1)做本实验前,先认真复习第8章的内容。
(2)可建立一个文本文件,编写使用传统的文件访问方法和System.IO模型来访问文件和修改文件的程序。
(3)可以用书中例子进行链表算法的实验。
实验七(6学时)
1.实验题目
可视化(Visual)程序设计。 2.目的与要求
(1)掌握Windows窗体的基本属性、事件和方法的使用。 (2)掌握控件(Contr01)的基本属性、事件和方法的使用。
(3)掌握常用控件(按钮、标签、文本框、单选按钮、复选框、面板、分组框、图形框、列表框、带复选框的列表框、组合框、滚动条、定时器、月历、日期,时间和超链接标签)的具体使用。 3.注意事项
(1)做本实验前,先认真复习第8章的内容。
(2)可以设计一个如图1所示的窗体用于显示学生成绩。该窗体中包含下拉列表框、组合框、标签、文本框和命令按钮。当选择某一班级和课程后,下面的文本框内显示相应的成绩。 (3)可以用书中例子进行其他控件的实验。
图1窗体示意图
实验八(4学时)
1.实验题目
客户/服务器(C/S)结构编程。 2.目的与要求
(1)建立SQL Server 2005数据库表。
(2)掌握客户/服务器(C/S)模式编程概念。 (3)掌握ADO.NET的编程及绑定。 3.注意事项
(1)做本实验前,先认真复习第9章的内容。
(2)前端用c#,运用ADO.NET连接后端的SQL Server 2005数据库。 (3)可以用书中例子进行C/S结构编程的实验。