课程概述

C#是由C和C++衍生出来的面向对象的编程语言,它在继承C和C++强大功能的同时去掉了一些它们的复杂特性,同时综合了Visual Basic简单的可视化操作和C++的高运行效率。C#以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程支持成为.NET开发的首选语言。


本课程内容即包括语言基础知识,又注重培养学生编程技能。教学过程中,在程序设计语言知识方面采用了“快节奏”, 从一开始就以简单程序框架展开程序知识,直接进入以程序模块化为主的教学环境,帮助同学们尽早开始编程实践;在程序设计方法和编程技术方面采用了“慢节奏”,通过经典示例的讲解分析,以大量的 思维训练确保学生获得编程技巧。 课程内容注重实际编程应用,使学习者能够快速上手。同时通过设置循序渐进的实训习题及讲解,使学习者稳步获得扎实的编程技能,为学习者参与各种计算机类竞赛、软件开发、工程实训提供强有力的支撑。

证书要求

为积极响应国家低碳环保政策, 2021年秋季学期开始,中国大学MOOC平台将取消纸质版的认证证书,仅提供电子版的认证证书服务,证书申请方式和流程不变。

 

电子版认证证书支持查询验证,可通过扫描证书上的二维码进行有效性查询,或者访问 https://www.icourse163.org/verify,通过证书编号进行查询。学生可在“个人中心-证书-查看证书”页面自行下载、打印电子版认证证书。

 

完成课程教学内容学习和考核,成绩达到课程考核标准的学生(每门课程的考核标准不同,详见课程内的评分标准),具备申请认证证书资格,可在证书申请开放期间(以申请页面显示的时间为准),完成在线付费申请。

 

认证证书申请注意事项:

1. 根据国家相关法律法规要求,认证证书申请时要求进行实名认证,请保证所提交的实名认证信息真实完整有效。

2. 完成实名认证并支付后,系统将自动生成并发送电子版认证证书。电子版认证证书生成后不支持退费。


预备知识

学习者应该先修过或已经掌握计算机导论或者大学计算机基础的主要内容,了解计算机的发展过程,理解计算机系统的构成和基本工作原理,并能够熟练地操作计算机及通过互联网获取信息资源。

授课大纲

第1讲 计算机的工作原理

1.计算机的基本工作原理

2.信息的表示与存储

3.程序设计概述

课后测验:计算机的工作原理

第2讲 初识C#程序

1.C#语言概述

2.简单的C#程序

3.C#程序的基本结构

习题讲解:NOJ第一季习题解析

课后测验:C#程序概述

第3讲 用C#描述简单数据

1.简单数据类型

2.常量

3.变量

课后测验:简单数据类型

第4讲 用C#描述数据的简单处理

1.数值数据运算符

2.逻辑数据运算符及其他运算符

3.常量表达式与类型转换方法

课后测验:简单的数据运算

第5讲 实现输入输出

1.语句

2.输入与输出

3.输出格式控制

习题讲解:NOJ第一季习题解析

课后测验:输入输出

第6讲 实现顺序结构和简单的选择

1.顺序结构

2.使用if语句实现简单的选择结构

3.使用switch语句实现简单的选择结构

习题讲解:NOJ第一二三季习题解析(if语句应用)

习题讲解:NOJ第二季习题解析(switch语句应用)

课后测验:简单的选择结构

第7讲 实现复杂的选择结构

1.if语句的嵌套

2.switch语句的嵌套

3.if与switch相互嵌套

习题讲解:NOJ第二三季习题解析

课后测验:嵌套的选择结构

第8讲 实现简单的循环

1.while语句

2.do语句

3.for语句

课后测验:循环语句

第9讲 实现复杂的循环

1.循环的控制

2.循环的嵌套

3.常见的两种循环结构类型

习题讲解:NOJ第四季习题解析

课后测验:循环控制

第10讲 递推与枚举算法

1.递推法

2.枚举法

3.枚举优化

习题讲解:NOJ第五季习题解析

课后测验:枚举与递推算法

第11讲 实现异常处理

1.异常处理语句

2.其他语句

课后测验:异常处理语句

第12讲 实现方法定义

1.方法定义

2.方法返回

3.方法参数

课后测验:方法定义

第14讲 方法调用示例

1.方法的嵌套

2.方法的递归

习题讲解:NOJ第六季习题解析

课后测验:方法的嵌套和递归

第13讲 使用方法

1.自定义方法调用

2.标准库方法调用

3.使用OpenTK

课后测验:方法调用

第15讲 提高方法调用的效率

1.默认参数

2.方法重载

课后测验:可选参数与方法重载

第16讲 批量数据的描述方法(1)

1.一维数组的定义与初始化

