C#程序设计教学大纲.docx
《C#程序设计教学大纲.docx》由会员分享,可在线阅读,更多相关《C#程序设计教学大纲.docx(13页珍藏版)》请在冰豆网上搜索。
C#程序设计教学大纲
C#程序设计教学大纲
一、课程概况
所属专业:
计算机科学与技术
开课单位:
数学计算机科学学院
课程类型:
院系选修课程
课程代码:
07492110
开课学期:
3
学分:
2
学时:
课堂讲授24+实验16
核心课程:
否
拟使用教材:
马骏.C#程序设计及应用教程(第3版).人民邮电出版社.2014
国内(外)现有教材:
[1]李春葆,谭成予,曾平.C#程序设计教程(第2版).清华大学出版社.2013
[2]郑阿奇,梁敬东.C#程序设计教程(第2版).机械工业出版社.2011
学习参考资料:
[1]陈建伟,张波.VisualC#2010程序设计教程.清华大学出版.2012
[2]孙晓非,牛小平,冯冠,李乃文.C#程序设计基础教程与实验指导.清华大学出版社.2012
二、课程描述
本门课程是计算机科学与技术专业的一门专业选修课。
通过本课程的教学,让学生能够使用.NET平台和C#语言进行面向对象的程序设计,使学生能够使用C#开发Windows应用程序。
本课程详尽地讲述C#语言的基础知识,面向对象的编程方法,C#开发Windows窗体应用程序和WPF应用程序等知识。
在教学中注重提高学生在程序设计过程中分析问题和解决问题的能力,使学生的理论知识和实践技能得到共同发展。
三、课程目标
本课程通过全面、系统地介绍C#程序设计语言,使学生能深掌握程序设计的基本理论、方法,并能根据需求设计程序,了解高级程序设计的基本知识,掌握高级程序设计的基本方法。
通过本课程的学习后,学生应具备如下的技能:
(1)熟练掌握并使用VC#编制面向对象的程序;
(2)熟练掌握面向对象的封装性、继承性、多态性的设计和实现方法;
(3)使用C#开发Windows窗体应用程序和WPF应用程序;
(4)逐步提高使用面向对象程序设计方法解决实际问题的能力。
四、教学要求
依据本课程的性质、目的及任务,教学紧扣多媒体教学、课后答疑、实验等几个主要环节进行展开,要求学生系统地了解、熟悉和掌握C#语言、基本的WinForm应用程序和WPF应用程序的编程方法,掌握VS2012开发工具及其基本的使用方法。
授课教师将按照学校本科教学工作有关要求做好课程教学各项工作:
(1)教师在课堂讲授时,以典型案例为引导,在一些知识点上通过与C++语言比较,让学生逐步掌握C#的编程方法;
(2)对于部分章节中的内容,例如,WPF中的部分控件的使用,教师可以给出自学提纲,让学生自学;(3)教师认真组织学生进行课堂讨论,让学生开拓思路;(4)每章结束时,教师按照知识点布置一定数量的课外作业以加深对知识的理解,并对作业进行评价;(5)教师布置专题上机练习任务,在练习过程中进行指导,注意学生动手能力的培养。
学习是大学生自己的责任和义务,学生应积极参加课程学习:
(1)学生在学习时可以参照授课教师所提供的参考书籍进行相关的预习、复习等工作;
(2)认真完成任课教师布置的课程作业和学习任务;(3)因为该门课程是一门实践性课程,所以学生需要经常上机练习,从而提高C#编程能力。
五、考核方式及要求
为实现课程教学目标,本门课程采用过程性考核和期末考核结合的方式进行考核。
过程性考核占总成绩60%,其中:
考勤占20%,随机点到,每人不少于3次,其中无故缺席1次,按无考勤成绩计算;期中测试1次,占10%,测验时间和内容根据教学进度由教师安排;课程作业7次,按批改成绩折算,占35%;实验报告8次,按批改成绩折算,占35%。
期末考核占总成绩40%,为课程设计方式。
六、课程内容
课堂教授
第一章:
C#代码编写基础
(授课时间:
第三学期第一周)
教学目标:
了解C#语言的特点和VS2012开发环境的安装与配置;理解C#项目相关的命名空间、Main方法等基础知识;掌握断点设置与调试方法;掌握控制台应用程序的输入和输出,理解格式化输出;掌握Windows窗体应用程序的基本编程方法;了解WPF应用程序的特点。
教学重点:
控制台应用程序的输入输出;Windows窗体应用程序的编程方法。
教学难点:
WPF应用程序的特点。
学时:
课堂教学2学时。
教学方法:
讲授法、演示法。
主要内容:
(1)C#语言和VS2012开发环境的简介;
(2)C#项目的组织;
(3)C#编写控制台应用程序;
(4)C#编写Windows窗体应用程序。
(5)WPF应用程序的介绍
学习方法:
听讲记录,上网调研。
课后作业:
下载VisualStudio2012并安装,编写和运行C#控制台程序和Windows窗体应用程序。
第二章:
基本数据类型和流程控制语句
(授课时间:
第三学期第三周)
教学目标:
掌握C#常用数据类型的格式及声明方法;掌握常用运算符的使用;掌握字符串的常用操作方法;掌握一维数组的创建和访问方法;掌握数据类型之间的转换,掌握分支语句、循环语句、跳转语句和异常语句的使用方法。
教学重点:
基本数据类型;类型转换;数组的定义与使用。
教学难点:
循环语句foreach语句;异常语句。
学时:
课堂教学2学时。
教学方法:
讲授法、讨论法。
主要内容:
(1)常量与变量;
(2)数据类型:
整型、浮点型、布尔型、字符类型、枚举类型、可空类型;
(3)字符串的创建、表示形式和操作方法;
(4)一维数组、多维数组和交错数组的创建和使用;
(5)数据类型之间的转换;
(6)C#流程控制语句:
分支语句、循环语句、跳转语句、异常处理语句。
学习方法:
听讲记录,上网调研。
课后作业:
完成输入输出、循环结构等知识点练习题。
第三章:
类和结构
(授课时间:
第三学期第五周)
教学目标:
掌握类和结构的定义和组织;掌握属性的定义;掌握方法的定义以及方法的参数传递;掌握DateTime类和TimeSpan类的常用属性和方法;熟悉秒表、计时器等类的使用方法;了解数学运算Math类的使用。
教学重点:
属性的定义;方法的参数传递。
教学难点:
方法的四类参数:
值参数、引用参数、输出参数和参数数组。
学时:
课堂教学2学时。
教学方法:
讲授法、讨论法。
主要内容:
(1)类:
类的定义和成员组织,访问修饰符,静态成员和实例成员,构造函数和析构函数,字段和局部变量;
(2)结构的定义和成员组织;
(3)属性;
(4)方法:
方法的定义与调用,方法中的参数传递,方法重载;
(5)类的继承与多态性;
(6)数学运算;
(7)日期与时间处理;
(8)随机数。
学习方法:
听讲记录,小组讨论,上网调研。
课后作业:
完成类的定义与使用、参数传值、方法重载、索引器等知识点的练习题。
第四章:
接口、委托与事件
(授课时间:
第三学期第六周)
教学目标:
掌握接口的定义和使用方法;理解委托与事件的定义以及使用方法。
了解序列化、反序列化、反射等其他相关技术。
教学重点:
接口的声明和实现;序列化和反序列化的使用。
教学难点:
委托的定义;通过委托调用方法;事件的声明和引发。
学时:
课堂教学2学时。
教学方法:
讲授法、演示法、讨论法。
主要内容:
(1)接口:
接口的声明与实现,显式方式实现接口;
(2)委托与事件;
(3)序列化与反序列化;
(4)反射。
学习方法:
听讲记录,小组讨论,上网调研。
课后作业:
完成接口、委托与事件等知识点的练习题。
第五章:
泛型与LINQ
(授课时间:
第三学期第八至九周)
教学目标:
了解C#的类型扩展;理解泛型的定义和引用;掌握常用泛型类的使用方法;掌握LINQ查询表达式的书写;理解Lambda表达式的基本用法;掌握LINQtoObjects的使用方法。
教学重点:
常用泛型类的使用方法;LINQ查询表达式。
教学难点:
Lambda表达式。
学时:
课堂教学4学时。
教学方法:
讲授法、讨论法。
主要内容:
(1)C#的类型扩展:
匿名类型和隐式类型的局部变量,对象初始化和集合初始化;
(2)泛型和泛型集合:
泛型的定义和引用,列表和排序列表,链表,字典和排序字典,队列,堆栈;
(3)LINQ查询表达式:
from子句,where子句,orderby子句,group子句,select子句;
(4)Lambda表达式:
Lambda表达式的基本用法,在Func和Action委托中使用Lambda表达式;
(5)LINQtoObjects:
查询列表,查询数组,查询带索引的数组。
学习方法:
听讲记录,小组讨论,上网调研。
课后作业:
完成泛型类和LINQ查询表达式等知识点练习题。
第六章:
目录与文件操作
(授课时间:
第三学期第十周)
教学目标:
掌握Environment类和DriveInfo类的用法;熟悉Path类的用法;掌握目录和文件的创建、移动和删除方法;掌握文本文件的读写方法;熟悉常见的编码形式;了解二进制文件的读写;掌握LINQtoXML的使用方法。
教学重点:
目录和文件的管理;文件读写操作。
教学难点:
LINQtoXML的使用。
学时:
课堂教学2学时。
教学方法:
讲授法、演示法、讨论法。
主要内容:
(1)系统环境相关类:
Environment类,DriveInfo类;
(2)路径信息相关类:
Path类;
(3)目录管理:
Directory类,目录的创建、删除和移动;
(4)文件管理:
File类,文件的复制、删除和移动;
(5)文件读写:
文本文件的读写,二进制文件的读写;
(6)LINQtoXML:
创建XML,查询XML。
学习方法:
听讲记录,小组讨论,上网调研。
课后作业:
完成目录管理、文件管理、文件读写等知识点练习题。
第七章:
WPF应用程序入门
(授课时间:
第三学期第十一至十三周)
教学目标:
熟悉WPF应用程序的基本结构;掌握WPF应用程序的启动、关闭、命名空间等相关知识;熟悉XAML基本语法和WPF设计器的使用;熟悉WPF的窗口和对话框;了解基本的颜色格式和相关结构和类的用法;熟悉形状控件的共有属性和基本形状控件的使用方法;了解其他基本形状;熟悉常用画笔的使用方法;掌握依赖项属性和附加属性的使用方法;理解WPF事件的模型和路由策略;熟悉常用鼠标事件的用法。
教学重点:
WPF应用程序的启动和关闭;XAML基本语法;WPF窗口和对话框;颜色格式和Brushes类、Colors类、Color结构;形状控件的使用;画笔的使用;鼠标事件的使用。
教学难点:
依赖项属性和附加属性的使用;WPF事件的模型和路由策略。
学时:
课堂教学6学时。
教学方法:
讲授法、讨论法。
主要内容:
(1)WPF应用程序和XAML标记:
Application类和App类,WPF应用程序的关闭模式,XAML命名空间,XAML基本语法;
(2)窗口:
WPF窗口的分类、生存期,窗口的创建、显示关闭和关联,窗口的外观和行为;
(3)对话框:
消息框,通用对话框,自定义对话框;
(4)颜色:
颜色格式,Brushes类和Colors类,Color结构。
(5)形状:
形状控件的共有属性,矩形,椭圆,直线,多边形;
(6)画笔:
画笔分类,画笔类型的设置,纯色画笔,线性渐变画笔,径向渐变画笔;
(7)属性:
依赖项属性和附加属性;
(8)事件:
WPF事件模型,事件路由策略,鼠标事件,键盘事件。
学习方法:
听讲记录,小组讨论,上网调研。
课后作业:
完成WPF窗口和对话框应用程序的设计。
第八章:
WPF控件
(授课时间:
第三学期第十五至十六周)
教学目标:
熟悉WPF的控件模型和内容模型;掌握常用布局控件的用法;了解其他布局控件的用法;掌握常用基本控件的用法;掌握菜单、工具栏和状态条的用法。
教学重点:
WPF控件模型和内容模型的介绍;常用布局控件的使用;常用基本控件的使用;菜单和快捷菜单的使用;工具条和状态条的使用。
教学难点:
WPF的布局分类。
学时:
课堂教学4学时。
教学方法:
讲授法、演示法、讨论法。
主要内容:
(1)WPF控件模型和内容模型;
(2)常用布局控件:
网格,堆叠面板,画布,边框,停靠面板;
(3)常用基本控件:
按钮,文本块,文本框,单选按钮,复选框,列表框和下拉框;
(4)菜单和快捷菜单;
(5)工具条和状态条。
学习方法:
听讲记录,小组讨论,上网调研。
课后作业:
完成WPF常用控件知识点练习题。
实验
实验一:
C#初步认识
(授课时间:
第三学期第二周)
教学目标:
了解C#程序的基本结构;熟悉如何创建WinForm应用程序。
主要内容:
在VisualStudio2012开发环境下,进行验证性实验,熟悉开发环境,了结C#程序结构的特点;按题目要求设计窗体应用程序,练习C#程序基本操作,完成WinForm程序的编写。
学时:
2学时
教学方法:
演示法/讲授/现场指导
实验类型:
验证性、设计性实验
实验二:
C#基本数据类型和流程控制语句的使用
(授课时间:
第三学期第四周)
教学目标:
在C#中定义变量和常量;使用C#中的基本数据类型;理解装箱和拆箱的概念;使用C#中的运算符;掌握选择结构和循环结构编程;定义和使用数组;熟悉C#中的字符串处理。
主要内容:
在VisualStudio2012开发环境中完成程序填空题和程序阅读分析题,理解并掌握C#中的基本数据类型和程序控制语句;依据题目要求设计程序,练习基本的算法,应用字符串和数组,完成问题求解。
学时:
2学时
教学方法:
演示法/讲授/现场指导
实验类型:
验证性、设计性实验
实验三:
面向对象编程基础
(授课时间:
第三学期第五周)
教学目标:
理解C#的类和对象;了解和掌握C#构造函数和析构函数;掌握C#访问修饰符;掌握方法的定义、调用与重载;掌握属性的声明与使用方法;掌握索引器的声明与使用方法;理解命名空间。
主要内容:
在VisualStudio2012开发环境中完成程序阅读并分析(即验证性实验),理解类和对象的定义与使用,理解并掌握方法重载,属性与索引器的使用;依据题目要求设计程序,练习基本的算法,运用类和对象的知识解决问题。
学时:
2学时
教学方法:
演示法/讲授/现场指导
实验类型:
验证性、设计性实验
实验四:
面向对象的高级编程
(授课时间:
第三学期第七周)
教学目标:
理解继承的概念;掌握继承的使用;掌握接口的使用;掌握方法的重写;理解并实现委托,掌握事件的定义与触发。
主要内容:
在VisualStudio2012开发环境中阅读并分析程序,完成验证性实验,理解继承与接口的作用,掌握派生类的定义与接口的定义和实现,以及多态的实现;依据题目要求设计程序,练习基本的算法,使用继承和接口解决实际问题,使用委托和事件编写模拟闹铃的程序。
学时:
2学时
教学方法:
演示法/讲授/现场指导
实验类型:
验证性、设计性实验
实验五:
泛型与LINQ的应用
(授课时间:
第三学期第九周)
教学目标:
掌握常用泛型集合类的使用;掌握LINQ查询表达式的书写和使用;熟练掌握事件过程代码的编写;掌握建立基于图形界面的应用程序的过程。
主要内容:
在VisualStudio2012开发环境中阅读并分析程序,完成验证性实验,理解泛型和LINQ的基本用法;依据题目要求设计WinForm应用程序,按要求设计类,完成泛型列表和LINQ查询的使用。
学时:
2学时
教学方法:
演示法/讲授/现场指导
实验类型:
验证性、设计性实验
实验六:
文件操作
(授课时间:
第三学期第十周)
教学目标:
理解流的概念;掌握文本文件的读写方法;掌握二进制文件的读写方法;掌握File类和Directory类。
主要内容:
在VisualStudio2012开发环境中阅读并分析程序,完成验证性实验,阅读程序完成程序填空,理解并掌握文件读、写操作,完成相应的操作要求。
学时:
2学时
教学方法:
演示法/讲授/现场指导
实验类型:
验证性、设计性实验
实验七:
WPF应用程序设计
(1)
(授课时间:
第三学期第十四周)
教学目标:
掌握WPF应用程序的创建、运行;掌握WPF窗口的创建、显示和关闭操作;掌握在主窗口显示前先显示登录窗口的操作;掌握WPF对话框的操作;掌握鼠标事件的编程方法;掌握WPF控件的依赖属性的概念。
主要内容:
在VisualStudio2012开发环境中阅读并分析程序,完成验证性实验,阅读程序完成程序填空,理解并掌握WPF应用程序的编写,完成相应的操作要求。
学时:
2学时
教学方法:
演示法/讲授/现场指导
实验类型:
验证性、设计性实验
实验八:
WPF应用程序设计
(2)
(授课时间:
第三学期第十七周)
教学目标:
熟悉了解WPF程序设计的过程;掌握画刷、画笔、颜色类的使用;掌握常用容器控件和控件的使用。
主要内容:
在VisualStudio2012开发环境中阅读并分析程序,完成验证性实验,阅读程序并完成程序填空,掌握图形绘制操作和常用控件的使用。
学时:
2学时
教学方法:
演示法/讲授/现场指导
实验类型:
验证性、设计性实验