
北京工业大学本科课程教学大纲Undergraduate Course Syllabi信息科学技术学院2020版
北京工业大学 本科课程教学大纲 Undergraduate Course Syllabi 信息科学技术学院 2020 版

目录“C#程序设计基础"课程教学大纲1
I 目 录 “C#程序设计基础”课程教学大纲. 1

“C#程序设计基础”课程教学大纲英文名称:FundamentalsofProgrammingPrincipleandPracticeinC#课程编号:0004188课程性质:通识教育选修课学分:3.0学时:48课程类别:口工程经济与项目管理口文化自信与艺术鉴赏V科学探索与创新发展口道德修养与身心健康口沟通表达与全球视野口面向对象:理工科非计算机类各专业第二、第三及第四年级学生先修课程:工程数学、大学英语教材:[1]罗福强熊永福杨剑VisualC#.NET程序设计教程(第3版)人民邮电出版社2020.3参考书:[1]本杰明帕金斯C#入门经典(第8版)[M],北京:清华大学出版社,2019.01[2]【美]哈里森·费隆(HarrisonFerroneC#实践入门:快捷学习C#编程和Unity游戏开发,清华大学出版社,2020.5[3]MarkJ.PriceC#8.0和.NETCore3.0高级编程,清华大学出版社,2020.03[4】唐大任C#程序设计教程(第2版)清华大学出版社2018.01[5]李春葆、曾平、喻丹丹C#程序设计教程(第3版)清华大学出版社,2015.10一、课程简介本课面向没有编程基础的学生,选择Windows操作系统平台上基于·NETFramework的面向网络开发的纯面向对象程序设计语言C#作为教学语言,采用用案例驱动与知识驱动相结合的方式,讲授C#语言的基础知识、面向对象编程基础、Windows窗体应用程序和Web应用程序的开发方法,培养学生的应用开发平台结合工程设计问题设计出解决方案的实际开发能力,为日后产工作中从事科学探索与创新发展打下知识和技能基础。二、课程地位与教学目标课程地位:本课程属于通识教育选修课,具有一定的专业基础和专业应用性质,它培养学生利用当代实际应用开发平台VisualStudio和C#面向对象编程语言的关键性知识点,结合具体案例的开发过程体会程序设计的方法和开发过程,给学生提供参与设计实现具有适度规模的应用程序系统的机会,培养其工程意识和利用知识解决复杂工程问题的能力。本课程对工程教育认证标准毕业要求中的下列要求具有相关性:[1]工程知识:能够将数学、自然科学、工程基础和专业知识用于解决复杂工程问题。[2]问题分析:能够应用数学、自然科学和工程科学的基本原理,识别、表达、并通过文献研究分析复杂工程问题,以获得有效结论。[3]设计/开发解决方案:能够设计针对复杂工程问题的解决方案,设计满足特定需求的系统、单元(部件)或工艺流程,并能够在设计环节中体现创新意识,考虑社会、健康、-
1 “C#程序设计基础”课程教学大纲 英文名称:Fundamentals of Programming Principle and Practice in C# 课程编号:0004188 课程性质:通识教育选修课 学分:3.0 学时:48 课程类别:□工程经济与项目管理 □文化自信与艺术鉴赏 √□科学探索与创新发展 □道德修养与身心健康 □沟通表达与全球视野□ 面向对象:理工科非计算机类各专业第二、第三及第四年级学生 先修课程:工程数学、大学英语 教材: [1]罗福强 熊永福 杨剑 Visual C#.NET 程序设计教程(第 3 版)人民邮电出版社 2020.3 参考书: [1] 本杰明••帕金斯 C#入门经典(第 8 版)[M],北京:清华大学出版社,2019.01 [2] [美]哈里森·费隆(Harrison Ferrone) C#实践入门:快捷学习 C#编程和 Unity 游戏开发, 清华大学出版社,2020.5 [3] Mark J. Price C# 8.0 和.NET Core 3.0 高级编程,清华大学出版社,2020.03 [4] 唐大仕 C#程序设计教程(第 2 版)清华大学出版社 2018.01 [5] 李春葆、曾平、喻丹丹 C#程序设计教程(第 3 版)清华大学出版社,2015.10 一、课程简介 本课面向没有编程基础的学生,选择 Windows 操作系统平台上基于•NET Framework 的面向网络开发的纯面向对象程序设计语言 C#作为教学语言,采用用案例驱动与知识驱动 相结合的方式,讲授 C#语言的基础知识、面向对象编程基础、Windows 窗体应用程序和 Web 应用程序的开发方法,培养学生的应用开发平台结合工程设计问题设计出解决方案的 实际开发能力,为日后产工作中从事科学探索与创新发展打下知识和技能基础。 二、课程地位与教学目标 课程地位:本课程属于通识教育选修课,具有一定的专业基础和专业应用性质,它培 养学生利用当代实际应用开发平台 Visual Studio 和 C#面向对象编程语言的关键性知识点, 结合具体案例的开发过程体会程序设计的方法和开发过程,给学生提供参与设计实现具有 适度规模的应用程序系统的机会,培养其工程意识和利用知识解决复杂工程问题的能力。 本课程对工程教育认证标准毕业要求中的下列要求具有相关性: [1] 工程知识:能够将数学、自然科学、工程基础和专业知识用于解决复杂工程问题。 [2] 问题分析:能够应用数学、自然科学和工程科学的基本原理,识别、表达、并通 过文献研究分析复杂工程问题,以获得有效结论。 [3] 设计/开发解决方案:能够设计针对复杂工程问题的解决方案,设计满足特定需求 的系统、单元(部件)或工艺流程,并能够在设计环节中体现创新意识,考虑社会、健康