2.一维数组的引用

3.foreach语句

习题讲解:NOJ第七季习题解析

课后测验:一维数组的定义与使用

第17讲 批量数据的描述方法(2)

1.多维矩形数组的定义

2.多维矩形数组的引用

3.交错数组的定义与使用

习题讲解:NOJ第八季习题解析

课后测验:多维数组的定义和使用

第18讲 批量数据的常见操作

1.查找

2.排序

3.数组与方法

习题讲解:NOJ第七-八季习题解析

课后测验:批量数据的常见操作

第19讲 使用Array类

1.Array类的常用方法和属性

2.借助Array类的方法实现查找

3.借助Array类的方法实现排序

课后测验:Array类

第20讲 使用LINQ操作数组

1.LINQ概述

2.LINQ的查询表达式

3.方法语法

课后测验:LINQ简单使用

第21讲 实现文字信息的处理

1.String类

2.StringBulider类

3.文字信息常见处理实现

课后测验:文字信息的处理

第22讲 描述记录型信息

1.结构体类型的定义

2.结构体类型变量的定义与初始化

3.结构体变量的使用

习题讲解:NOJ第九季习题解析

课后测验:结构体类型

第23讲 处理批量记录型信息

1.结构体数组

2.结构体与方法

习题讲解:NOJ第九季习题解析

课后测验:结构体数组以及结构体在方法中的应用

第24讲 限定不出现 “星期八”

1.枚举类型的定义和使用

2.位标识

课后测验:枚举类型

第25讲 类的定义方法

1.类的定义

2.成员定义与访问控制

课后测验:类的定义

第26讲 描述类的常见成员

1.类的字段

2.类的方法

3.类的成员常量

课后测验:类的常见成员

第27讲 定义和使用类的实例

1.对象的定义和创建

2.对象的使用

3.对象的销毁

课后测验:对象的定义和使用

第28讲 描述类的其他成员

1.类的属性

2.类的索引和事件

3.类的运算符

课后测验:类的其他成员

第29讲 有关类的其他话题

1.对象的高级应用

2.this访问器

3.作用域与生命期

习题讲解:NOJ第九季习题解析

第30讲 实现类的继承和派生

1.派生类的定义

2.派生类的访问

3.多态性

课后测验:类的继承与派生

第31讲 类的特殊形式

1.分布类和抽象类

2.密封类和静态类

3 类和结构体的区别

第32讲 开发大规模程序

1.接口

2.程序集和命名空间

3.常用预处理命令

习题讲解:NOJ第十季习题解析

第33讲 实现文件的打开关闭

1.文件概述

2.目录管理

3.文件管理

第34讲 实现文件的读写操作

1.按字节读写文件

2.读写文本文件

3.读写二进制文件

习题讲解:NOJ第九季习题解析

第35讲 操作复杂类型文件

1.操作EXCEL文档

2.操作PDF文档

3.操作XML文档

第36讲 设计简单的窗口程序(一)

1.Windows编程的基本概念

2.窗体

3.简单的窗体程序实例

第37讲 设计简单的窗口程序

1.控件的应用

2.菜单和计时器

3. 对话框的使用

课后测验:设计简单的窗口程序

第38讲 数据库编程基础

1.数据库基础知识

2.ACCESS数据库系统

3.使用控件绑定数据库

第39讲 使用ADO.NET实现数据库开发

1.数据库连接

2.操作数据库所使用的对象

3.使用ADO.NET操作数据库的示例

第40讲 设计简单的网络程序

1.搭建ASP.NET开发环境

2.使用VS开发简单的网站

3.在ASP.NET中访问数据库

参考资料

《C#程序设计(第2版)》,刘君瑞、姜学锋,清华大学出版社,2023.2

《C#程序设计实践教程与习题解答》,谷琼等,清华大学出版社,2012.10

常见问题

Q : 课程除了MOOC平台上的单元测试题目,还需要完成其他平台的作业?

A : 本课程为学生提供了大量的基础编程技能训练题,有需要的同学登录NOJ平台:https://10.12.13.248平台完成课程相关的编程练习。该部分作业不占MOOC课程学期成绩,同学们根据自己实际情况有选择完成。

Q : NOJ平台上的作业完成有什么限制?

A : NOJ平台上的编程练习题根据知识点将100个编程题分为10季。一般同学们需要按照顺序完成,每个题目打开后需要在两周内提交正确答案,过期未提交或未通过的题目,将不能获得该题目的相应分数。

Q : NOJ平台上的 课程设计需要完成么?

A : 课程设计作为提高学生综合实践与创新能力的重要途径,鼓励学有余力的同学尽量完成,不计入MOOC课程总成绩。