《C#NET程序设计》教案设计.docx
- 文档编号:5254776
- 上传时间:2022-12-14
- 格式:DOCX
- 页数:53
- 大小:39.07KB
《C#NET程序设计》教案设计.docx
《《C#NET程序设计》教案设计.docx》由会员分享,可在线阅读,更多相关《《C#NET程序设计》教案设计.docx(53页珍藏版)》请在冰豆网上搜索。
《C#NET程序设计》教案设计
教案
2017~2018学年第1学期
院(系)
信息技术学院
教研室(研究所)
软件工程(软件外包方向)
课程名称
C#.NET程序设计
授课专业班级
软件工程(软件外包方向)2016级
主讲教师
王听忠
职称职务
副教授
使用教材
C#程序设计教程
二○一七年九月
第1次课的教学整体安排
授课时间
第1周第1-2节
课时安排
授课题目〔教学章、节或主题〕:
.NET与C#概述;简单的C#程序设计
教学目的、要求〔分掌握、理解、了解三个层次〕:
了解C#以与.NET的起源与开展,C#语言的特点。
了解C#安装的配置要求以与安装方法。
了解MicrosoftVisualStudio.NET运行环境。
观察学习运行几个C#程序。
教学内容〔包括根本内容、重点、难点〕:
1.对本门课程的要求。
●Readthemaster!
Notthepupil!
为什么要Readthemaster?
〔1〕Master的作品是一块新鲜的口香糖,Pupil的是已经嚼过一遍的口香糖;〔2〕准确性。
Master的理解更透,往往更准确;〔3〕品味。
Master的品味更高。
〔4〕易读性。
大师并非如我们所想的那么难以接近,相反,大师的作品有时更细致,写的更准确,文笔也更好,更有条理,我们理解的更顺利。
●要求记笔记,学期中进展检查。
为什么要记笔记?
在整个大学学习阶段,乃至于以后的学习工作中,我们要善于积累、收集。
好的方法、思路、算法、文章等都是收集的对象,收集得越多,“财富〞就越多,如果大学期间没有收集到这些东东,那就入宝山而空回。
做笔记,是我们积累的一种方式,应该养成这样的习惯。
●多练习,多实践。
“纸上得来终觉浅,绝知此事要躬行〞。
没有练习和实践,对很多知识点的理解都是肤浅甚至等于无。
注意我们课本有“习题〞和“实验〞。
●写Email的根本要求!
2.C#概述:
课本P1-P2。
3..NET平台概述。
课本P2-P7。
.NET框架组成图〔课本P3〕非常重要。
平台的几个重要的部件如下。
(1)公共语言运行库〔CLR〕。
(2)根本类库。
(3)ADO.NET。
(4)WindowsForms。
(5)WebForms/WebService。
4..NET程序的编译过程。
课本P5-P6。
5.开发环境VisualStudio.NET的安装和简介。
6.C#程序:
控制台程序,例2.1。
课本P25-P27。
学生自行输入。
简单介绍控制台应用程序构成。
课本P27-P29。
7.输入和输出。
P30。
8.C#程序:
Window程序,例2.2。
对话框HelloWorld。
学生自行输入。
简单介绍Windows程序构成。
课本P34-P35。
讨论、思考题、作业:
课后作业:
安装MicrosoftVisualStudio.NET,并写下安装过程中碰到的一些问题和解决方法。
参考资料〔含参考书、文献等〕:
李春葆等,C#程序设计教程,清华大学,2009
万科,覃剑,VisualC#.NET程序设计根底与上机指导,清华大学,2007
实施情况与分析
教学过程设计:
复习_____分钟,授新课_70__分钟,安排讨论__20_分钟,布置作业____分钟
授课类型〔请打√〕:
理论课√讨论课□实验课□练习课□其他□
教学方式〔请打√〕:
讲授√讨论□指导□其他□
教学资源〔请打√〕:
多媒体√模型□实物□挂图□音像□其他□
填表说明:
1.每项页面大小可自行添减;
2.教学内容与讨论、思考题、作业局部可合二为一。
第2次课的教学整体安排
授课时间
第1周第3-4节
课时安排
授课题目〔教学章、节或主题〕:
数据类型,常量和变量,表达式和练习。
教学目的、要求〔分掌握、理解、了解三个层次〕:
掌握C#的数据类型。
理解C#的变量、常量。
掌握C#的运算符和表达式。
教学内容〔包括根本内容、重点、难点〕:
1.标识符。
P37-P38。
只能含有数字,字母和下划线,并且不能以数字开头。
严格区分大小写。
不能与C#关键字同名。
C#关键字P38,每一个人应该保存一份!
2.数据类型:
首先,C#的数据类型实际上不单单是C#的数据类型值,它们首先是.NET的数据类型。
这里展示了微软.NET设计一统江湖的雄心。
3.数据类型的分类:
从存储的角度分:
值类型和引用类型。
从使用的角度分:
简单类型和复合类型。
●值类型:
示意图3-1。
简单类型:
整数类型,字符类型,布尔类型,实数类型。
注意每一个类型的名字,对应的.NET公用类型系统名,所占用内存空间,以与取值X围。
思考:
C#的类型跟C的类型有什么不同?
程序设计语言的整数类型跟数学里面的整数集合有什么不同?
实数类型跟实数集合呢?
关于类型的存储空间大小和精度:
用尺子来做比喻。
为什么decimal的位数更多,但是表示X围却小很多?
枚举类型:
仅要求了解。
结构类型:
仅要求知道。
●引用类型:
数组,字符串,类,接口…
4.变量和常量。
直接常量或字面常量:
直接写出值来的量。
注意〔1〕整数和浮点数直接常量后缀的使用;〔2〕字符常量的转移字符;〔3〕字符串常量的转义字符和逐字字符串。
符号常量:
用符号表示一个常量,其值定义以后不能再改变。
变量:
是一个程序运行过程中可以改变的值。
已命名的存储单元。
必须先声明后使用。
注意变量的有效X围是在定义它的模块里面。
而模块是通过“{〞和“}〞界定的。
5.类型转换:
隐式转换和显式转换。
课本P48-P49。
6.表达式。
操作数+运算符构成表达式,表达式构成语句。
程序就是这样搭建出来的!
所以,首先我们关心运算符!
7.堂上练习。
实验3-4。
课本P69。
讨论、思考题、作业:
参考资料〔含参考书、文献等〕:
李春葆等,C#程序设计教程,清华大学,2009
万科,覃剑,VisualC#.NET程序设计根底与上机指导,清华大学,2007
实施情况与分析
教学过程设计:
复习_____分钟,授新课_60__分钟,安排讨论__30_分钟,布置作业____分钟
授课类型〔请打√〕:
理论课√讨论课□实验课□练习课□其他□
教学方式〔请打√〕:
讲授√讨论□指导□其他□
教学资源〔请打√〕:
多媒体√模型□实物□挂图□音像□其他□
填表说明:
1.每项页面大小可自行添减;
2.教学内容与讨论、思考题、作业局部可合二为一。
第3次课的教学整体安排
授课时间
第2周第1-2节
课时安排
授课题目〔教学章、节或主题〕:
运算符和表达式;C#的控制语句。
教学目的、要求〔分掌握、理解、了解三个层次〕:
1.掌握C#的各种运算符。
2.理解运算符优先级。
教学内容〔包括根本内容、重点、难点〕:
1.运算符
●算术运算符。
跟普通的数学运算类似。
注意〔1〕运算数的类型,尤其是“/〞号和“%〞号;〔2〕递增和递减符号。
●字符串运算符。
●赋值运算符。
简单赋值就是等于号,把右边的表达式运算所得的值赋给左边。
复合赋值,把x=x+3写成x+=3。
●关系运算符。
其实是所谓的“序〞关系。
即一个集合里面的元素有一个排序,两两之间可以比拟。
对于数而言,就是大于,小于和等于,还有它们的组合,否认。
关系运算符作用于数值类型,结果是布尔类型。
●逻辑运算符。
对布尔类型进展运算,得布尔类型。
与、或、非操作。
注意“&〞和“&&〞的区别,所谓短路特征。
●位运算符。
例3.4。
应用例子:
〔1〕按位异或可用于加密;〔2〕移位运算等于乘以或除以2的整次幂。
●条件运算符。
唯一一个三元运算符。
跟C语言的一样。
●其他运算符。
●运算符的优先级与结合顺序。
什么叫优先级?
参看表2-9。
我们从小所学的先乘除,再加减就是优先级的一个例子。
一个例子可以简单说明算术运算,关系运算和逻辑运算的优先级:
。
结合顺序。
比拟古文和现代文的书写方向!
注意那些从右到左结合的运算符!
典型的例子就是
。
●表达式中的类型转换。
与前面所说的运算符要考虑运算数相结合。
2.常用类和结构。
●String类:
详细讲。
●Math类:
略讲。
●Convert类:
略讲。
●DateTime结构:
略讲。
3.堂上练习:
把例子2-1用if-elseif的形式重写一遍。
讨论、思考题、作业:
参考资料〔含参考书、文献等〕:
李春葆等,C#程序设计教程,清华大学,2009
万科,覃剑,VisualC#.NET程序设计根底与上机指导,清华大学,2007
实施情况与分析
教学过程设计:
复习_____分钟,授新课_60__分钟,安排讨论__30_分钟,布置作业____分钟
授课类型〔请打√〕:
理论课√讨论课□实验课□练习课□其他□
教学方式〔请打√〕:
讲授√讨论□指导□其他□
教学资源〔请打√〕:
多媒体√模型□实物□挂图□音像□其他□
填表说明:
1.每项页面大小可自行添减;
2.教学内容与讨论、思考题、作业局部可合二为一。
第4次课的教学整体安排
授课时间
第2周第3-4节
课时安排
授课题目〔教学章、节或主题〕:
C#的控制语句〔2.6〕;数组。
教学目的、要求〔分掌握、理解、了解三个层次〕:
掌握C#分支〔选择,条件判断〕语句。
掌握C#的循环语句while,do…while和for。
掌握C#的break和continue跳转语句。
理解数组的定义,存储。
教学内容〔包括根本内容、重点、难点〕:
1.选择语句。
●If语句。
〔1〕if;〔2〕if-else;〔3〕if-elseif;〔4〕嵌套的if,这里要讲一下就近原如此和“{}〞的使用,以例4.4的代码为例子。
●Switch语句。
注意〔1〕break语句;〔2〕default语句;〔3〕case后面的表达式。
2.循环控制语句。
●While语句,例4.6。
●Do-while语句,例4.7。
●For语句,例4.8。
3.跳转语句。
Break,continue和return语句。
●Break。
用于循环语句或者switch语句。
直接跳出本循环,到循环语句的下一条语句。
例如,找出一个愿意帮我忙的学生。
●Continue。
只能用于循环语句。
跳出本轮循环。
例如,找出所有愿意帮我忙的学生,并给每一个愿意帮助的学生分配任务。
●Return。
用于完毕一个方法。
观察例子2-10。
4.Goto语句。
不建议使用。
5.一维数组。
不需要在声明的时候指定大小。
用new运算符来创建数组实例。
〔跟C语言比照〕
数组的初始化。
注意四种不同的形式!
〔1〕全部写全;〔2〕省略数组大小;〔3〕右边集合形式;〔4〕声明和初始化分开写。
访问:
数组名[下标]。
例2-14。
讨论、思考题、作业:
参考资料〔含参考书、文献等〕:
李春葆等,C#程序设计教程,清华大学,2009
万科,覃剑,VisualC#.NET程序设计根底与上机指导,清华大学,2007
实施情况与分析
教学过程设计:
复习_____分钟,授新课_60__分钟,安排讨论__30_分钟,布置作业____分钟
授课类型〔请打√〕:
理论课√讨论课□实验课□练习课□其他□
教学方式〔请打√〕:
讲授√讨论□指导□其他□
教学资源〔请打√〕:
多媒体√模型□实物□挂图□音像□其他□
填表说明:
1.每项页面大小可自行添减;
2.教学内容与讨论、思考题、作业局部可合二为一。
第5次课的教学整体安排
授课时间
第3周第1-2节
课时安排
授课题目〔教学章、节或主题〕:
数组:
一维数组,二维数组和交叉数组。
〔5.1-5.3〕
教学目的、要求〔分掌握、理解、了解三个层次〕:
1.掌握一维数组的定义、初始化和访问。
2.掌握二维和多维数组数组的定义,二维数组的初始化和访问。
3.了解交叉数组的定义,初始化和访问。
4.理解Array类的概念。
5.了解Array类的Length属性和GetLength方法。
6.初步掌握前面所学知识的应用。
教学内容〔包括根本内容、重点、难点〕:
1.一维数组
●定义〔声明〕:
数据类型[]数组名;
●初始化:
课本P86。
注意多种初始化方式。
(1)动态初始化:
使用new关键字;
(2)静态初始化:
直接用等号。
●访问:
下标访问,注意越界问题。
●Foreach语句。
2.二维数组——矩阵
●声明与数组对象创建。
数据类型[,]数组名;
●初始化:
比拟多种初始化方式:
〔1〕动态初始化;〔2〕静态初始化。
●访问。
3.多维数组与交织数组
(1)多维数组声明:
type[,,,]数组名;
(2)交织数组如此是:
〔P91,注意多种初始化方法〕
type[][][]数组名;
(3)多维数组的创建:
数组名=newtype[s1,s2,s3];
(4)不规如此数组的创建:
数组名=newtype[3][];
数组名[0]=newtype[4];
数组名[1]=newtype[2];
数组名[2]=newtype[5];
●初始化。
多维数组同样有四种形式的初始化。
〔1〕全部写全;〔2〕省略数组大小;〔3〕右边集合形式;〔4〕声明和初始化分开写。
不规如此数组的初始化通常是分步进展的。
●引用。
跟声明的形式对应,引用的形式多维数组和不规如此数组也有不同。
多维数组:
数组名[i1,i2,i3…]。
不规如此数组:
数组名[i1][i2][i3]…
4.System.Array。
〔略讲〕
学生自己调试例5.3。
以例5.3说明几个特点。
(1)随机数。
(2)排序方法。
讨论、思考题、作业:
参考资料〔含参考书、文献等〕:
李春葆等,C#程序设计教程,清华大学,2009
万科,覃剑,VisualC#.NET程序设计根底与上机指导,清华大学,2007
实施情况与分析
教学过程设计:
复习_____分钟,授新课_60__分钟,安排讨论__30_分钟,布置作业____分钟
授课类型〔请打√〕:
理论课√讨论课□实验课□练习课□其他□
教学方式〔请打√〕:
讲授√讨论□指导□其他□
教学资源〔请打√〕:
多媒体√模型□实物□挂图□音像□其他□
填表说明:
1.每项页面大小可自行添减;
2.教学内容与讨论、思考题、作业局部可合二为一。
第6次课的教学整体安排
授课时间
第3周第3-4节
课时安排
授课题目〔教学章、节或主题〕:
C#根底练习,程序的编译与调试。
〔12.1-12.2〕
教学目的、要求〔分掌握、理解、了解三个层次〕:
1.理解面向对象程序设计的思想。
2.理解对象的概念。
3.理解类的概念。
4.理解字段和属性。
教学内容〔包括根本内容、重点、难点〕:
1.错误分类〔P294〕。
〔1〕语法错误;〔2〕执行错误——通常导致“异常〞;〔3〕逻辑错误。
2.程序调试〔P298〕。
●开始调试
●断点
●定位错误
●调试过程
●单步跟踪
3.练习。
讨论、思考题、作业:
参考资料〔含参考书、文献等〕:
李春葆等,C#程序设计教程,清华大学,2009
万科,覃剑,VisualC#.NET程序设计根底与上机指导,清华大学,2007
实施情况与分析
教学过程设计:
复习_____分钟,授新课_60__分钟,安排讨论__30_分钟,布置作业____分钟
授课类型〔请打√〕:
理论课√讨论课□实验课□练习课□其他□
教学方式〔请打√〕:
讲授√讨论□指导□其他□
教学资源〔请打√〕:
多媒体√模型□实物□挂图□音像□其他□
填表说明:
1.每项页面大小可自行添减;
2.教学内容与讨论、思考题、作业局部可合二为一。
第7次课的教学整体安排
授课时间
第4周第1-2节
课时安排
授课题目〔教学章、节或主题〕:
面向对象程序设计根底:
根本概念,类。
〔6.1-6.2〕
教学目的、要求〔分掌握、理解、了解三个层次〕:
1.理解面向对象程序设计的思想。
2.理解对象的概念。
3.理解类的概念。
4.理解字段和属性。
教学内容〔包括根本内容、重点、难点〕:
1.本节课先讲思想以与以实际程序为例子说明问题。
但是关于编程的细节和具体的语法在下一节课作详细说明。
以3.5节的综合应用例子为贯穿几节课的例子。
2.面向对象的思想。
面向对象首先是一种思想。
对象,是现实世界的事物,或者是它们的抽象。
例子〔1〕汽车的例子;〔2〕iPhonev.s.Samsung;〔3〕学生成绩管理程序。
面向对象程序设计是一种基于结构分析的、以数据为中心的程序设计方法。
其总体思路是:
将数据以与处理这些数据的操作封装到一个称为类的数据结构中;在程序中使用的是类的实例,即对象。
3.过程性思想v.s.面向对象思想。
在程序设计中,为了共享,把某些常用功能设计成一个模块,比如说,一个函数,一个.h文件,一个dll文件。
在面向对象程序设计中,把这种思路贯彻到底,整个程序就由一个个称为类的功能模块构成。
4.对象的概念。
万物皆对象!
程序设计的对象,必然是现实世界的对象的抽象。
比如说一个学生,我们编写学生成绩管理程序的时候,只关心学生的某某,性别,年龄…等。
如果我们要抽调这个学生进学校田径队,那么我们关心他的百米跑速度,摸高等等。
不同的应用,关心的属性不同。
对象由状态和操作来描述。
还是以〔1〕汽车为例子。
汽车状态由各种属性来描述:
熄火状态,点火状态;车灯开,车灯关;倒车档,前进挡,停泊挡;目前的时速。
汽车的操作有:
踩油门,刹车,开灯,关灯。
操作会改变状态。
〔2〕学生成绩管理程序。
学生对象的状态和操作。
5.类的概念。
类,是对象的模板。
对象是生产出来的产品。
例如,汽车厂的设计图和具体生产出来的汽车。
又例如,学生成绩管理程序中,学生和课程类分别定义学生和课程,运用这些类我们可以具体定义学生对象和课程对象。
以学生成绩管理程序为例。
6.类的声明。
P104
访问修饰符:
表6.1。
注意此处有误!
类的修饰符不能够是protected和private。
缺省的类修饰符为internal。
7.类的成员。
字段:
字段是用来描述对象状态的。
属性。
方法:
方法是类的动作和功能。
成员的修饰符:
表6.3。
8.对象。
对象是基于类的具体实体。
也称为类的实例。
对象的声明和初始化。
P106。
访问对象的字段和方法。
P107。
例6.1,学生自行输入。
讨论、思考题、作业:
参考资料〔含参考书、文献等〕:
李春葆等,C#程序设计教程,清华大学,2009
万科,覃剑,VisualC#.NET程序设计根底与上机指导,清华大学,2007
实施情况与分析
教学过程设计:
复习_____分钟,授新课_60__分钟,安排讨论__30_分钟,布置作业____分钟
授课类型〔请打√〕:
理论课√讨论课□实验课□练习课□其他□
教学方式〔请打√〕:
讲授√讨论□指导□其他□
教学资源〔请打√〕:
多媒体√模型□实物□挂图□音像□其他□
填表说明:
1.每项页面大小可自行添减;
2.教学内容与讨论、思考题、作业局部可合二为一。
第8次课的教学整体安排
授课时间
第4周第3-4节
课时安排
授课题目〔教学章、节或主题〕:
面向对象程序设计根底:
根本概念。
〔6.3-6.4〕
教学目的、要求〔分掌握、理解、了解三个层次〕:
1.掌握构造函数和析构函数。
教学内容〔包括根本内容、重点、难点〕:
1.构造函数:
类相当于设计图纸,对象相当于产品,构造函数相当于生产过程,析构函数呢?
垃圾回收工作?
可以这样比喻。
P109。
声明和调用的格式,修饰符,命名规如此。
例6.2讲解。
注意构造函数同名的现象,这是所谓的重载〔overload〕。
2.析构函数。
P111。
示例6.3。
3.第6章练习。
讨论、思考题、作业:
参考资料〔含参考书、文献等〕:
李春葆等,C#程序设计教程,清华大学,2009
万科,覃剑,VisualC#.NET程序设计根底与上机指导,清华大学,2007
实施情况与分析
教学过程设计:
复习_____分钟,授新课_60__分钟,安排讨论__30_分钟,布置作业____分钟
授课类型〔请打√〕:
理论课√讨论课□实验课□练习课□其他□
教学方式〔请打√〕:
讲授√讨论□指导□其他□
教学资源〔请打√〕:
多媒体√模型□实物□挂图□音像□其他□
填表说明:
1.每项页面大小可自行添减;
2.教学内容与讨论、思考题、作业局部可合二为一。
第9次课的教学整体安排
授课时间
第5周第1-2节
课时安排
授课题目〔教学章、节或主题〕:
面向对象程序设计:
静态成员、属性和方法。
〔6.6,6.7〕
教学目的、要求〔分掌握、理解、了解三个层次〕:
1.理解静态成员。
2.理解属性的原理。
3.掌握属性的应用。
教学内容〔包括根本内容、重点、难点〕:
1.静态成员。
P111。
包括静态字段和静态方法,属于类所有。
2.静态字段。
P112。
静态成员有点类似C语言的公共变量。
例如在学生类中定义计算学生的数目的变量。
观察例6.4。
3.静态方法。
P113。
修改6.4成为6.5,说明静态方法和普通方法不同的获取方法。
〔对象名还是类名〕。
4.属性。
P115。
属性是什么?
举例子说明。
学生的年龄不可能是负数,所以我们可以用unsigned类型,但是学生的年龄一般不会超过100岁,这就没有方法用类型来限定了。
这个时候引入了属性的概念。
属性是一个比拟麻烦的东西。
很多时候我们编程都偷懒不用属性,但是微软.NET的根底类几乎所有的状态描述都是用属性来实现的。
还是以学生类为例子。
再举一个实际例子:
电视机的控制。
以学生类的年龄字段为例,将其改良为属性。
学生修改例6.7〔对px,py作出限制〕。
讨论、思考题、作业:
参考资料〔含参考书、文献等〕:
李春葆等,C#程序设计教程,清华大学,2009
万科,覃剑,VisualC#.NET程序设计根底与上机指导,清华大学,2007
实施情况与分析
方法局部延至第10次课。
教学过程设计:
复习_____分钟,授新课_60__分钟,安排讨论__30_分钟,布置作业____分钟
授课类型〔请打√〕:
理论课√讨论课□实验课□练习课□其他□
教学方式〔请打√〕:
讲授√讨论□指导□其他□
教学资源〔请打√〕:
多媒体√模型□实物□挂图□音像□其他□
填表说明:
1.每项页面大小可自行添减;
2.教学内容与讨论、思考题、作业局部可合二为一。
第10次课的教学整体安排
授课时间
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C#NET程序设计 NET 程序设计 教案设计