安全、法律、文化以及环境等因素。[4]】研究:能够基于科学原理并采用科学方法对复杂工程问题进行研究,包括设计实验、分析与解释数据、并通过信息综合得到合理有效的结论。[5]使用现代工具:能够针对复杂工程问题,开发、选择与使用恰当的技术、资源、现代工程工具和信息技术工具,包括对复杂工程问题的预测与模拟,并能够理解其局限性。[9]个人和团队:能够在多学科背景下的团队中承担个体、团队成员以及负责人的角色。[10】沟通:能够就复杂工程问题与业界同行及社会公众进行有效沟通和交流,包括撰写报告和设计文稿、陈述发言、清晰表达或回应指令。并具备一定的国际视野,能够在跨文化背景下进行沟通和交流。[12]终身学习:具有自主学习和终身学习的意识,有不断学习和适应发展的能力。教学目标:Microsoft.NET是微软公司为互联网环境下PC电脑和各类嵌入式智能设备的嵌入式系统的操作系统软件的解决方案,它建立在IT行业标准和Internet标准之上,提供开发(工具)、管理(服务器)、使用(构造服务和智能客户端)以及XMLWeb服务体验(丰富的用户体验),已经成为今天正在使用的MicrosoftWindows应用程序、工具和服务器的基础支撑部分,同时,新产品不断扩展XMLWeb的服务能力以满足云计算等所有业务需求,C#语言是在这一架构上设计开发的最关键的程序设计语言,掌握.NET技术及C#编程知识是现代软件开发的一项基本技能,是理工科专业学生利用现代开发工具解决科学计算及构建分布式应用系统必备的基本知识之一。通过对C#编程语言的学习和项目实践训练,为理工类各专业学生奠定必要的基础,以便将来在工作中具备能力开发出应用程序来解决专业领域内生产及科研问题中的数据获取与信息加工呈现的设计需求,培养学生的实际动手能力和开发能力,满足大数据时代对高级专门人才的需求。本课程的教学目标:1、掌握C#语言面向对象编程基础、掌握Windows窗体程序设计基础以及基本的web编程基础。2、能够根据工程基础和专业知识设计.Net软件开发领域的复杂工程问题的解决方案;3、能够根据用户需求确定计算机.Net软件系统或相关产品的设计目标。4、能根据目标选取恰当的C、Net开发技术与设计流程,并确定系统、模块或流程的研发方案,体现创新意识。5、能针对.Net软件开发领域的复杂工程问题,开发、选择与使用恰当的C#、Net技术、资源、现代工程工具和信息技术工具,包括对复杂工程问题的预测与模拟。6、具备从事基于C#和.Net的软件开发所需的职业素养以及符合社会主义核心价值观的个人素质。支撑的毕业能力项[1]、[3]、[5],具体对应关系说明如下:[1]工程知识:能够将数学、自然科学、工程基础和专业知识用于解决复杂工程问题。本课程目标1:掌握C#语言面向对象编程基础、掌握Windows窗体程序设计基础以2
2 安全、法律、文化以及环境等因素。 [4] 研究:能够基于科学原理并采用科学方法对复杂工程问题进行研究,包括设计实 验、分析与解释数据、并通过信息综合得到合理有效的结论。 [5] 使用现代工具:能够针对复杂工程问题,开发、选择与使用恰当的技术、资源、 现代工程工具和信息技术工具,包括对复杂工程问题的预测与模拟,并能够理解其局限性。 [9] 个人和团队:能够在多学科背景下的团队中承担个体、团队成员以及负责人的角 色。 [10] 沟通:能够就复杂工程问题与业界同行及社会公众进行有效沟通和交流,包括撰 写报告和设计文稿、陈述发言、清晰表达或回应指令。并具备一定的国际视野,能够在跨 文化背景下进行沟通和交流。 [12] 终身学习:具有自主学习和终身学习的意识,有不断学习和适应发展的能力。 教学目标: Microsoft .NET 是微软公司为互联网环境下 PC 电脑和各类嵌入式智能设备的嵌入式 系统的操作系统软件的解决方案,它建立在 IT 行业标准和 Internet 标准之上,提供开发 (工具)、管理(服务器)、使用(构造服务和智能客户端)以及 XML Web 服务体验(丰 富的用户体验),已经成为今天正在使用的 Microsoft Windows 应用程序、工具和服务器的 基础支撑部分,同时,新产品不断扩展 XML Web 的服务能力以满足云计算等所有业务需 求,C#语言是在这一架构上设计开发的最关键的程序设计语言,掌握.NET 技术及 C#编程 知识是现代软件开发的一项基本技能,是理工科专业学生利用现代开发工具解决科学计算 及构建分布式应用系统必备的基本知识之一。 通过对 C#编程语言的学习和项目实践训练,为理工类各专业学生奠定必要的基础,以 便将来在工作中具备能力开发出应用程序来解决专业领域内生产及科研问题中的数据获 取与信息加工呈现的设计需求,培养学生的实际动手能力和开发能力,满足大数据时代对 高级专门人才的需求。 本课程的教学目标: 1、掌握 C#语言面向对象编程基础、掌握 Windows 窗体程序设计基础以及基本的 web 编程基础。 2、能够根据工程基础和专业知识设计.Net 软件开发领域的复杂工程问题的解决方案; 3、能够根据用户需求确定计算机.Net 软件系统或相关产品的设计目标。 4、能根据目标选取恰当的 C#、.Net 开发技术与设计流程,并确定系统、模块或流程 的研发方案,体现创新意识。 5、能针对.Net 软件开发领域的复杂工程问题,开发、选择与使用恰当的 C#、.Net 技 术、资源、现代工程工具和信息技术工具,包括对复杂工程问题的预测与模拟。 6、具备从事基于 C#和.Net 的软件开发所需的职业素养以及符合社会主义核心价值观 的个人素质。 支撑的毕业能力项[1]、[3]、[5],具体对应关系说明如下: [1] 工程知识: 能够将数学、自然科学、工程基础和专业知识用于解决复杂工程问题。 本课程目标 1:掌握 C#语言面向对象编程基础、掌握 Windows 窗体程序设计基础以

及基本的web编程基础。本课程目标2:能够根据工程基础和专业知识设计Net软件开发领域的复杂工程问题的解决方案[3]设计/开发解决方案:能够设计针对复杂工程问题的解决方案,设计满足特定需求的系统、单元(部件)或工艺流程,并能够在设计环节中体现创新意识,考虑社会、健康、安全、法律、文化以及环境等因素。课程目标3:能够根据用户需求确定计算机.Net软件系统或相关产品的设计目标。课程目标4:能根据目标选取恰当的C、Net开发技术与设计流程,并确定系统、模块或流程的研发方案,体现创新意识。课程目标6:具备从事基于C#和.Net的软件开发所需的职业素养以及符合社会主义核心价值观的个人素质。[5]使用现代工具:能够针对复杂工程问题,开发、选择与使用恰当的技术、资源、现代工程工具和信息技术工具,包括对复杂工程问题的预测与模拟,并能够理解其局限性。课程目标5:能针对.Net软件开发领域的复杂工程问题,开发、选择与使用恰当的C、Net技术、资源、现代工程工具和信息技术工具,包括对复杂工程问题的预测与模拟。课程目标6:具备从事基于C#和.Net的软件开发所需的职业素养以及符合社会主义核心价值观的个人素质。本课程对毕业要求指标点达成的支撑情况,详见表1。表1课程目标与毕业要求指标点的对应关系毕业要求指标点序号课程目标359掌握C#语言面向对象编程基础、掌握Windows窗体程序OO-设计基础以及基本的web编程基础。能够根据工程基础和专业知识设计.Net软件开发领域的2O复杂工程问题的解决方案(了解面向对象分析与设计方.法及UML常用符号的用途)能够根据用户需求确定计算机Net软件系统或相关产品3OO的设计目标(掌握Windows应用程序的结构及工作原理)能根据目标选取恰当的C#、.Net开发技术与设计流程,并确定系统、模块或流程的研发方案,体现创新意识。O(掌握.NETFCL的组成及单窗体和多窗体程序的组成及设计方法、Web应用程序的初步设计)能针对.Net软件开发领域的复杂工程问题,开发、选择O与使用恰当的C#、.Net技术、资源、现代工程工具和信.息技术工具,包括对复杂工程问题的预测与模拟。具备从事基于C#和.Net的软件开发所需的职业素养以及6OOo符合社会主义核心价值观的个人素质。注::表示有强相关关系,:表示有一般相关关系,:表示有弱相关关系
3 及基本的 web 编程基础。 本课程目标 2:能够根据工程基础和专业知识设计.Net 软件开发领域的复杂工程问题 的解决方案 [3] 设计/开发解决方案:能够设计针对复杂工程问题的解决方案,设计满足特定需求 的系统、单元(部件)或工艺流程,并能够在设计环节中体现创新意识,考虑社会、健康、 安全、法律、文化以及环境等因素。 课程目标 3:能够根据用户需求确定计算机.Net 软件系统或相关产品的设计目标。 课程目标 4:能根据目标选取恰当的 C#、.Net 开发技术与设计流程,并确定系统、 模块或流程的研发方案,体现创新意识。 课程目标 6:具备从事基于 C#和.Net 的软件开发所需的职业素养以及符合社会主义 核心价值观的个人素质。 [5] 使用现代工具: 能够针对复杂工程问题,开发、选择与使用恰当的技术、资源、 现代工程工具和信息技术工具,包括对复杂工程问题的预测与模拟,并能够理解其局限性。 课程目标 5:能针对.Net 软件开发领域的复杂工程问题,开发、选择与使用恰当的 C#、.Net 技术、资源、现代工程工具和信息技术工具,包括对复杂工程问题的预测与模拟。 课程目标 6:具备从事基于 C#和.Net 的软件开发所需的职业素养以及符合社会主义核 心价值观的个人素质。 本课程对毕业要求指标点达成的支撑情况,详见表 1。 表 1 课程目标与毕业要求指标点的对应关系 序号 课程目标 毕业要求指标点 1 3 5 9 1 掌握 C#语言面向对象编程基础、掌握 Windows 窗体程序 设计基础以及基本的 web 编程基础。 ● ● ⊙ ⊙ 2 能够根据工程基础和专业知识设计.Net 软件开发领域的 复杂工程问题的解决方案(了解面向对象分析与设计方 法及 UML 常用符号的用途) ⊙ ● ● ⊙ 3 能够根据用户需求确定计算机.Net 软件系统或相关产品 的设计目标(掌握 Windows 应用程序的结构及工作原理) ⊙ ● ● ◎ 4 能根据目标选取恰当的 C#、.Net 开发技术与设计流程, 并确定系统、模块或流程的研发方案,体现创新意识。 (掌握.NET FCL 的组成及单窗体和多窗体程序的组成 及设计方法、Web 应用程序的初步设计 ) ● ● ● ⊙ 5 能针对.Net 软件开发领域的复杂工程问题,开发、选择 与使用恰当的 C#、.Net 技术、资源、现代工程工具和信 息技术工具,包括对复杂工程问题的预测与模拟。 ⊙ ● ● ⊙ 6 具备从事基于 C#和.Net 的软件开发所需的职业素养以及 符合社会主义核心价值观的个人素质。 ● ⊙ ⊙ ⊙ 注:●:表示有强相关关系,◎:表示有一般相关关系,⊙:表示有弱相关关系

三、课程教学内容及要求1、课程内容及要求分章节列出课程教学内容及对应课程目标的支撑,详见表2表2教学内容与课程自标的对应关系课程目标(V)章节名称教学内容及重点(^)、难点(*)、自学(△)123456(1)-NETFramework、C#语言的特点及其发展:(2)简单的三种应用程序(控制台应用程序、Windows窗体应用程序和Web应用程序)的结构及其特点[了解]:(3)结合例子讲授Visual Studio.Net2019第1章中的操作方法,包括创建项目、编辑程序、生成和调试应用程序C#概述的方法[掌握]:(4)C#程序的结构、特点()。学习重点:NETFramework、C#语言的特点()C#程序的建立、编辑、生成和运行等基本上机操作过程()托管程序执行的过程()常量和变量概念,变量的声明、初始化方法[掌握]:值类型、引用类型的差别[了解]:C#数据类型:简单类型[掌握]、枚举型enum[了解]、结构型struct[了解]、数据类型转换[理解]:运算符与表达式:算术运算符与表达式[掌握]、赋值运算符与表达式[理解]、关系运算符与表达式[理解]、逻辑运算符与表达式[理解]、运算符优先级【掌握]。掌握C#的运算符和表达式的概念,理解运算符运算规则,第2章理解表达式的使用方法,掌握各种运算符的结合性和优先级:(4)C#程序设数组和字符串:一维数组[掌握]、多维数组[掌握]、参差数组(数计基础知识组型数组)[了解]、字符串(sting类)、动态字符串类(stringBuiler):(-)理解数组和字符串的概念,掌握一维数组和字符申类string的使用方法,了解多维数组、数组型数组的应用,了解动态字符串stringBuilder的用途。相关知识点:内存及其地址分配的相关知识[了解](△),计算机中的数制(二进制、八进制、十六进制等)与字符编码(ASICC码、GB2312-80等、Unicode码等)的相关知识[了解],utf8(△)程序的基本结构:顺序结构(序列结构)、分支结构、循环结构、结构化程序的概念、正规程序的概念、简单正规程序的概念;分支语句:if语句()、条件运算符(?:)(Λ)、多分支if.elseif语句()、switch语句()、分支语句的嵌套[理解]:理解分支第3章的概念,掌握if语句和switch语句的使用方法C#程序的循环语句:while语句()、do...while语句()、for语句()、流程控制foreach语句()循环嵌套[理解l:理解循环的概念,掌握whiledo/while、for、foreach语句的使用方法,l:跳转语句:break语句()、continue语句()。程序流程图符号及简单程序的流程图规定(^)MicrosoftVisio的操作(△)第4章面向对象基本概念:对象、事件与方法、类与对象、抽象封装继面向对象程承与多态;类的定义与使用:类的声明、类的实例化、类的可访4
4 三、课程教学内容及要求 1、课程内容及要求 分章节列出课程教学内容及对应课程目标的支撑,详见表 2. 表 2 教学内容与课程目标的对应关系 章节名称 教学内容及重点(▲)、难点(★)、自学(△) 课程目标(√) 1 2 3 4 5 6 第 1 章 C#概述 (1)•NETFramework、C#语言的特点及其发展;(2)简单的三种应用 程序(控制台应用程序、Windows 窗体应用程序和 Web 应用程序) 的结构及其特点[了解];(3)结合例子讲授 Visual Studio .Net 2019 中的操作方法,包括创建项目、编辑程序、生成和调试应用程序 的方法[掌握];(4)C#程序的结构、特点(▲)。 学习重点:•NETFramework、C#语言的特点(▲) C#程序的建立、编辑、生成和运行等基本上机操作过程(▲) 托 管程序执行的过程(▲) √ √ √ 第 2 章 C#程序设 计基础知识 (一) 常量和变量概念,变量的声明、初始化方法[掌握];值类型、引用 类型的差别[了解];C#数据类型:简单类型[掌握]、枚举型 enum[了 解]、结构型 struct[了解]、数据类型转换[理解];运算符与表达式: 算术运算符与表达式[掌握]、赋值运算符与表达式[理解]、关系运 算符与表达式[理解]、逻辑运算符与表达式[理解]、运算符优先级 [掌握]。掌握 C#的运算符和表达式的概念,理解运算符运算规则, 理解表达式的使用方法,掌握各种运算符的结合性和优先级;(4) 数组和字符串:一维数组[掌握]、多维数组[掌握]、参差数组(数 组型数组)[了解]、字符串(sting 类)、动态字符串类(stringBuiler); 理解数组和字符串的概念,掌握一维数组和字符串类 string 的使用 方法,了解多维数组、数组型数组的应用,了解动态字符串 stringBuilder 的用途。 相关知识点:内存及其地址分配的相关知识[了解] (△),计算机 中的数制(二进制、八进制、十六进制等)与字符编码(ASICC 码、GB2312-80 等、Unicode 码等)的相关知识[了解],utf8(△) √ 第 3 章 C#程序的 流程控制 程序的基本结构:顺序结构(序列结构)、分支结构、循环结构、 结构化程序的概念、正规程序的概念、简单正规程序的概念;分 支语句:if 语句(▲)、条件运算符(?:)(▲)、多分支 if.else if 语句(▲)、switch 语句(▲)、分支语句的嵌套[理解];理解分支 的概念,掌握 if 语句和 switch 语句的使用方法 循环语句:while 语句(▲)、do.while 语句(▲)、for 语句(▲)、 foreach 语句(▲)循环嵌套[ 理解];理解循环的概念,掌握 while、 do/while、for、foreach 语句的使用方法,l;跳转语句:break 语句 (▲)、continue 语句(▲)。 程序流程图符号及简单程序的流程图规定(▲)Microsoft Visio 的 操作(△) √ √ √ 第 4 章 面向对象程 面向对象基本概念:对象、事件与方法、类与对象、抽象封装继 承与多态;类的定义与使用:类的声明、类的实例化、类的可访 √ √ √ √

序设计入门问性、值类型与引用类型;类的成员及其定义:常量与字段、属性、方法、构造函数、析构函数:方法的参数传递:按值传参、按引用传参、输出参数、引用类型的参数传递、数组型参数:方法的重载:成员方法的重载、构造函数的重载:理解面向对象的基本概念,正确区分类和对象,对象的声明和对象的创建[理解]:掌握类的定义与使用方法,正确定义类的数据成员、属性和方法。【掌握]:理解类的可访问性、正确使用访问修饰符控制对类成员的访问。[掌握]:掌握类的方法的定义、调用与重载[掌握],理解方法的参数传递的工作机制[理解]。理解值类型与和引用类型的区别。[理解:理解构造函数与析构函数的作用,掌握其使用方法。[掌握]:类与对象的关系(^),类的实现(),对象的创建方法(),通过对象名的方法调用(),UML类图(^),对象图()。学习重点:类的定义()、类的数据成员()、属性和方法()、构造函数()方法的重载和参数传递()方法的参数传递重点掌握参数传值、引用、输出型3种,理解数组型参数的传递方式(1)静态成员与静态类:静态成员、静态构造函数、静态类:(2)类的继承性:(3)类的多态性:静态多态性与动态多态性、虚方法与动态多态性:(4)抽象类:抽象类及其抽象成员、重载抽象方法:(5)接口:接口的声明、接口的实现、接口多重继承与实现、接口的使用、抽象类与接口的比较:(6)嵌套类、分部类与命名空间。第5章面向总体要求:掌握静态类与静态类成员的定义与使用;理解类的继对象的高级承性与多态性,掌握其应用方法:理解抽象类、接口的概念,掌程序设计握它们的使用方法。学习重点:静态成员与静态类()、类的继承性与多态性()、UML类关系图()、抽象类与接口定义与使用(^)难点是:虚方法的使用方法、虚方法和抽象方法的执行过程(★)继承关系中的构造函数的调用(★)、派生类对象生存期结束时的析构函数的调用顺序(★)引入虚继承后派生类对象创建时构造函数的调用顺序(★)集合:集合概述、ArrayList、哈希表、栈和队列:索引器:索引器的定义与使用、索引器与属性的比较:泛型:泛型概述、泛型集合、自定义泛型第6章集总体要求:了解·NETFramework类库中集合类,初步掌握常用集合、索引器合的创建和操作方法。理解索引器的概念,能区别索引器与属性,与泛型掌握素引器的定义与使用。了解泛型的相关概念,初步掌握泛型接口、泛型类、泛型属性和泛型方法的使用方法。学习重点:集合、索引器、泛型的定义与使用程序错误:程序错误分类、调试程序错误:程序异常处理:异常第7章的概念、异常类、try-catch语句、finally语句、throw语句与抛出程序调试与异常。异常处理总体要求:了解程序错误的3种类型、熟练运用VS2017的调试器5
5 序设计入门 问性、值类型与引用类型;类的成员及其定义:常量与字段、属 性、方法、构造函数、析构函数;方法的参数传递:按值传参、 按引用传参、输出参数、引用类型的参数传递、数组型参数;方 法的重载:成员方法的重载、构造函数的重载;理解面向对象的 基本概念,正确区分类和对象,对象的声明和对象的创建[理解]; 掌握类的定义与使用方法,正确定义类的数据成员、属性和方法。 [掌握];理解类的可访问性、正确使用访问修饰符控制对类成员的 访问。[掌握];掌握类的方法的定义、调用与重载[掌握],理解方 法的参数传递的工作机制[理解]。 理解值类型与和引用类型的区别。[理解];理解构造函数与析构函 数的作用,掌握其使用方法。[掌握];类与对象的关系(▲),类 的实现(▲),对象的创建方法(▲),通过对象名的方法调用(▲), UML 类图(▲),对象图(▲)。 学习重点: 类的定义(▲)、类的数据成员(▲)、属性和方法(▲)、 构造函数(▲)方法的重载和参数传递(▲) 方法的参数传递重点掌握参数传值、引用、输出型 3 种,理解数 组型参数的传递方式 第 5 章面向 对象的高级 程序设计 (1)静态成员与静态类:静态成员、静态构造函数、静态类;(2) 类的继承性;(3)类的多态性:静态多态性与动态多态性、虚方 法与动态多态性;(4)抽象类:抽象类及其抽象成员、重载抽象 方法;(5)接口:接口的声明、接口的实现、接口多重继承与实 现、接口的使用、抽象类与接口的比较;(6)嵌套类、分部类与 命名空间。 总体要求:掌握静态类与静态类成员的定义与使用;理解类的继 承性与多态性,掌握其应用方法;理解抽象类、接口的概念,掌 握它们的使用方法。 学习重点:静态成员与静态类(▲)、类的继承性与多态性(▲)、 UML 类关系图(▲)、抽象类与接口定义与使用(▲) 难点是:虚方法的使用方法、虚方法和抽象方法的执行过程(★) 继承关系中的构造函数的调用(★)、派生类对象生存期结束时的 析构函数的调用顺序(★)、 引入虚继承后派生类对象创建时构造函数的调用顺序 (★) √ √ √ √ √ √ 第 6 章集 合、索引器 与泛型 集合:集合概述、ArrayList、哈希表、栈和队列;索引器:索引器 的定义与使用、索引器与属性的比较;泛型:泛型概述、泛型集 合、自定义泛型 总体要求:了解•NETFramework 类库中集合类,初步掌握常用集 合的创建和操作方法。理解索引器的概念,能区别索引器与属性, 掌握索引器的定义与使用。了解泛型的相关概念,初步掌握泛型 接口、泛型类、泛型属性和泛型方法的使用方法。 学习重点:集合、索引器、泛型的定义与使用 √ 第 7 章 程序调试与 异常处理 程序错误:程序错误分类、调试程序错误;程序异常处理:异常 的概念、异常类、try-catch 语句、finally 语句、throw 语句与抛出 异常。 总体要求:了解程序错误的 3 种类型、熟练运用 VS2017 的调试器 √ √

调试程序错误、了解异常和异常处理的概念、学会使用try-catch-finally及throw语句来捕获和处理异常。异常处理过程(),自定义异常类的设计()。学习重点:调试程序错误的方法()、try-catch-finally结构及其使用方法()学习难点:自定义异常类的设计及抛出自定义异常对象(★)再次抛出异常的处理(★)基于事件的编程思想;委托:委托概述、委托的声明、实例化与使用、委托与匿名函数、多路广播与委托的组合:事件:声明事件、订阅事件、触发事件:基于事件的Windows编程:Windows第8章应用程序概述、Windows窗体与事件驱动编程基于事件驱总体要求:事件源、侦听器、事件处理程序的概念[了解]、委托的动的程序设声明、实例化和使用方法[掌握]、多路广播及其应用[了解]、事件计技术的声明、预定和引用[掌握]、Windows窗体和控件的常用事件[了解]、事件和事件方法之间的关系[理解]。学习重点:委托的声明、实例化和使用方法(Λ)、事件的声明、预定和引用多线程的概念:线程和进程、线程的生命周期和状态、线程的优先级:线程创建和控制:创建和启动线程、控制线程多线程的同步:线程安全、线程同步策略:线程池:线程池管理、第9章ThreadPool类:异步编程:异步编程和多线程、异步编程模式。多线程和异总体要求:线程和进程的概念[了解]、使用C#进行多线程的创建步编程及简单控制[掌握]、线程的同步策略[掌握]、线程池技术[了解]异步编程的设计与实现技术[掌握]。学习重点:线程的启动、管理和终止()、线程安全的实现()、异步编程的实现方法()。窗体与控件概述:Windows窗体、窗体的控件:常用输入与输出控件:文本显示控件、文本编辑控件、按钮控件、图像显示控件:列表与选择类控件:选项与选项组、列表类控件、其他选择类控件、日历与计时器控件对话框及其选项卡设计:对话框概述、对第10章话框的选项卡、消息框、通用对话框;菜单、工具栏和状态栏:Windows程菜单、工具栏、状态栏:SDI和MDI应用程序:创建SDI应用程序的界面设序、创建MDI应用程序。计()菜单的编辑以及事件关联过程、模态窗体和非模态窗体()添加对话框资源的步骤(),利用Visualstudio资源编辑器设计窗体界面(),在自定义窗体与主窗体之间传送数据(★)多文挡界面MDI中母窗体与子窗体之间的导航(★)ADO·NET概述:ADO·NET的架构、ADO·NET的一般使用步骤:使用ADO-NET访问数据库:使用Connection连接数据库、使用第11章Command对象访问数据库、使用DataReader对象访问数据库、使C#数据库用DataAdapter与DataSet对象操作数据库:LINQtoSQL编程:编程技术LINQ概述、LINQ的查询子句与表达式、LINQtoSQL的应用总体要求:掌握ADO.NET的使用方法[掌握]、包括Connection、Command、DataSet、DataAdapter、DataReader、DataGridView控6
6 调试程序错误、了解异常和异常处理的概念、学会使用 try-catch-finally 及 throw 语句来捕获和处理异常。异常处理过程 (▲),自定义异常类的设计(▲)。 学习重点:调试程序错误的方法(▲)、try-catch-finally 结构及其 使用方法(▲) 学习难点:自定义异常类的设计及抛出自定义异常对象(★) 再 次抛出异常的处理(★) 第 8 章 基于事件驱 动的程序设 计技术 基于事件的编程思想;委托:委托概述、委托的声明、实例化与 使用、委托与匿名函数、多路广播与委托的组合;事件:声明事 件、订阅事件、触发事件;基于事件的 Windows 编程:Windows 应用程序概述、Windows 窗体与事件驱动编程 总体要求:事件源、侦听器、事件处理程序的概念[了解]、委托的 声明、实例化和使用方法[掌握]、多路广播及其应用[了解]、事件 的声明、预定和引用[掌握]、Windows 窗体和控件的常用事件[了 解]、事件和事件方法之间的关系[理解]。 学习重点:委托的声明、实例化和使用方法(▲)、事件的声明、 预定和引用 √ 第 9 章 多线程和异 步编程 多线程的概念:线程和进程、线程的生命周期和状态、线程的优 先级;线程创建和控制:创建和启动线程、控制线程 多线程的同步:线程安全、线程同步策略;线程池:线程池管理、 ThreadPool 类;异步编程:异步编程和多线程、异步编程模式。 总体要求:线程和进程的概念[了解]、使用 C#进行多线程的创建 及简单控制[掌握]、线程的同步策略[掌握]、线程池技术[了解]、 异步编程的设计与实现技术 [掌握]。 学习重点:线程的启动、管理和终止(▲)、线程安全的实现(▲)、 异步编程的实现方法(▲)。 √ 第 10 章 Windows 程 序的界面设 计 窗体与控件概述:Windows 窗体、窗体的控件;常用输入与输出 控件:文本显示控件、文本编辑控件、按钮控件、图像显示控件; 列表与选择类控件:选项与选项组、列表类控件、其他选择类控 件、日历与计时器控件对话框及其选项卡设计:对话框概述、对 话框的选项卡、消息框、通用对话框;菜单、工具栏和状态栏: 菜单、工具栏、状态栏;SDI 和 MDI 应用程序:创建 SDI 应用程 序、创建 MDI 应用程序。 (▲)菜单的编辑以及事件关联过程、模态窗体和非模态窗体(▲) 添加对话框资源的步骤(▲),利用 Visual studio 资源编辑器设计 窗体界面(▲),在自定义窗体与主窗体之间传送数据(★)多文 挡界面 MDI 中母窗体与子窗体之间的导航(★) √ √ √ √ 第 11 章 C#数据库 编程技术 ADO•NET 概述:ADO•NET 的架构、ADO•NET 的一般使用步骤; 使用 ADO•NET 访问数据库:使用 Connection 连接数据库、使用 Command 对象访问数据库、使用 DataReader 对象访问数据库、使 用 DataAdapter 与 DataSet 对象操作数据库;LINQ to SQL 编程: LINQ 概述、LINQ 的查询子句与表达式、LINQ to SQL 的应用 总体要求:掌握 ADO.NET 的使用方法[掌握]、包括 Connection、 Command、DataSet、DataAdapter、DataReader、DataGridView 控 √ √ √

件的使用方法:LINQ基本语法[了解]、LINQtoSQL的使用方法[掌握]。学习重点:使用Connection和Command对数据库的操作(^)掌握DataSet、DataAdapter、DataReader对象的作用和使用方法()、使用DataGridView结合ADO.NET对数据库的修改和查询操作()文件的输入输出:文件1/O与流、读写文本文件、读写二进制文件、对象的序列化:文件操作控件:SaveFileDialogOpenFileDialog控件、FoldBrowserDialog控件、简易写字板程序。总体要求:文件与流的区别[理解],常用的操作流的类的功能[了解]、文本文件或二进制文件读写方法[掌握]、序列化和反序列化的概念[了解]、序列化和反序列化的实现方法[掌握]、利用这些控件来打开或保存文件的实现方法[掌握]。学习重点:文本文件或二进制文件读写(^)、文件操作控件使用第12章(Λ)。XML文档编程:XML概述、XML文档的创建、XML文文件操作与档的查询、XML文档的编辑编程技术总体要求:XML的概念和及其基本的语法规则:【了解]访问XML的相关技术及其特点(包括DOM、XPath和XQuery等)[了解],操作XML文档的编程方法,包括创建XML文档、查询和编辑XML数据等[掌握],LINQ的相关概念)「了解],LINQ查询的语法规则[掌握],LINQtoXML和这两种技术的应用方法[掌握),DOM技术在XML中的应用(△)LINQ查询(△)、LINQtoXML(△)和LINQtoSQL(△)XML文档的创建()、XML文档的查询()、XML文档的编辑()网络编程基础:计算机网络概述、计算机网络的通信协议System.Net概述:Socket编程:Socket编程概述、TCP应用编程、UDP应用编程:FTP与文件传输编程:WebRequest类和WebResponse类、FTP客户端的实现:基于WebAPI的面向服务编程:ASP.NETWebAPI概述、WebAPI服务器端编程、HTTPClient第13章网客户端编程。络应用与面总体要求:熟悉System.Net及其子命名空间中的常用类、熟悉向服务程序Socket、TCPListener、TcpClient和UDPClient类,掌握它们的编程设计与应用方法。熟悉WebRequest和WebResponse类、学会FTP客户端的编程方法:了解WebAPI框架,学会基于WebAPI的Web服务的定义与使用方法学习重点:掌握System.Net及其子命名空间中常用类的使用方法()、掌握有关Socket、TcpListener、TcpClient和UdpClient的编程方法():掌握基于WebAPI的Web服务的定义与引用(^)GDI+绘图:GDI+概述、创建Graphics对象、颜料、钢笔和画刷、线条和图形的绘制、图像和文本的绘制、坐标系统及变换第14章WindowsMediaPlayer组件的使用:多媒体编程WindowsMediaPlayer组件的介绍、WindowsMediaPlayer组件的技术使用总体要求:了解GDI+的组成和工作机制,了解System.Drawing命7
7 件的使用方法;LINQ 基本语法[了解]、LINQ to SQL 的使用方法[掌 握]。 学习重点:使用 Connection 和 Command 对数据库的操作(▲)、 掌握 DataSet、DataAdapter、DataReader 对象的作用和使用方法 (▲)、使用 DataGridView 结合 ADO.NET 对数据库的修改和查询 操作(▲) 第 12 章 文件操作与 编程技术 文件的输入输出:文件 I/O 与流、读写文本文件、读写二进制文件、 对象的序列化;文件操作控件:SaveFileDialogOpenFileDialog 控件、 FoldBrowserDialog 控件、简易写字板程序。 总体要求:文件与流的区别[理解],常用的操作流的类的功能[了 解]、文本文件或二进制文件读写方法[掌握]、序列化和反序列化 的概念[了解]、序列化和反序列化的实现方法[掌握]、利用这些控 件来打开或保存文件的实现方法[掌握]。 学习重点:文本文件或二进制文件读写(▲)、文件操作控件使用 (▲)。XML 文档编程:XML 概述、XML 文档的创建、XML 文 档的查询、XML 文档的编辑。 总体要求:XML 的概念和及其基本的语法规则;[了解] 访问 XML 的相关技术及其特点(包括 DOM、XPath 和 XQuery 等) [了解],操作 XML 文档的编程方法,包括创建 XML 文档、查询 和编辑 XML 数据等[掌握],LINQ 的相关概念)[了解],LINQ 查 询的语法规则[掌握],LINQ to XML 和这两种技术的应用方法[掌 握],DOM 技术在 XML 中的应用(△) LINQ 查询(△)、LINQ to XML(△)和 LINQ to SQL(△)XML 文档的创建(▲)、XML 文档的查询(▲)、XML 文档的编辑(▲) √ 第 13 章 网 络应用与面 向服务程序 设计 网络编程基础:计算机网络概述、计算机网络的通信协议、 System.Net 概述;Socket 编程:Socket 编程概述、TCP 应用编程、 UDP 应用编程;FTP 与文件传输编程:WebRequest 类和 WebResponse 类、FTP 客户端的实现;基于 Web API 的面向服务编 程:ASP.NET Web API 概述、Web API 服务器端编程、HTTPClient 客户端编程。 总体要求:熟悉 System.Net 及其子命名空间中的常用类、熟悉 Socket、TCPListener、TcpClient 和 UDPClient 类,掌握它们的编程 与应用方法。熟悉 WebRequest 和 WebResponse 类、学会 FTP 客户 端的编程方法;了解 Web API 框架,学会基于 Web API 的 Web 服 务的定义与使用方法 学习重点:掌握 System.Net 及其子命名空间中常用类的使用方法 (▲)、掌握有关 Socket、TcpListener、TcpClient 和 UdpClient 的 编程方法(▲);掌握基于 Web API 的 Web 服务的定义与引用(▲) √ √ √ √ 第 14 章 多媒体编程 技术 GDI+绘图:GDI+概述、创建 Graphics 对象、颜料、钢笔和画刷、 线条和图形的绘制、图像和文本的绘制、坐标系统及变换 Windows Media Player 组件的使用: Windows Media Player 组件的介绍、Windows Media Player 组件的 使用 总体要求:了解 GDI+的组成和工作机制,了解 System.Drawing 命 √

