C#程序设计

越来越数字化的世界决定了我们“要么编程,要么被编程”,不想被阿尔法狗打败,那就让我们成为它的创造者!颜值与身材并存的C#语言无疑是零起步编程的一把利器。它完全面向对象,同时“简单、现代、通用”…

国家精品计算机C++
933 次查看
西北工业大学
中国大学MOOC
  • 完成时间大约为 19
  • 初级
  • 中文
注:因开课平台的各种因素变化,以上开课日期仅供参考

课程概况

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

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

课程大纲

01
计算机的工作原理
了解计算机的体系结构、基本工作原理以及信息的表示和存储机制;了解程序设计的相关技术
课时
1.计算机的基本工作原理
2.信息的表示与存储
3.程序设计概述
课后测验:计算机的工作原理
02
初识C#程序
掌握C#程序的结构以及使用开发环境开发C#程序的步骤
课时
1.C#语言概述
2.简单的C#程序
3.C#程序的基本结构
习题讲解:NOJ第一季习题解析
课后测验:C#程序概述
03
用C#描述简单数据
掌握C#描述简单数据所使用的数据类型和方式
课时
1.简单数据类型
2.常量
3.变量
课后测验:简单数据类型
04
用C#描述数据的简单处理
掌握C#支持的简单运算
课时
1.数值数据运算符
2.逻辑数据运算符及其他运算符
3.常量表达式与类型转换方法
课后测验:C#的运算符
05
实现输入输出
理解C#程序的语句分类;掌握C#程序实现输入输出的办法
课时
1.语句
2.输入与输出
3.输出格式控制
习题讲解:NOJ第一季习题解析
课后测验:输入输出
06
实现顺序结构和简单的选择
掌握顺序结构和选择结构的实现机制;掌握if和switch语句的语法和使用
课时
1.顺序结构
2.使用if语句实现简单的选择结构
3.使用switch语句实现简单的选择结构
习题讲解:NOJ第一二三季习题解析(if语句应用)
习题讲解:NOJ第二季习题解析(switch语句应用)
课后测验:简单的选择结构
07
实现复杂的选择结构
掌握C#中实现复杂选择结构的编程机制
课时
1.if语句的嵌套
2.switch语句的嵌套
3.if与switch相互嵌套
习题讲解:NOJ第二三季习题解析
课后测验:嵌套的选择结构
08
实现简单的循环
掌握C#中实现循环的三个语句,及循环问题的要素分析
课时
1.while语句
2.do语句
3.for语句
课后测验:循环语句
09
实现复杂的循环
掌握复杂的循环结构的实现
课时
1.循环的控制
2.循环的嵌套
3.常见的两种循环结构类型
习题讲解:NOJ第四季习题解析
课后测验:循环控制
10
递推与枚举算法
掌握基础算法枚举和递推的策略及编程实现
课时
1.递推法
2.枚举法
3.枚举优化
习题讲解:NOJ第五季习题解析
课后测验:枚举与递推算法
11
实现异常处理
了解异常处理的相关语句和其他语句及应用场景
课时
1.异常处理语句
2.其他语句
课后测验:异常处理语句
12
实现方法定义
掌握C#中定义方法的语法
课时
1.方法定义
2.方法返回
3.方法参数
课后测验:方法定义
13
使用方法
掌握库函方法的调用办法
课时
1.自定义方法调用
2.标准库方法调用
3.使用OpenTK
课后测验:方法调用
14
方法调用示例
掌握方法的复杂调用实现
课时
1.方法的嵌套
2.方法的递归
习题讲解:NOJ第六季习题解析
课后测验:方法的嵌套和递归
15
提高方法调用的效率
了解默认参数和方法重载的特点和实现
课时
1.默认参数
2.方法重载
课后测验:可选参数与方法重载
16
批量数据的描述方法(1)
掌握一维数组的定义和使用
课时
1.一维数组的定义与初始化
2.一维数组的引用
3.foreach语句
习题讲解:NOJ第七季习题解析
课后测验:一维数组的定义与使用
17
批量数据的描述方法(2)
掌握多维数组的定义和使用
课时
1.多维矩形数组的定义
2.多维矩形数组的引用
3.交错数组的定义与使用
习题讲解:NOJ第八季习题解析
课后测验:多维数组的定义和使用
18
批量数据的常见操作
掌握批量数据进行查找和排序的编程方法,掌握方法之间共享数组的实现方法
课时
1.查找
2.排序
3.数组与方法
习题讲解:NOJ第七-八季习题解析
课后测验:批量数据的常见操作
19
使用Array类
掌握数组类Array的常用属性和成员函数
课时
1.Array类的常用方法和属性
2.借助Array类的方法实现查找
3.借助Array类的方法实现排序
课后测验:Array类
20
使用LINQ操作数组
了解使用LINQ操作数组的方法
课时
1.LINQ概述
2.LINQ的查询表达式
3.方法语法
课后测验:LINQ简单使用
21
实现文字信息的处理
掌握使用C#类库实现文本信息处理的方法
课时
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
有关类的其他话题
掌握this访问器的使用,理解作用域和生命期的概念和分析方法
课时
1.对象的高级应用
2.this访问器
3.作用域与生命期
习题讲解:NOJ第九季习题解析
30
实现类的继承和派生
理解类的继承和派生机制,进一步理解重用对提高程序开发效率的帮助
课时
1.派生类的定义
2.派生类的访问
3.多态性
课后测验:类的继承与派生
31
类的特殊形式
了解类的特殊形式和用途
课时
1.分布类和抽象类
2.密封类和静态类
3 类和结构体的区别
32
开发大规模程序
了解大型程序开发的常用手段
课时
1.接口
2.程序集和命名空间
3.常用预处理命令
习题讲解:NOJ第十季习题解析
33
实现文件的打开关闭
掌握借助C#类库实现文件系统管理的方法
课时
1.文件概述
2.目录管理
3.文件管理
34
实现文件的读写操作
掌握借助C#类库实现文本文件和二进制文件的操作方法
课时
1.按字节读写文件
2.读写文本文件
3.读写二进制文件
习题讲解:NOJ第九季习题解析
35
操作复杂类型文件
掌握借助C#程序操作常见文件的一般方法
课时
1.操作EXCEL文档
2.操作PDF文档
3.操作XML文档
36
设计简单的窗口程序(一)
了解Windows编程的基本概念和事件驱动机制,学会设计简单的窗体
课时
1.Windows编程的基本概念
2.窗体
3.简单的窗体程序实例
37
设计简单的窗口程序
学会使用常用的控件、菜单、计时器以及对话框来设计窗口程序
课时
1.控件的应用
2.菜单和计时器
3. 对话框的使用
38
数据库编程基础
了解数据库基础知识、ACCESS数据库设计的方法,以及借助控件访问数据库的实现方法
课时
1.数据库基础知识
2.ACCESS数据库系统
3.使用控件绑定数据库
39
使用ADO.NET实现数据库开发
了解ADO.NET数据库编程的一般流程
课时
1.数据库连接
2.操作数据库所使用的对象
3.使用ADO.NET操作数据库的示例
40
设计简单的网络程序
学会使用ASP.NET搭建简单的网站
课时
1.搭建ASP.NET开发环境
2.使用VS开发简单的网站
3.在ASP.NET中访问数据库

