C#程序设计及其应用课程详细信息

课程号 04831990 学分 2
英文名称 C# Programming and Application
先修课程 至少学习过一门程序设计语言(如C/C++/Python/Java/VB/Javascript等),或在《计算概论》中学过程序设计。
中文简介 课程相关信息可以参考  http://cf.pku.edu.cn/tds/csharp  及 http://www.icourse163.org/course/PKU-1001663016

C#是一种优秀的面向对象语言,它继承了C++和Java等语言的优点,并与现代软件工程相适应。C#语言利用.NET作为运行平台,使得它在Windows图形用户界面、Web应用、数据库等方面有强大的功能。C#在企业信息化的软件开发中已广泛应用,成为主流的程序设计语言。

本课程在介绍C#语言及面向对象的程序设计基本原理的基础上,使用Visual Studio作为程序设计工具,介绍各种常见的信息的处理方法,包括文本处理、图形绘制、图像处理、多媒体、搜索引擎、数据库应用、信息安全、企业信息化、电子商务、地理信息系统(GIS)、软件工程等。应用程序的例子紧密结合日常的学习和工作,生动有趣,难度适中。课程中除了理论知识外,更注重上机编程实践,通过实践来培养严密的逻辑思维能力,提高分析问题、解决问题、合作学习的能力。

本课程的目标是:学习和掌握C#语言的原理和方法,以及C#在常见的各类信息的处理以及企业信息化的应用,掌握软件开发的过程、工具与规范方法。
英文简介 C# is an popular language. This Course is trainning how to programme using C#.
开课院系 信息科学技术学院
通选课领域  
是否属于艺术与美育
平台课性质  
平台课类型  
授课语言 中文
教材 C#程序设计教程(第2版),唐大仕,北方交通大学出版社、清华大学出版社,201803,2,978-7-5121-3396-9;
参考书
教学大纲 课程相关信息可以参考  http://cf.pku.edu.cn/tds/csharp  及 http://www.icourse163.org/course/PKU-1001663016

C#是一种优秀的面向对象语言,它继承了C++和Java等语言的优点,并与现代软件工程相适应。C#语言利用.NET作为运行平台,使得它在Windows图形用户界面、Web应用、数据库等方面有强大的功能。C#在企业信息化的软件开发中已广泛应用,成为主流的程序设计语言。

本课程在介绍C#语言及面向对象的程序设计基本原理的基础上,使用Visual Studio作为程序设计工具,介绍各种常见的信息的处理方法,包括文本处理、图形绘制、图像处理、多媒体、搜索引擎、数据库应用、信息安全、企业信息化、电子商务、地理信息系统(GIS)、软件工程等。应用程序的例子紧密结合日常的学习和工作,生动有趣,难度适中。课程中除了理论知识外,更注重上机编程实践,通过实践来培养严密的逻辑思维能力,提高分析问题、解决问题、合作学习的能力。

本课程的目标是:学习和掌握C#语言的原理和方法,以及C#在常见的各类信息的处理以及企业信息化的应用,掌握软件开发的过程、工具与规范方法。
第1讲 C#程序设计简介
第2讲 C#语言基础
第3讲 面向对象的C#语言
第4讲 C#语言高级特性
第5讲 基础类及常用算法
第6讲 流、文件
第7讲  Windows窗体与控件
第8讲 绘图及图像
第9讲 文本处理及正则表达式
第10讲 网络信息获取及Xml处理
第11讲 多线程与异步编程
第12讲 访问数据库
第13讲 深入理解C#语言

详细课程大纲
课前准备

《C#程序设计》学习日历

准备教材及热身活动

第1讲 C#程序设计简介

1.1 C#与.NET概述

1.2 C#快速入门

1.3 基本的应用类型

1.4 基本输入与输出

第1讲小结

第1讲测验 C#程序设计简介

第1讲作业 简单的程序

第2讲 C#语言基础

2.1  数据类型、变量与常量 —— 语言中的单词

2.2 运算符与表达式 —— 语言中的标点符号

2.3 流程控制语句 —— 语言中的语句

2.4 数组 —— 与C语言的数组大不同

2.5 补充材料

第2讲小结

第2讲测验  C#语言基础

第2讲作业 自动出题并判分的改进

第3讲 面向对象的C#语言

3.1 类、字段、方法 —— 面向对象那点事儿

3.2 属性、索引  ——  访问字段能更优优雅吗

3.3 类的继承  ——  富二代值得羡慕吗

3.4 修饰符 —— 形容词有大作用

3.5 接口 —— 我和她有个约定

3.6 结构及枚举 —— 原来这就是值类型

第3讲小结

第3讲测验  面向对象的C#语言

第3讲作业 ATM示例程序的改进

第4讲 C#语言高级特性

4.1  委托 —— 函数也能当变量