名空间:理解画面类Graphics、钢笔类Pen、画笔类Brush和颜料类Color的关系,掌握创建Graphics、Pen、Brush对象的方法:学会绘制各种图形的方法(包括点、线条、曲线、弧线、折线、矩形、椭圆、多边形等):掌握图像及文本的呈现方法。了解WindowsMediaPlayer组件对象模型,掌握其使用方法。学习重点:GDI+的应用()、WindowsMediaPlayer组件的使用课程综合设计(自主选择适度规模的软件设计题目,综合运用所自主选题小学知识,完成软件界面设计、功能及结构分析、算法设计、代码组综合设计设计、总结报告撰写,2-3人合作完成)[掌握]:指学生能根据不同情况对某些概念、定律、原理、方法等在正确理解的基础上结合事例加以运用,包括分析和综合。[理解]:指学生能用自己的语言叙述、解释、归纳,并能把某一事实或概念分解为若干部分,指出它们之间的内在联系或与其他事物的相互关系。了解:指学生应该辨认的科学事实、概念、原则和术语等,知道事物的分类、过程及变化倾向,包括必要的记忆。【△]:指学生自学或教师粗讲。2、支撑毕业能力项的教学内容毕业能力[1]工程知识:面向对象编程基础、面向对象设计方法、数据库编程基础、文件和流编程基础毕业能力[3]设计/开发解决方案:教学内容中的教务管理案例教学、WindowsGUI界面设计及程序设计、Web页面设计与后台数据库设计及代码设计、小组综合设计毕业能力[5]使用现代工具:VisualStudio2017(及以上)的熟悉操作,MicrosoftVisio流程图绘制工具,MicrosoftAccess2017简单数据库的创建、表的建立、数据录入、SQL语句使用四、教学环节安排及要求本课程共48学时,其中理论教学:32学时,实验教学:16学时,课外安排小组综合设计(学生生均约需投入10天时间,每天约2小时)理论教学:重点讲清楚C#语言面向对象程序设计基础、Windows窗体应用程序设计基础、Web程序设计基础,约28学时,以讲授为主,辅以课外书面作业,学生课外预习,安排约4小时的习题评讲活动。书面作业按学生专业类别要求如下:非电子信息类各专业:第1章:题1、题2;第2章:题1、题2:第3章:题1、题2、题3.1、题3.2题3.3、第4章:题1、题2、题3;第5章:题1、题2:第6章:题1、题2:第7章:题1、题2:第8章:题1、题2:第10章:题1、题2:第12章:题1、题2;第14章:题1、题2;电子信息类各专业:第1章:题1、题2;第2章:题1、题2;第3章:题1、题2、题3.4、题3.5、题3.6、第4章:题1、题2、题3:第5章:题1、题2:第6章:题1、题2;第7章:题1、题2;第8章:题1、题2;第9章:题1、题2;第10章:题1、题2:第11章:题1、题2:第12章:题1、题2:第13章:题1、题2:第14章:题1、8
8 名空间;理解画面类 Graphics、钢笔类 Pen、画笔类 Brush 和颜料 类 Color 的关系,掌握创建 Graphics、Pen、Brush 对象的方法;学 会绘制各种图形的方法(包括点、线条、曲线、弧线、折线、矩 形、椭圆、多边形等);掌握图像及文本的呈现方法。了解 Windows Media Player 组件对象模型,掌握其使用方法。 学习重点:GDI+的应用(▲)、Windows Media Player 组件的使用 自主选题小 组综合设计 课程综合设计(自主选择适度规模的软件设计题目,综合运用所 学知识,完成软件界面设计、功能及结构分析、算法设计、代码 设计、总结报告撰写,2-3 人合作完成) √ √ [掌握]:指学生能根据不同情况对某些概念、定律、原理、方法等在正确理解的基础 上结合事例加以运用,包括分析和综合。 [理解]:指学生能用自己的语言叙述、解释、归纳,并能把某一事实或概念分解为若 干部分,指出它们之间的内在联系或与其他事物的相互关系。 [了解]:指学生应该辨认的科学事实、概念、原则和术语等,知道事物的分类、过程 及变化倾向,包括必要的记忆。 [ △ ]:指学生自学或教师粗讲。 2、支撑毕业能力项的教学内容 毕业能力[1] 工程知识:面向对象编程基础、面向对象设计方法、数据库编程基础、 文件和流编程基础 毕业能力[3] 设计/开发解决方案:教学内容中的教务管理案例教学、Windows GUI 界 面设计及程序设计、Web 页面设计与后台数据库设计及代码设计、小组综合设计 毕业能力[5]使用现代工具:Visual Studio 2017(及以上)的熟悉操作,Microsoft Visio 流程图绘制工具,Microsoft Access2017 简单数据库的创建、表的建立、数据录入、SQL 语 句使用 四、教学环节安排及要求 本课程共 48 学时,其中理论教学:32 学时,实验教学:16 学时,课外安排小组综合 设计(学生生均约需投入 10 天时间,每天约 2 小时) 理论教学:重点讲清楚 C#语言面向对象程序设计基础、Windows 窗体应用程序设计 基础、Web 程序设计基础,约 28 学时,以讲授为主,辅以课外书面作业,学生课外预习, 安排约 4 小时的习题评讲活动。 书面作业按学生专业类别要求如下: 非电子信息类各专业:第 1 章:题 1、题 2;第 2 章:题 1、题 2;第 3 章:题 1、题 2、题 3.1、题 3.2 题 3.3、第 4 章:题 1、题 2、题 3;第 5 章:题 1、题 2;第 6 章:题 1、 题 2;第 7 章:题 1、题 2;第 8 章:题 1、题 2;第 10 章:题 1、题 2;第 12 章:题 1、 题 2;第 14 章:题 1、题 2; 电子信息类各专业:第 1 章:题 1、题 2;第 2 章:题 1、题 2;第 3 章:题 1、题 2、 题 3.4、题 3.5、题 3.6、第 4 章:题 1、题 2、题 3;第 5 章:题 1、题 2;第 6 章:题 1、 题 2;第 7 章:题 1、题 2;第 8 章:题 1、题 2;第 9 章:题 1、题 2;第 10 章:题 1、 题 2;第 11 章:题 1、题 2;第 12 章:题 1、题 2;第 13 章:题 1、题 2;第 14 章:题 1