课程详情
课程评价
spContent=如果你以前学过程序设计,但就是编不出一个像“背单词”、“2048”、“酒店管理”这样的实用程序,那就请你加入到《C#程序设计》课程中来吧。在这里,你不仅可以学到面向对象的语言和思想,还会学到如何编写图形化的用户界面、文本处理、图形图像、网络访问、多媒体、数据库应用等各类应用程序。
—— 课程团队
课程概述

本课程的先修课程:最好是学过一门程序设计语言(如C、C++、Java、Python、VB等任何一门语言)。

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

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

本课程的目标是:学习和掌握C#语言的原理和方法,以及C#在常见的各类信息的处理以及企业信息化的应用,掌握软件开发的过程、工具与规范方法。

本课程2017年被教育部认定为“国家精品在线开放课程”。


课程大纲

课前准备

《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.4 号外:程序的调试 —— 编程必不可少的手段

第6讲小结

第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.1 类型与转换

13.2 变量及其传递

13.3 多态与虚方法调用

13.4 动态类型确定

13.5 对象构造与析构

13.6 C#语言新特性

第13讲小结

第13讲测验  深入理解C#语言

预备知识

最好是学过一门程序设计语言(如C、C++、Java、Python、VB等任何一门语言)。


证书要求

完成课程的同步学习,包括学习视频、完成测验与作业、参与论坛的讨论、完成期末的编程项目。

各部分的分值比例是:平时作业及编程(80%)、参与论坛讨论(5%)、期末测验(15%)。

积极参与论坛讨论者可以获得额外的加分。

总分数达到60分,可以获得合格证书;达到80分,可以获得优秀证书。


参考资料

唐大仕《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. 这门课实用吗?

答:实用啊,你要编写个“背单词”、“2048”、“酒店管理”这样的实用程序,正是这门课要学习的内容。

5. 我可以获得证书吗?

答:总分数达到60分,可以获得合格证书;达到80分,可以获得优秀证书。