《C#程序设计教程》课程教学大纲
执笔人:xxx,xxx,xxx 编写日期:年 月
一、课程基本信息1.课程名称:C#程序设计教程
2.课程编号:
3.课程体系/类别:
4.课程性质:
5.学分:3
6.先修课程:数据结构、离散数学、程序设计基础、Java程序设计
7.适用专业:计算机科学与技术专业、网络空间安全专业或其他相近专业
二、课程教学目标 本课程是为计算机科学与技术、网络空间安全等相关专业本科生开设的一门课程。.NET是一个全面的产品家族,它建立在行业标准和Internet 标准之上,提供开发(工具)、管理(服务器)、使用(构造块服务和智能客户端)以及 XML Web 服务体验(丰富的用户体验)。.NET 将成为今天正在使用的 Microsoft 应用程序、工具和服务器的一部分,同时,新产品不断扩展 XML Web 的服务能力以满足所有业务需求。掌握.NET技术是现代软件开发的一项基本技能,是计算机及相关专业学生必备的基本知识。如今,C#已经成为微软.NET平台的主角,C#程序员队伍也日益庞大。相信,凭借着微软雄厚的技术实力和不容动摇的软件霸主地位,在今后可预见的未来,C#必将得到进一步的加强和完善,受到更多程序员的青睐。通过对以C#编程语言的学习,为计算机及相关专业学生奠定基本应用技能的储备,培养学生的实际动手能力和开发能力,满足当今大数据时代对高级专门人才的需求。本课程的教学目标:
1、 能够根据工程基础和专业知识设计.Net软件开发领域的复杂工程问题的解决方案;
2、 能够根据用户需求确定计算机.Net软件系统或相关产品的设计目标。
3、 能根据目标选取恰当的C#、.Net开发技术与设计流程,并确定系统、模块或流程的研发方案,体现创新意识。
4、 能针对.Net软件开发领域的复杂工程问题,开发、选择与使用恰当的C#、.Net技术、资源、现代工程工具和信息技术工具,包括对复杂工程问题的预测与模拟。
5、 具备从事基于C#和.Net的软件开发所需的职业素养以及符合社会主义核心价值观的个人素质。
三、课程目标和毕业要求的对应关系课程目标和毕业要求的对应关系见表1。
表1 课程目标和毕业要求的对应关系(仅供参考)
毕业要求 | 毕业要求指标点 | 课程目标 |
1工程知识:能够将数学、自然科学、工程基础和专业知识用于解决计算机及相关领域的复杂工程问题。 | 1.3能够根据工程基础和专业知识设计计算机相关领域的复杂工程问题的解决方案。 | 目标1 |
3 设计/开发解决方案:能够设计针对计算机领域复杂工程问题的解决方案,设计满足特定需求的计算机系统、软硬件或相关产品,并能够在设计环节中体现创新意识,考虑社会、健康、安全、法律、文化以及环境等因素。 | 3.1能够根据用户需求确定计算机系统、软硬件或相关产品的设计目标。 | 目标2 |
3 设计/开发解决方案:能够设计针对计算机领域复杂工程问题的解决方案,设计满足特定需求的计算机系统、软硬件或相关产品,并能够在设计环节中体现创新意识,考虑社会、健康、安全、法律、文化以及环境等因素。 | 3.2能根据目标选取恰当的计算机开发技术与设计流程,并确定系统、模块或流程的研发方案,体现创新意识。 | 目标3,5 |
5 使用现代工具:能够针对复杂工程问题,开发、选择与使用恰当的技术、资源、现代工程工具和信息技术工具,包括对复杂工程问题的预测与模拟,并能够理解其局限性。 | 5.1能针对计算机相关领域的复杂工程问题,开发、选择与使用恰当的技术、资源、现代工程工具和信息技术工具,包括对复杂工程问题的预测与模拟。 | 目标4,5 |
四、课程教学内容和要求
本课程的课内总学时为48学时,其中理论学时36学时,实验学时12学时。本课程的课内理论教学内容、重点、难点、教学要求见表2。
表2 课内理论教学内容与要求(仅供参考)
序号 | 知识单元(章节) | 知识点 | 重点 | 难点 | 要求 | 推荐学时 | 支撑毕业要求指标点 |
1 | C#程序设计基础 | 程序设计语言 程序设计方法 C#程序设计语言概述 C#集成开发环境 | 了解 | 2 | 1.3,3.1,5.1 | ||
2 | 基本数据类型 | 基本数据类型 变量与常量 基本运算 复合数据类型 数组的定义和使用 | * | 掌握 | 2 | 3.2 | |
3 | 选择结构和循环结构 | if语句——二分支选择语句 switch语句——多分支选择语句 while语句和do…while语句 for语句和foreach语句 跳转语句 | * | 理解 | 3 | 3.2,3.1 | |
4 | 面向对象编程方法 | 类和对象 类的继承、重载与多态 运算符的重载 接口及其实现 方法的委托 泛型类 常用的几个类 命名空间 | * | * | 掌握 | 6 | 1.3,3.1,3.2 |
5 | 异常处理 | 异常的捕获与处理 异常的抛出及自定义异常 | * | 理解 | 2 | 5.1 | |
6 | 窗体应用程序设计 | 组件的公共属性、事件和方法 常用的控件 常用的对话框 消息对话框 菜单和工具栏的设计 | * | * | 理解 | 4 | 1.3,3.1 |
7 | 目录和文件操作 | 目录管理 文件管理 文本文件的读写 二进制文件的读写 | * | 了解 | 2 | 5.1 | |
9 | 多线程 | 线程及其实现方法 线程的同步控制 线程池 线程对控件的访问 | 了解 | 2 | 3.2 | ||
10 | 数据库开发技术 | 数据库系统与ADO.NET概述 SQL语言简介 ADO.NET对象 数据库操作举例 | * | 理解 | 2 | 1.3,3.1,5.1 | |
11 | ASP.NET Web应用开发 | 关于ASP.NET ASP.NET控件和对象 ASP.NET数据库应用程序 Web服务的应用 | * | * | 掌握 | 3 | 3.2,3.1,5.1 |
12 | 基于数据控件的应用程序开发 | 数据显示控件 DataGridView控件的结构 DataGridView控件的属性和方法 对DataGridView控件加载数据 DataGridView控件的应用举例 GridView控件的属性和事件 GridView控件的数据库应用 应重视的问题 | * | 理解 | 4 | 1.3,3.2,5.1 | |
13 | Excel数据读写在Web开发中的应用 | Excel表的结构 Excel数据读写的三种方法 构造不规则Excel表 Excel数据的导入与导出 | 了解 | 2 | 3.2,3.1,5.1 | ||
14 | 应用程序的发布 | 关于应用程序的发布 由手工复制文件来发布程序 IIS安装与Web应用程序发布 使用.NET项目来发布程序 | * | * | 了解 | 2 | 1.3,3.1 |
本课程针对主要知识点设计了难度不同的配套实验,由教师在实验课上指导完成。具体实验教学内容与教学要求见表3。
表3 课内实验教学内容与要求
序号 | 实验项目名称 | 实验主要内容 | 实验类型 | 计划学时 | 开出要求 | 实验者类别 | 每组人数 |
1 | 数据类型和基本语法的运用 | 编写一个C#窗体应用程序,对于输入的正整数n,然后计算1!+2!+3!+…+n!的值并输出。 | 验证、设计 | 2 | 必做 | 本科生 | 1 |
2 | 类的运用 | 定义一个大整数类,使得基于此类可以实现对最高有100位的整数进行加、减法运算,以及进行大整数比较(包括相等、大于和小于的比较) | 验证、设计 | 3 | 必做 | 本科生 | 1 |
3 | 基本异常处理 | 编写一个能够进行加、减、乘、除的计算器程序(窗体应用程序),并能够处理可能产生的异常。 | 验证 | 2 | 必做 | 本科生 | 1 |
4 | 窗体应用程序开发方法 | 编写一个包含两个ListBox控件的窗体应用程序,要求实现下列功能:(1)通过鼠标可以将一个ListBox控件中的任意一项拖到另一个ListBox控件中,反之亦然;(2)拖动时,鼠标呈手势状,使得拖动操作更具形象化。 | 验证、设计 | 3 | 必做 | 本科生 | 2 |
5 | 文本文件读写方法 | 利用本章介绍的文本文件的读写方法,开发一个“记事本”程序,要求能够实现文件的打开、编辑、保存功能,并能够处理可能出现的异常。 | 验证 | 2 | 必做 | 本科生 | 1 |
6 | 数据库应用程序开发 | 创建一个数据库应用程序,使它能够对表teacher进行简单的数据浏览、插入、更新和删除操作。 | 验证、设计 | 3 | 必做 | 本科生 | 1 |
7 | Web数据库应用程序开发 | 创建一个Web服务程序,它针对指定的数据表提供共享的DataSet对象;同时创建一个窗体应用程序,它通过利用由Web服务共享的DataSet对象来实现数据浏览功能。 | 验证、设计 | 3 | 必做 | 本科生 | 2 |
8 | 制作安装程序 | 利用InstallShield Limited Edition,制作程序PictureBrowse(见例14.1)的安装程序。 | 验证 | 1 | 必做 | 本科生 | 1 |
注:提供了总共19个学时的实验列表,教师可根据需要从中选择12学时的实验方案。
五、课程教学方法1.课堂讲授
课堂讲授是知识传授的主要方式。在课堂教学中,通常采用PPT展示并讲解的方式进行教学,有时候也用粉笔进行推导和说明;根据需要还进行专题学习和讨论、课堂即时测验等,就重点、难点问题进行分析和学习;此外,根据实际需要,还通过实时操作等方法进行演示,还通过视频、动画等方式进行展示。总之,通过多种方式,积极调动大家的积极性,进行引导,以传授C#、.Net编程知识,同时强调知识点的衔接、知识结构的贯通,在传授知识的同时,注意培养学生的批判性思维。
2.实验教学
实验教学是C#编程技能训练的一种主要教学环节,主要包括验证性实验和设计性综合实验两种。
3.作业练习
作业练习是对知识重复训练的一种能力培养方式。任课教师根据教学进度安排适量的作业,此外还安排问题解答时间、安排习题课等,点评普遍性与重要性的问题。
4.大作业或专题报告
针对重要的问题或涉及的复杂应用系统的工程问题,教师根据学生掌握的情况适当安排大作业、专题报告,通过分组讨论、答辩、提交报告等方式帮助学生培养解决复杂工程问题的能力。
六、课程考核课程总成绩=期末考试(50%)+课程实验(15%)+大作业或专题报告(15%)+平时作业(10%)+平时表现及出勤率(10%)。
七、本课程与其它课程的联系与分工1.先修课程
本课程的先修课是《数据结构》、《离散数学》、《程序设计基础》、《Java程序设计》。
2.后续课程
本课程的后续课程是《面向对象程序设计(Java)》、《基于.net的软件开发》和《软件开发实践》等。
八、建议教材与教学参考书蒙祖强编著. C#程序设计教程(第2版). 北京:清华大学出版社,2019年9月.
C#程序设计教程(第2版)
ISBN:9787302529996
出版日期:2019.09
基础知识点精讲,注重实战案例分析与演练。83个知识点案例,条理清楚、代码简洁、操作简便,配套资源丰富。
配套资源教学课件、教学大纲、程序源码、习题答案、安装软件
【完整版教学大纲获取方式】
关注“书圈”公众号,进行高校教师注册,成功后回复书号后6位:
529996
即可获取。
高校教师
免费在线申请教材
(关注书圈,注册即可)