资源描述
教 案
2017 ~2018 学年第 1学期
院(系)
信息技术学院
教研室(研究所)
软件工程(软件外包方向)
课 程 名 称
C#.NET程序设计
授课专业班级
软件工程(软件外包方向)2016级
主 讲 教 师
王听忠
职 称 职 务
副教授
使 用 教 材
C#程序设计教程
二○一七年九月
第 1 次课的教学整体安排
授课时间
第 1 周 第 1-2 节
课时安排
授课题目(教学章、节或主题):.NET与C#概述;简单的C#程序设计
教学目的、要求(分掌握、理解、了解三个层次):
了解C#以及.NET的起源与发展,C#语言的特点。
了解C#安装的配置要求以及安装方法。
了解Microsoft Visual Studio.NET运行环境。
观察学习运行几个C#程序。
教学内容(包括基本内容、重点、难点):
1. 对本门课程的要求。
l Read the master! Not the pupil!
为什么要Read the master?(1)Master的作品是一块新鲜的口香糖,Pupil的是已经嚼过一遍的口香糖;(2)准确性。Master的理解更透,往往更准确;(3)品味。Master的品味更高。(4)易读性。大师并非如我们所想的那么难以接近,相反,大师的作品有时更细致,写的更准确,文笔也更好,更有条理,我们理解的更顺利。
l 要求记笔记,学期中进行检查。
为什么要记笔记?在整个大学学习阶段,乃至于以后的学习工作中,我们要善于积累、收集。好的方法、思路、算法、文章等都是收集的对象,收集得越多,“财富”就越多,如果大学期间没有收集到这些东东,那就入宝山而空回。做笔记,是我们积累的一种方式,应该养成这样的习惯。
l 多练习,多实践。
“纸上得来终觉浅,绝知此事要躬行”。没有练习和实践,对很多知识点的理解都是肤浅甚至等于无。
注意我们课本有“习题”和“实验”。
l 写Email的基本要求!
2. C#概述:课本P1-P2。
3. .NET平台概述。课本P2-P7。
.NET框架组成图(课本P3)非常重要。平台的几个重要的部件如下。
(1) 公共语言运行库(CLR)。
(2) 基本类库。
(3) ADO.NET。
(4) Windows Forms。
(5) Web Forms/Web Service。
4. .NET程序的编译过程。课本P5-P6。
5. 开发环境Visual Studio.NET的安装和简介。
6. C#程序:控制台程序,例2.1。课本P25-P27。学生自行输入。
简单介绍控制台应用程序构成。课本P27-P29。
7. 输入和输出。P30。
8. C#程序:Window程序,例2.2。对话框Hello World。学生自行输入。
简单介绍Windows程序构成。课本P34-P35。
讨论、思考题、作业:
课后作业:安装Microsoft Visual Studio.NET,并写下安装过程中碰到的一些问题和解决方法。
参考资料(含参考书、文献等):
李春葆等, C#程序设计教程,清华大学出版社,2009
万科,覃剑, Visual C# .NET程序设计基础与上机指导,清华大学出版社,2007
邵鹏鸣, Visual C#程序设计基础教程,清华大学出版社,2005.4
Burton Harvey等著,康博译, C#程序设计教程, 清华大学出版社,2001.10
John Sharp著,周靖译, Visual C# 2005从入门到精通, 清华大学出版社,2006.6
Karli Watson,Marco Bellinaso等著,康博译 C#入门经典, 清华大学出版社, 2003.12
实施情况及分析
教学过程设计:复习_____分钟,授新课_70__分钟,安排讨论__20_分钟,布置作业____分钟
授课类型(请打√):理论课√ 讨论课□ 实验课□ 练习课□ 其他□
教学方式(请打√):讲授√ 讨论□ 指导□ 其他□
教学资源(请打√):多媒体√ 模型□ 实物□ 挂图□ 音像□ 其他□
填表说明:1. 每项页面大小可自行添减;
2. 教学内容与讨论、思考题、作业部分可合二为一。
第 2 次课的教学整体安排
授课时间
第 1 周 第 3-4 节
课时安排
授课题目(教学章、节或主题):数据类型,常量和变量,表达式和练习。
教学目的、要求(分掌握、理解、了解三个层次):
掌握C#的数据类型。
理解C#的变量、常量。
掌握C#的运算符和表达式。
教学内容(包括基本内容、重点、难点):
1. 标识符。P37-P38。
只能含有数字,字母和下划线,并且不能以数字开头。
严格区分大小写。
不能与C#关键字同名。C#关键字P38,每一个人应该保留一份!
2. 数据类型:
首先,C#的数据类型实际上不单单是C#的数据类型值,它们首先是.NET的数据类型。这里展示了微软.NET设计一统江湖的雄心。
3. 数据类型的分类:
从存储的角度分:值类型和引用类型。
从使用的角度分:简单类型和复合类型。
l 值类型:示意图3-1。
简单类型:整数类型,字符类型,布尔类型,实数类型。注意每一个类型的名字,对应的.NET公用类型系统名,所占用内存空间,以及取值范围。
思考:C#的类型跟C的类型有什么不同?程序设计语言的整数类型跟数学里面的整数集合有什么不同?实数类型跟实数集合呢?
关于类型的存储空间大小和精度:用尺子来做比喻。为什么decimal的位数更多,但是表示范围却小很多?
枚举类型:仅要求了解。
结构类型:仅要求知道。
l 引用类型:数组,字符串,类,接口…
4. 变量和常量。
直接常量或字面常量:直接写出值来的量。注意(1)整数和浮点数直接常量后缀的使用;(2)字符常量的转移字符;(3)字符串常量的转义字符和逐字字符串。
符号常量:用符号表示一个常量,其值定义以后不能再改变。
变量:是一个程序运行过程中可以改变的值。已命名的存储单元。必须先声明后使用。注意变量的有效范围是在定义它的模块里面。而模块是通过“{”和“}”界定的。
5. 类型转换:隐式转换和显式转换。课本P48-P49。
6. 表达式。
操作数+运算符构成表达式,表达式构成语句。程序就是这样搭建出来的!
所以,首先我们关心运算符!
7. 堂上练习。实验3-4。课本P69。
讨论、思考题、作业:
参考资料(含参考书、文献等):
李春葆等, C#程序设计教程,清华大学出版社,2009
万科,覃剑, Visual C# .NET程序设计基础与上机指导,清华大学出版社,2007
邵鹏鸣, Visual C#程序设计基础教程,清华大学出版社,2005.4
Burton Harvey等著,康博译, C#程序设计教程, 清华大学出版社,2001.10
John Sharp著,周靖译, Visual C# 2005从入门到精通, 清华大学出版社,2006.6
Karli Watson,Marco Bellinaso等著,康博译 C#入门经典, 清华大学出版社, 2003.12
实施情况及分析
教学过程设计:复习_____分钟,授新课_60__分钟,安排讨论__30_分钟,布置作业____分钟
授课类型(请打√):理论课√ 讨论课□ 实验课□ 练习课□ 其他□
教学方式(请打√):讲授√ 讨论□ 指导□ 其他□
教学资源(请打√):多媒体√ 模型□ 实物□ 挂图□ 音像□ 其他□
填表说明:1. 每项页面大小可自行添减;
2. 教学内容与讨论、思考题、作业部分可合二为一。
第 3 次课的教学整体安排
授课时间
第 2 周 第 1-2 节
课时安排
授课题目(教学章、节或主题):运算符和表达式;C#的控制语句。
教学目的、要求(分掌握、理解、了解三个层次):
1. 掌握C#的各种运算符。
2. 理解运算符优先级。
教学内容(包括基本内容、重点、难点):
1. 运算符
l 算术运算符。跟普通的数学运算类似。注意(1)运算数的类型,尤其是“/”号和“%”号;(2)递增和递减符号。
l 字符串运算符。
l 赋值运算符。
简单赋值就是等于号,把右边的表达式运算所得的值赋给左边。
复合赋值,把x=x+3写成x+=3。
l 关系运算符。其实是所谓的“序”关系。即一个集合里面的元素有一个排序,两两之间可以比较。对于数而言,就是大于,小于和等于,还有它们的组合,否定。关系运算符作用于数值类型,结果是布尔类型。
l 逻辑运算符。对布尔类型进行运算,得布尔类型。与、或、非操作。注意“&”和“&&”的区别,所谓短路特征。
l 位运算符。例3.4。应用例子:(1)按位异或可用于加密;(2)移位运算等于乘以或除以2的整次幂。
l 条件运算符。唯一一个三元运算符。跟C语言的一样。
l 其他运算符。
l 运算符的优先级与结合顺序。
什么叫优先级?参看表2-9。我们从小所学的先乘除,再加减就是优先级的一个例子。一个例子可以简单说明算术运算,关系运算和逻辑运算的优先级:。
结合顺序。比较古文和现代文的书写方向!注意那些从右到左结合的运算符!典型的例子就是。
l 表达式中的类型转换。与前面所说的运算符要考虑运算数相结合。
2. 常用类和结构。
l String类:详细讲。
l Math类:略讲。
l Convert类:略讲。
l DateTime结构:略讲。
3. 堂上练习:把例子2-1用if-else if的形式重写一遍。
讨论、思考题、作业:
参考资料(含参考书、文献等):
李春葆等, C#程序设计教程,清华大学出版社,2009
万科,覃剑, Visual C# .NET程序设计基础与上机指导,清华大学出版社,2007
邵鹏鸣, Visual C#程序设计基础教程,清华大学出版社,2005.4
Burton Harvey等著,康博译, C#程序设计教程, 清华大学出版社,2001.10
John Sharp著,周靖译, Visual C# 2005从入门到精通, 清华大学出版社,2006.6
Karli Watson,Marco Bellinaso等著,康博译 C#入门经典, 清华大学出版社, 2003.12
实施情况及分析
教学过程设计:复习_____分钟,授新课_60__分钟,安排讨论__30_分钟,布置作业____分钟
授课类型(请打√):理论课√ 讨论课□ 实验课□ 练习课□ 其他□
教学方式(请打√):讲授√ 讨论□ 指导□ 其他□
教学资源(请打√):多媒体√ 模型□ 实物□ 挂图□ 音像□ 其他□
填表说明:1. 每项页面大小可自行添减;
2. 教学内容与讨论、思考题、作业部分可合二为一。
第 4 次课的教学整体安排
授课时间
第 2 周 第 3-4 节
课时安排
授课题目(教学章、节或主题):C#的控制语句(2.6);数组。
教学目的、要求(分掌握、理解、了解三个层次):
掌握C#分支(选择,条件判断)语句。
掌握C#的循环语句while,do…while和for。
掌握C#的break和continue跳转语句。
理解数组的定义,存储。
教学内容(包括基本内容、重点、难点):
1. 选择语句。
l If语句。(1)if;(2)if-else;(3)if-else if;(4)嵌套的if,这里要讲一下就近原则和“{}”的使用,以例4.4的代码为例子。
l Switch语句。注意(1)break语句;(2)default语句;(3)case后面的表达式。
2. 循环控制语句。
l While语句,例4.6。
l Do-while语句,例4.7。
l For语句,例4.8。
3. 跳转语句。Break,continue和return语句。
l Break。
用于循环语句或者switch语句。直接跳出本循环,到循环语句的下一条语句。例如,找出一个愿意帮我忙的学生。
l Continue。
只能用于循环语句。跳出本轮循环。例如,找出所有愿意帮我忙的学生,并给每一个愿意帮忙的学生分配任务。
l Return。
用于结束一个方法。观察例子2-10。
4. Goto语句。不建议使用。
5. 一维数组。
不需要在声明的时候指定大小。
用new运算符来创建数组实例。(跟C语言对比)
数组的初始化。注意四种不同的形式!(1)全部写全;(2)省略数组大小;(3)右边集合形式;(4)声明和初始化分开写。
访问:数组名[下标]。例2-14。
讨论、思考题、作业:
参考资料(含参考书、文献等):
李春葆等, C#程序设计教程,清华大学出版社,2009
万科,覃剑, Visual C# .NET程序设计基础与上机指导,清华大学出版社,2007
邵鹏鸣, Visual C#程序设计基础教程,清华大学出版社,2005.4
Burton Harvey等著,康博译, C#程序设计教程, 清华大学出版社,2001.10
John Sharp著,周靖译, Visual C# 2005从入门到精通, 清华大学出版社,2006.6
Karli Watson,Marco Bellinaso等著,康博译 C#入门经典, 清华大学出版社, 2003.12
实施情况及分析
教学过程设计:复习_____分钟,授新课_60__分钟,安排讨论__30_分钟,布置作业____分钟
授课类型(请打√):理论课√ 讨论课□ 实验课□ 练习课□ 其他□
教学方式(请打√):讲授√ 讨论□ 指导□ 其他□
教学资源(请打√):多媒体√ 模型□ 实物□ 挂图□ 音像□ 其他□
填表说明:1. 每项页面大小可自行添减;
2. 教学内容与讨论、思考题、作业部分可合二为一。
第 5 次课的教学整体安排
授课时间
第 3 周 第 1-2 节
课时安排
授课题目(教学章、节或主题):数组:一维数组,二维数组和交叉数组。(5.1-5.3)
教学目的、要求(分掌握、理解、了解三个层次):
1. 掌握一维数组的定义、初始化和访问。
2. 掌握二维和多维数组数组的定义,二维数组的初始化和访问。
3. 了解交叉数组的定义,初始化和访问。
4. 理解Array类的概念。
5. 了解Array类的Length属性和GetLength方法。
6. 初步掌握前面所学知识的应用。
教学内容(包括基本内容、重点、难点):
1. 一维数组
l 定义(声明):
数据类型[] 数组名;
l 初始化:课本P86。注意多种初始化方式。(1)动态初始化:使用new关键字;(2)静态初始化:直接用等号。
l 访问:下标访问,注意越界问题。
l Foreach语句。
2. 二维数组——矩阵
l 声明与数组对象创建。
数据类型[,] 数组名;
l 初始化:比较多种初始化方式:(1)动态初始化;(2)静态初始化。
l 访问。
3. 多维数组与交错数组
(1) 多维数组声明:
type [ , , , ] 数组名;
(2) 交错数组则是:(P91,注意多种初始化方法)
type [ ] [ ] [ ] 数组名;
(3) 多维数组的创建:
数组名=new type [s1, s2, s3];
(4) 不规则数组的创建:
数组名=new type [3] [ ];
数组名[0]=new type [4];
数组名[1]=new type [2];
数组名[2]=new type [5];
l 初始化。
多维数组同样有四种形式的初始化。(1)全部写全;(2)省略数组大小;(3)右边集合形式;(4)声明和初始化分开写。
不规则数组的初始化通常是分步进行的。
l 引用。
跟声明的形式对应,引用的形式多维数组和不规则数组也有不同。
多维数组: 数组名[i1, i2, i3 …]。
不规则数组:数组名[i1][i2][i3]…
4. System.Array。(略讲)
学生自己调试例5.3。
以例5.3说明几个特点。
(1) 随机数。
(2) 排序方法。
讨论、思考题、作业:
参考资料(含参考书、文献等):
李春葆等, C#程序设计教程,清华大学出版社,2009
万科,覃剑, Visual C# .NET程序设计基础与上机指导,清华大学出版社,2007
邵鹏鸣, Visual C#程序设计基础教程,清华大学出版社,2005.4
Burton Harvey等著,康博译, C#程序设计教程, 清华大学出版社,2001.10
John Sharp著,周靖译, Visual C# 2005从入门到精通, 清华大学出版社,2006.6
Karli Watson,Marco Bellinaso等著,康博译 C#入门经典, 清华大学出版社, 2003.12
实施情况及分析
教学过程设计:复习_____分钟,授新课_60__分钟,安排讨论__30_分钟,布置作业____分钟
授课类型(请打√):理论课√ 讨论课□ 实验课□ 练习课□ 其他□
教学方式(请打√):讲授√ 讨论□ 指导□ 其他□
教学资源(请打√):多媒体√ 模型□ 实物□ 挂图□ 音像□ 其他□
填表说明:1. 每项页面大小可自行添减;
2. 教学内容与讨论、思考题、作业部分可合二为一。
第 6 次课的教学整体安排
授课时间
第 3 周 第3-4节
课时安排
授课题目(教学章、节或主题):C#基础练习,程序的编译与调试。(12.1-12.2)
教学目的、要求(分掌握、理解、了解三个层次):
1. 理解面向对象程序设计的思想。
2. 理解对象的概念。
3. 理解类的概念。
4. 理解字段和属性。
教学内容(包括基本内容、重点、难点):
1. 错误分类(P294)。(1)语法错误;(2)执行错误——通常导致“异常”;(3)逻辑错误。
2. 程序调试(P298)。
l 开始调试
l 断点
l 定位错误
l 调试过程
l 单步跟踪
3. 练习。
讨论、思考题、作业:
参考资料(含参考书、文献等):
李春葆等, C#程序设计教程,清华大学出版社,2009
万科,覃剑, Visual C# .NET程序设计基础与上机指导,清华大学出版社,2007
邵鹏鸣, Visual C#程序设计基础教程,清华大学出版社,2005.4
Burton Harvey等著,康博译, C#程序设计教程, 清华大学出版社,2001.10
John Sharp著,周靖译, Visual C# 2005从入门到精通, 清华大学出版社,2006.6
Karli Watson,Marco Bellinaso等著,康博译 C#入门经典, 清华大学出版社, 2003.12
实施情况及分析
教学过程设计:复习_____分钟,授新课_60__分钟,安排讨论__30_分钟,布置作业____分钟
授课类型(请打√):理论课√ 讨论课□ 实验课□ 练习课□ 其他□
教学方式(请打√):讲授√ 讨论□ 指导□ 其他□
教学资源(请打√):多媒体√ 模型□ 实物□ 挂图□ 音像□ 其他□
填表说明:1. 每项页面大小可自行添减;
2. 教学内容与讨论、思考题、作业部分可合二为一。
第 7 次课的教学整体安排
授课时间
第 4 周 第1-2节
课时安排
授课题目(教学章、节或主题):面向对象程序设计基础:基本概念,类。(6.1-6.2)
教学目的、要求(分掌握、理解、了解三个层次):
1. 理解面向对象程序设计的思想。
2. 理解对象的概念。
3. 理解类的概念。
4. 理解字段和属性。
教学内容(包括基本内容、重点、难点):
1. 本节课先讲思想以及以实际程序为例子说明问题。但是关于编程的细节和具体的语法在下一节课作详细说明。以3.5节的综合应用例子为贯穿几节课的例子。
2. 面向对象的思想。
面向对象首先是一种思想。对象,是现实世界的事物,或者是它们的抽象。
例子(1)汽车的例子;(2)iPhone v.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
万科,覃剑, Visual C# .NET程序设计基础与上机指导,清华大学出版社,2007
邵鹏鸣, Visual C#程序设计基础教程,清华大学出版社,2005.4
Burton Harvey等著,康博译, C#程序设计教程, 清华大学出版社,2001.10
John Sharp著,周靖译, Visual C# 2005从入门到精通, 清华大学出版社,2006.6
Karli Watson,Marco Bellinaso等著,康博译 C#入门经典, 清华大学出版社, 2003.12
实施情况及分析
教学过程设计:复习_____分钟,授新课_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
万科,覃剑, Visual C# .NET程序设计基础与上机指导,清华大学出版社,2007
邵鹏鸣, Visual C#程序设计基础教程,清华大学出版社,2005.4
Burton Harvey等著,康博译, C#程序设计教程, 清华大学出版社,2001.10
John Sharp著,周靖译, Visual C# 2005从入门到精通, 清华大学出版社,2006.6
Karli Watson,Marco Bellinaso等著,康博译 C#入门经典, 清华大学出版社, 2003.12
实施情况及分析
教学过程设计:复习_____分钟,授新课_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
万科,覃剑, Visual C# .NET程序设计基础与上机指导,清华大学出版社,2007
邵鹏鸣, Visual C#程序设计基础教程,清华大学出版社,2005.4
Burton Harvey等著,康博译, C#程序设计教程, 清华大学出版社,2001.10
John Sharp著,周靖译, Visual C# 2005从入门到精通, 清华大学出版社,2006.6
Karli Watson,Marco Bellinaso等著,康博译 C#入门经典, 清华大学出版社, 2003.12
实施情况及分析
方法部分延至第10次课。
教学过程设计:复习_____分钟,授新课_60__分钟,安排讨论__30_分钟,布置作业____分钟
授课类型(请打√):理论课√ 讨论课□ 实验课□ 练习课□ 其他□
教学方式(请打√):讲授√ 讨论□ 指导□ 其他□
教学资源(请打√):多媒体√ 模型□ 实物□ 挂图□ 音像□ 其他□
填表说明:1. 每项页面大小可自行添减;
2. 教学内容与讨论、思考题、作业部分可合二为一。
第 10 次课的教学整体安排
授课时间
第 5 周 第3-4节
课时安排
授课题目(教学章、节或主题):面向对象程序设计:方法。练习(6.11,习题6)
教学目的、要求(分掌握、理解、了解三个层次):
1. 理解方法的几种参数传递方式。
2. 理解属性、方法的一些知识点。
教学内容(包括基本内容、重点、难点):
1. 方法。P116。
方法的定义。
方法的返回值。
方法的参数。参数的4种类型。
方法的重载。
2. 第6章的练习。
讨论、思考题、作业:
课后练习:第6章,3.编程题(1)。
参考资料(含参考书、文献等):
李春葆等, C#程序设计教程,清华大学出版社,2009
万科,覃剑, Visual C# .NET程序设计基础与上机指导,清华大学出版社,2007
邵鹏鸣, Visual C#程序设计基础教程,清华大学出版社,2005.4
Burton Harvey等著,康博译, C#程序设计教程, 清华大学出版社,2001.10
John Sharp著,周靖译, Visual C# 2005从入门到精通, 清华大学出版社,2006.6
Karli Watson,Marco Bellinaso等著,康博译 C#入门经典, 清华大学出版社, 2003.12
实施情况及分析
教学过程设计:复习_____分钟,授新课_60__分钟,安排讨论__30_分钟,布置作业____分钟
授课类型(请打√):理论课√ 讨论课□ 实验课□ 练习课□ 其他□
教学方式(请打√):讲授√ 讨论□ 指导□ 其他□
教学资源(请打√):多媒体√ 模型□ 实物□ 挂图□ 音像□ 其他□
填表说明:1. 每项页面大小可自行添减;
2. 教学内容与讨论、思考题、作业部分可合二为一。
第 11 次课的教学整体安排
授课时间
第 6 周 第1-2节
课时安排
授课题目(教学章、节或主题):面向对象程序设计:委托与事件简介。
教学目的、要求(分掌握、理解、了解三个层次):
1. 了解委托的概念。
2. 了解事件和事件处理机制。
3. 掌握事件处理方法的编写。
4. 了解命名空间的概念。
5. 掌握命名空间的使用。
6. 了解自定义的命名空间。
教学内容(包括基本内容、重点、难点):
**********此部分选讲。
1. 委托的概念。P124。
2. 委托的声明,实例化和调用。P125。
3. 委托实例6.9。
4. 封装多个方法,例6.10。
*********
5. 事件的概念。Window应用程序的核心。P129。
6. 事件处理机制。P130。
7. 事件的创建和使用。P130-P131。课堂讲课的例子。
8. 命名空间的概念。P138。
9. 命名空间引用。P139。
10. 自定义命名空间。P140。
11. 第6章的练习。
讨论、思考题、作业:
第6章,3.编程题(4)。
参考资料(含参考书、文献等):
李春葆等, C#程序设计教程,清华大学出版社,2009
万科,覃剑, Visual C# .NET程序设计基础与上机指导,清华大学出版社,2007
邵鹏鸣, Visual C#程序设计基础教程,清华大学出版社,2005.4
Burton Harvey等著,康博译, C#程序设计教程, 清华大学出版社,2001.10
John Sharp著,周靖译, Visual C# 2005从入门到精通, 清华大学出版社,2006.6
Karli Watson,Marco Bellinaso等著,康博译 C#入门经典, 清华大学出版社, 2003.12
实施情况及分析
教学过程设计:复习_____分钟,授新课_60__分钟,安排讨论__30_分钟,布置作业____分钟
授课类型(请打√):理论课√ 讨论课□ 实验课□ 练习课□ 其他□
教学方式(请打√):讲授√ 讨论□ 指导□ 其他□
教学资源(请打√):多媒体√ 模型□ 实物□ 挂图□ 音像□ 其他□
填表说明:1. 每项页面大小可自行添减;
2. 教学内容与讨论、思考题、作业部分可合二为一。
第 12 次课的教学整体安排
授课时间
第 6 周 第3-4节
课时安排
授课题目(教学章、节或主题):继承与多态(7.1和7.2)
教学目的、要求(分掌握、理解、了解三个层次):
1. 了解继承的基本概念。
2. 掌握继承的语法。
3. 理解构造函数的调用次序。
4. 初步掌握Windows窗体程序开发的方法。
5. 理解Windows窗体的事件机制。
教学内容(包括基本内容、重点、难点):
1. 继承。例子:动物->鱼->鲤鱼。C#只支持单继承。派生类、子类和基类、父类的概念。
2. 继承的语法:派生类的声明。
3. 基类成员的可访问性。
4. 调用构造函数的次序。P149,用例子说明。
5. 重载构造函数的调用。P150-P151。(选讲)。
6. 禁止继承:sealed修饰符。P151。
7. 多态性:重载和虚方法。P152。
8. 隐藏。P152。
9. 重写override。Virtual与overide关键字。讲解例7.2和例7.3。
10. 第7章练习。
讨论、思考题、作业:
第7章,3.编程题(1)(2)。
参考资料(含参考书、文献等):
李春葆等, C#程序设计教程,清华大学出版社,2009
万科,覃剑, Visual C# .NET程序设计基础与上机指导,清华大学出版社,2007
邵鹏鸣, Visual C#程序设计基础教程,清华大学出版社,2005.4
Burton Harvey等著,康博译, C#程序设计教程, 清华大学出版社,2001.10
John Sharp著,周靖译, Vi
展开阅读全文