C#是一种优秀的面向对象语言,它继承了C++和Java等语言的优点,并与现代软件工程相适应。C#语言利用.NET作为运行平台,使得它在Windows图形用户界面、Web应用、数据库等方面有强大的功能。C#在企业信息化的软件开发中已广泛应用,成为主流的程序设计语言。
本课程在介绍C#语言及面向对象的程序设计基本原理的基础上,使用Visual Studio作为程序设计工具,介绍各种常见的信息的处理方法,包括文本处理、图形绘制、图像处理、多媒体、搜索引擎、数据库应用、信息安全、企业信息化、电子商务、地理信息系统(GIS)、软件工程等。应用程序的例子紧密结合日常的学习和工作,生动有趣,难度适中。课程中除了理论知识外,更注重上机编程实践,通过实践来培养严密的逻辑思维能力,提高分析问题、解决问题、合作学习的能力。
本课程的目标是:学习和掌握C#语言的原理和方法,以及C#在常见的各类信息的处理以及企业信息化的应用,掌握软件开发的过程、工具与规范方法。
本课程2017年被教育部认定为“国家精品在线开放课程”。
第0讲 课前准备
《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讲作业 再次改进“银行系统”
第4讲测验 C#语言高级特性
第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讲作业 背单词程序
第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讲作业 简单的网络爬虫
第10讲测验 网络信息获取及Xml处理
第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.1 类型与转换
13.2 变量及其传递
13.3 多态与虚方法调用
13.4 动态类型确定
13.5 对象构造与析构
13.6 C#语言新特性
第13讲小结
第13讲测验 深入理解C#语言
最好是学过一门程序设计语言(如C、C++、Java、Python、VB等任何一门语言)。
唐大仕《C#程序设计教程(第2版)》清华大学出版社
ISBN 978-7-5121-3396-9
Nagel, 《C#高级编程》 清华大学出版社
1. C#如何读啊?
答: C#读成c sharp,当然,读成 “C井”别人也能理解。就像WindowXP,读成“Windows叉P”中国人都知道。
2. C#与C++的关系是怎样的?
答:C#是在C++与Java基础上发展起来的,比C++的功能更强大,而且用起来不知要方便多少倍!
3. C#编程难学吗?
答:C#编程很容易入门,不信的话,你学一次课就知道,它是如何容易入门了。当然,C#也可以学得很深很深。
4. 没有学过编程,能学这门课吗?
答:本课程的先修课程:最好是学过一门程序设计语言(如C、C++、Java、Python、VB等任何一门语言)。
5. 这门课实用吗?
答:实用啊,你要编写个“背单词”、“2048”、“酒店管理”这样的实用程序,正是这门课要学习的内容。