预备知识

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

参考资料

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

常见问题

Q :  课程除了MOOC平台上的单元测试题目,还需要完成其他平台的作业?
A :  是的,本课程还需要同学们登录NOJ平台:noj.nwpu.edu.cn平台完成课程相关的编程练习。该部分作业占MOOC课程期末成绩的50%。需要同学们登录平台后进行注册,注意跟MOOC课程的昵称相同(如果是西工大的同学,请将MOOC昵称和NOJ昵称都设置成“NPU学号”的形式)。
Q :  NOJ平台上的作业完成有什么限制?
A :  NOJ平台上的编程练习题要求在MOOC课程学期内完成,根据知识点将100个编程题分为10季。一般同学们需要按照顺序完成,每个题目打开后需要在两周内提交正确答案,过期未提交或未通过的题目,将不能获得该题目的相应分数。
Q :  NOJ平台上的课程设计需要完成么?
A : 课程设计作为提高学生综合实践与创新能力的重要途径,鼓励学有余力的同学尽量完成。但是,该部分作业只作为MOOC线上课程总成绩的参考,不计入MOOC课程总成绩。

千万首歌曲。全无广告干扰。
此外,您还能在所有设备上欣赏您的整个音乐资料库。免费畅听 3 个月,之后每月只需 ¥10.00。
Apple 广告
声明:MOOC中国十分重视知识产权问题,我们发布之课程均源自下列机构,版权均归其所有,本站仅作报道收录并尊重其著作权益。感谢他们对MOOC事业做出的贡献!
  • Coursera
  • edX
  • OpenLearning
  • FutureLearn
  • iversity
  • Udacity
  • NovoEd
  • Canvas
  • Open2Study
  • Google
  • ewant
  • FUN
  • IOC-Athlete-MOOC
  • World-Science-U
  • Codecademy
  • CourseSites
  • opencourseworld
  • ShareCourse
  • gacco
  • MiriadaX
  • JANUX
  • openhpi
  • Stanford-Open-Edx
  • 网易云课堂
  • 中国大学MOOC
  • 学堂在线
  • 顶你学堂
  • 华文慕课
  • 好大学在线CnMooc
  • (部分课程由Coursera、Udemy、Linkshare共同提供)

© 2008-2020 MOOC.CN 慕课改变你,你改变世界