4.2 事件 —— 悄悄的告诉你

4.3  Lambda表达式 —— 简洁到了极致

4.4 运算符重载 —— 原来函数可以写成一个符号

4.5 异常处理 —— 麻烦总有人帮着解决

4.6 Attribute —— 微软都不会翻译的一个词

4.7 C#语言中的其他成分 —— 学到这里C#语法就差不多了

4.8 程序的组织 —— 不再只是单个类的程序

4.9 语法总结 —— C#主要就是类型及其成员

第4讲小结

第4讲测验 C#语言高级特性

第4讲作业  再次改进“银行系统”

第5讲 基础类及常用算法

5.1 DotNet基本类库 —— 要编程需要知道这些

5.2 类型转换 —— 一切皆是类型

5.3  数学、文字、日期 —— 最常用的类型

5.4 数组、集合、泛型 —— 在这里真的见到索引器了

第5讲小结

5.5 常用算法—— 遍试、迭代、递归

第5讲测验  基础类及常用算法

第5讲作业 关于画树例子的改进

第6讲 流、文件

6.1 IO及文件管理

6.2 文件内容的读写

6.3 补充:注册表操作

第6讲小结

6.4 号外:程序的调试 —— 编程必不可少的手段

第6讲测验 流、文件

第6讲作业 背单词程序

第7讲  Windows窗体与控件

7.1 布局与事件 —— 界面的基本问题

7.2 常用控件

7.3 窗体

7.4 菜单、工具栏、对话框

7.5 用户控件

第7讲小结

第7讲测验  Windows窗体与控件

第7讲作业 2048小游戏

第8讲 绘图及图像

8.1 绘图基础GDI+

8.2 绘图对象及绘图方法

8.3 一组漂亮的绘图示例

8.4 控件的重绘及双缓冲

8.5 图像处理

第8讲小结

第8讲测验  绘图及图像

第8讲作业 公章或搞笑证书生成器

第9讲 文本处理及正则表达式

9.1 基于文本的应用

9.2 正则表达式

第9讲小结

第9讲测验 文本处理及正则表达式

第9讲作业 身份证输入框

第10讲 网络信息获取及Xml处理

10.1 网络信息获取的基本方法

10.2 XML基本操作

10.3 XPath及Xlst编辑教学内容

10.4大仕老师编写的一组示例

第10讲小结

第10讲测验 网络信息获取及Xml处理

第10讲作业 简单的网络爬虫

第11讲 多线程与异步编程

11.1 线程及其控制

11.2 并行编程

11.3 异步编程

第11讲小结

第11讲测验 测验: 线程、并行及异步编程

第11讲作业 多线程的网络信息获取处理

第12讲 访问数据库

12.1 数据库基础知识

12.2 ADO.NET

12.3 访问数据库的方法

12.4 数据库应用程序

第12讲小结

第12讲测验 访问数据库

第12讲作业 使用数据库的背单词程序

第13讲 深入理解C#语言

13.6 C#语言新特性

第13讲小结

13.1 类型与转换

13.2 变量及其传递

13.3 多态与虚方法调用

13.4 动态类型确定

13.5 对象构造与析构

第13讲测验  深入理解C#语言
采用翻转课堂形式教学,主要是慕课(在线视频)以及在机房面授(及编程讨论)为主。课程着重编写实用程序能力的培养。
平时成绩为主。包括慕课分数、平时作业分数、期中随堂测验、期末大作业分数。(没有期末笔试)
教学评估 唐大仕:
学年度学期:16-17-1,课程班:C#程序设计及其应用1,课程推荐得分:4.5,教师推荐得分:4.5,课程得分分数段:90-95;
学年度学期:17-18-1,课程班:C#程序设计及其应用1,课程推荐得分:4.02,教师推荐得分:4.11,课程得分分数段:85-90;
学年度学期:18-19-1,课程班:C#程序设计及其应用1,课程推荐得分:0.0,教师推荐得分:9.09,课程得分分数段:90-95;
学年度学期:19-20-1,课程班:C#程序设计及其应用1,课程推荐得分:0.0,教师推荐得分:8.67,课程得分分数段:85-90;
学年度学期:20-21-1,课程班:C#程序设计及其应用1,课程推荐得分:0.0,教师推荐得分:9.17,课程得分分数段:95-100;
学年度学期:21-22-1,课程班:C#程序设计及其应用1,课程推荐得分:0.0,教师推荐得分:7.73,课程得分分数段:85-90;
学年度学期:22-23-1,课程班:C#程序设计及其应用1,课程推荐得分:0.0,教师推荐得分:7.5,课程得分分数段:80-85;
学年度学期:23-24-1,课程班:C#程序设计及其应用1,课程推荐得分:0.0,教师推荐得分:8.0,课程得分分数段:85-90;