黑龙江大学教案DotNet教案作者:丁大勇所在院系:计算机学院黑龙江大学教案课程名称C#程序设计授课专业软件工程年级2008课程编号课程类型专业课授课方式课堂讲授;上机考核方式考试+实验课程教学总学时数50学时学分数学时分配课堂讲授32学时;上机18学时教材名称C#入门经典作者KarliWatson&ChristianNagel等著齐立波翻译出版社及出版时间清华大学出版社2006年5月第3版指定参考书1、C#高级编程2、.NET设计规范作者ChristianNagel&BillEvgen&JayGlynn等著李敏波翻译KrzysztofCwalina&BradAbrams著葛子昂译出版社及出版时间清华大学出版社2006年10月第1版人民邮电出版社2006年7月第1版授课教师丁大勇职称讲师单位计算机科学技术学院授课时间07-08学年第2学期黑龙江大学教案周次第一周第一次(总第一次)章节名称第1章、C#简介§1、什么是.NETFramework§2、什么是C#第2章、编写C#程序§1、VS.NET开发环境§2、控制台应用程序§3、WindowsForms应用程序第3章、变量和表达式§1、C#的基本语法§2、变量§3、表达式授课方式课堂讲授教学时数2教学地点2号教学楼120室教学目的及要求1、本周的教学内容围绕“C#.NET开发环境和基本语法”展开2、重点讲授C#.NET的变量、表达式的语法3、比较所讲语法和其他高级语言的异同4、通过讲授,使学生初步认识C#.NET的语法特点和VS.NET开发环境黑龙江大学教案教学内容提要时间分配1、本门课程的特点2、本门课程考核办法3、本门课程的学习方法4、.NETFramework和C#语言产生的背景、特点以及相互之间关系5、使用VS.NET2005编制控制台应用程序6、C#的基本语法7、C#中变量和表达式的语法规则8、C#中名称空间的作用9、C#的基本数据类型(整、短整、长整、无符号整、无符号短整、无符号长整、单精度、双精度、字符、字符串)10、C#中常量的书写方法11、变量的定义、赋值、初始化、使用方法12、基本运算符(算术、关系、逻辑、赋值、逗号、条件、长度、位运算符)的运算规则及优先级别13、表达式(算术、关系、逻辑、条件、赋值、逗号)的构成规则和计算14、小测验111课程引入本次课程为第一次课,在正式开展课程前要介绍本门课程的性质、特点,以及其实用价值。在正式开展课程之前归纳一下C++和Java的优缺点,并提醒学生在学习过程中注意C#是如何发扬这些优点、改进这些缺点的。教学重点1、C#的基本语法2、C#的基本数据类型3、变量的定义、赋值、初始化、使用方法黑龙江大学教案4、基本运算符的运算规则及优先级别5、表达式的构成规则和计算教学难点1、C#与其他高级语言的区别2、基本运算符的运算规则及优先级别3、表达式的构成规则和计算教学中遇到的问题及解决方法主要问题:认为C#就是Java解决方法:举例说明二者差异讨论练习作业1、课堂测验:计算若干表达式的值;2、学生熟悉VS.NET2005环境,并用其将上课时给出的例子调试运行;教学手段讲解,幻灯片演示讲解,程序演示讲解,现场编程并演示其功效参考资料KarliWatson等《C#入门经典》(第3版)清华大学出版社2006年5月第3版1~38页备注可适当演示用C#.NET开发的程序,以激发学生学习兴趣黑龙江大学教案周次第一周第二次(总第二次)章节名称第4章、流程控制§1、布尔逻辑§2、分支§3、循环第5章、变量的更多内容§1、类型转换授课方式课堂讲授教学时数2教学地点2号教学楼120室教学目的及要求1、本周继续讲授C#的语法2、重点讲授布尔逻辑、分支语句、循环语句、类型转换等3、通过讲授,使学生进一步了解C#,并能动手写略复杂的程序教学内容提要时间分配1、布尔逻辑和关系表达式2、关系表达式的优先级3、if语句4、if…else语句5、switch语句6、while语句7、do…while语句8、for语句9、foreach语句10、continue、break、return、goto语句11、隐式类型转换和显式类型转换12、Convert类的作用13、关键字checked和unchecked的作用14、小测验111课程引入指出要编制更复杂的程序,还需学习分支结构和循环结构。黑龙江大学教案教学重点1、布尔逻辑2、分支语句3、循环语句4、类型转换教学难点1、关系表达式的优先级2、类型转换3、C#与其他高级语言的区别教学中遇到的问题及解决方法主要问题:学生容易将C#语法与以前所学语言混淆解决方法:举例法对比法讨论练习作业1、课堂测验:编程程序——用户输入一大于0的整数N,程序输出1至该数的所有自然数之和;2、课外作业:用迭代法编程计算Pi;编程解决韩信点兵问题;3、课外练习:将上课时给出的例子调试运行;教学手段讲解,幻灯片演示讲解,程序演示讲解,现场编程并演示其功效参考资料KarliWatson等《C#入门经典》(第3版)清华大学出版社2006年5月第3版40~76页备注在上课时应不断对比C#与其他高级语言的区别,以利于记忆黑龙江大学教案周次第二周第一次(总第三次)章节名称第5章、变量的更多内容§2、复杂的数据类型§3、字符串的处理第6章、函数§1、定义和使用函数§2、变量的作用域§3、Main()函数§4、结构函数§5、函数的重载§6、委托授课方式课堂讲授教学时数2教学地点2号教学楼120室教学目的及要求1、本周继续讲授C#的语法2、重点讲授字符串和函数3、通过讲授,使学生进一步了解C#4、本堂课结束后,学生应能使用C#和面向过程思想编制大型程序教学内容提要时间分配1、枚举类型的定义和使用2、结构类型的定义和使用3、一维数组的定义和使用4、多维数组的定义和使用5、数组的数组的定义和使用6、string类型的特点和使用7、函数的声明和调用8、值传递和引用传递9、值类型和引用类型10、关键字ref的功用11、关键字out的功用12、关键字params的功用13、变量的作用域14、Main()函数15、结构函数16、函数重载17、委托111黑龙江大学教案课程引入强调我们不可能只使用系统预定义的数据类型,我们必须要自定义数据类型以描述像车、人这样复杂的对象。紧接着便讲解在C#中自定义数据类型的方法。教学重点1、自定义数据类型2、ref、out、params等关键字的功用3、函数重载和委托教学难点1、C#中的各种数组2、委托教学中遇到的问题及解决方法主要问题:分不清二维数组与数组的数组的区别对数组的数组错误地使用了foreach语句分不清值类型和引用类型忽视委托的作用解决方法:举例法讨论练习作业1、课堂测验:编程程序——用户输入一大于1的整数N,输出[1,N]间所有素数;2、课外作业:编程实现小型成绩管理系统;3、课外练习:将上课时给出的例子调试运行;教学手段讲解,幻灯片演示讲解,程序演示讲解,现场编程并演示其功效参考资料KarliWatson等《C#入门经典》(第3版)清华大学出版社2006年5月第3版76~122页备注在上课时应不断对比C#与其他高级语言的区别,以利于记忆黑龙江大学教案周次第二周第二次(总第四次)章节名称第7章、调试和错误处理§1、VS中的调试§2、错误处理第8章、面向对象编程简介§1、什么是面向对象编程§2、静态和实例类成员§3、OOP技术第9章、定义类§1、C#中的类定义授课方式课堂讲授教学时数2教学地点2号教学楼120室教学目的及要求1、本周讲授在VS.NET中调试程序的方法2、本周讲授用C#进行面向对象编程3、重点讲授面向对象编程思想4、通过讲授,使学生能够自行调试程序,并了解如何用C#进行面向对象编程教学内容提要时间分配1、VS.NET中的调试方法2、Debug类和Trace类3、异常处理机制4、OOP技术5、类的定义6、类的派生7、关键字public、internal、abstract和sealed的作用8、小测验111课程引入强调编程中犯错是不可避免的,所以每个人都应学会调试程序。黑龙江大学教案教学重点1、异常处理2、类的定义和派生3、关键字public、internal、abstract和sealed的作用教学难点1、异常处理2、关键字public、internal、abstract和sealed的区别教学中遇到的问题及解决方法主要问题:忽视调试忽视异常处理对OOP技术认识不清解决方法:举例法对比法讨论练习作业1、课堂测验:写出如下类的定义——类A是公有的抽象类、类B是派生自类A的私有类,而且类B不能被继承;2、课外练习:将上课时给出的例子调试运行;3、课外练习:利用课堂讲授的调试技巧调试上周布置的管理系统教学手段讲解,幻灯片演示讲解,程序演示讲解,现场编程并演示其功效参考资料KarliWatson等《C#入门经典》(第3版)清华大学出版社2006年5月第3版122~171页备注使学生了解异常处理的必要性黑龙江大学教案周次第三周第一次(总第五次)章节名称第9章、定义类§2、System.Object§3、构造函数和析构函数§4、类库工程§5、接口和抽象类第10章、定义类成员§1、成员定义授课方式课堂讲授教学时数2教学地点2号教学楼120室教学目的及要求1、本周的教学内容围绕“完善类的定义”展开2、重点讲授类的构造函数和析构函数、接口以及类库工程3、通过讲授,使学生能够设计出更加实用的类教学内容提要时间分配1、System.Object2、构造函数和析构函数3、.NET中的垃圾回收机制4、关键字this、base的作用5、类库工程6、接口的作用7、接口的定义8、接口和抽象类的异同9、定义和使用类的数据成员10、定义和使用类的函数成员11、小测验111课程引入回顾上周的有关OO的内容,然后直接进入本周课程。黑龙江大学教案教学重点1、构造函数和析构函数2、关键字this、base的作用3、接口的作用和定义教学难点1、析购函数和.NET中的垃圾回收机制2、接口的作用3、接口和抽象类的区别教学中遇到的问题及解决方法主要问题:混淆this与base不明白为什么要使用接口解决方法:举例法反证法讨论练习作业1、课堂测验:写出如下类的定义——类A含有int数据成员val,可以在构造时对val进行设置,也可以通过接口I中的SetVal方法对val进行设置;2、课外作业:设计相应类和接口实现人上下火车和人上下公共汽车;3、课外练习:将上课时给出的例子调试运行教学手段讲解,幻灯片演示讲解,程序演示讲解,现场编程并演示其功效参考资料KarliWatson等《C#入门经典》(第3版)清华大学出版社2006年5月第3版171~190页备注使学生认识到使用接口的优势黑龙江大学教案周次第三周第二次(总第六次)章节名称第10章、定义类成员§2、成员属性§3、类成员的其他议题§4、接口的执行第11章、类的更多内容§1、集合授课方式课堂讲授教学时数2教学地点2号教学楼120室教学目的及要求1、本周的教学内容围绕“进一步完善类的定义”展开2、重点讲授属性的定义与使用、接口的执行和集合类3、通过讲授,使学生能够设计出功能更强大的类教学内容提要时间分配1、类的“属性”成员的定义与使用2、隐藏和重写基类方法3、嵌套的类型定义4、隐式执行接口成员5、显式执行接口成员6、接口的多态7、ArrayList的作用8、ArrayList的使用9、ArrayList与一维数组的区别111课程引入首先提出一个问题,在C++中如何访问类内的私有数据成员?从学生的回答中可总结出C++的不便之处,强调C#很好地解决了这个问题,由此引出属性成员。黑龙江大学教案教学重点1、类的“属性”成员的定义与使用2、隐藏和重写基类方法3、接口的执行和多态4、ArrayList的使用教学难点1、类的“属性”成员2、接口的执行3、多态教学中遇到的问题及解决方法主要问题:对属性认识不清分不清显式执行接口和隐式执行接口对多态认识不清解决方法:举例法演示并说明讨论练习作业1、课外作业:进一步完善相应类和