西北工业大学

图片
课程概述

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

本课程作为一门程序设计入门课程,面向零编程基础的同学开设。教学过程中,在程序设计语言知识方面采用了“快节奏”,从一开始就以简单程序框架展开程序知识,直接进入以程序模块化为主的教学环境,帮助同学们尽早开始编程实践;在程序设计方法和编程技术方面采用了“慢节奏”,通过经典示例的讲解分析,以大量的思维训练确保学生获得编程技巧。 

证书要求

.

1.本课程要求完成的作业分为3种:

A1)测验练习(简称QUIZ):在每周课后安排随堂测验,内容为程序语言知识题,题型为客观题。

A2)问题求解(简称NOJ,网址:www.cpskill.com):共有十季编程题,每季从题库中抽取10题,采用机器在线评阅。每题须在2周内完成,但学习者可任意选取时间点开始,全部习题须在课程结束前完成。

S1)课程设计(简称Devforge,网址:www.cpskill.com):与本课程后续的实验课程相配套。共有2个项目题,每个项目题须在1周内完成,须在课程结束前完成。

 

2.本课程要求完成的考试分为2种:

A3)课程考试(简称cpTest考试):在课程结束的指定时间在线上机测试(针对高校用户,可进行线下集中式上机考试)。考试题为知识型客观题和编程题,题型有单选题、多选题、判断题、程序修改题、程序阅读题、程序填空题、编程题等。

S2)实验考试(简称cpSkill考试):与本课程后续的实验课程相配套。考试题均为编程题,考试成绩是通过与否、完成时间、质量因子加权计算的结果。

 

3.总成绩(实验环节仅线下或SPOC)计算方法:

按百分制计分,总成绩=QUIZ×10% + NOJ×50% + cpTest×40%

 

4.证书:

1)合格:总成绩60分至84分为合格,申请后可获得合格证书。

2)优秀:总成绩85分至100分为优秀,申请后可获得优秀证书。

 

5.协作与欺骗政策:

1NOJcpTestcpSkill:学习者可以与其他同学讨论完成,但所有代码必须是自己编写的,当NOJ机器评阅检查出作业结果(称为查重)有较高相似度时,后提交的习题判罚0分,三次查重违例,总计分为0分。

2Devforge:学生可以与其他同学讨论或者共同完成,如果是合作完成,需要指明合作者及自己所承担的任务。


预备知识

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

授课大纲

第1讲计算机是怎么工作的?

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

2.信息的表示与存储

3.程序设计概述


第2讲 C#程序什么样子?

1.C#语言概述

2.简单的C#程序

3.C#程序的基本结构


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

1.简单数据类型2

2.常量

3.变量


第4讲 如何用C#简单处理数据?

1.数值数据运算符

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

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


第5讲 如何实现数据的输入输出?

1.语句

2.输入与输出

3.输出格式控制


第6讲 如何编程处理简单的应用问题?

1.顺序结构

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

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


第7讲 如何让计算机做复杂的选择?

1.if语句的嵌套

2.switch语句的嵌套

3.if与switch相互嵌套


第8讲 如何实现简单的重复结构?

1.while语句

2.do语句

3.for语句


第9讲 如何实现复杂的重复结构?

1.循环的控制

2.循环的嵌套

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


第10讲 如何实现复杂的重复结构?

1.递推法

2.枚举法

3.枚举优化


第11讲 程序运行不正常了怎么办?

1.异常处理语句

2.其他语句


第12讲 如何设计可重用的代码模块----函数?

1.方法定义

2.方法返回

3.方法参数


第13讲 如何使用方法?

1.自定义方法调用

2.标准方法调用及常用标准库方法

3.专业库方法的调用


第14讲 如何借助方法调用实现复杂的功能?

1.方法的嵌套

2.方法的递归


第15讲 如何提高方法调用的便利性?

1.可选参数

2.方法重载


第16讲 如何描述批量数据(1)?

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

2.一维数组的引用

3.foreach语句


第17讲 如何描述批量数据(2)?

1.多维矩形数组的定义

2.多维矩形数组的引用

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


第18讲 如何实现批量数据的常见操作?

1.查找方法

2.排序方法

3.数组与方法


第19讲 怎样使用Array类?

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

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

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


第20讲 怎样使用LINQ操作数组?

1.LINQ概述

2.LINQ的两种语法

3.常用查询表达式

   

第21讲 如何处理文字信息?

1.String类

2.StringBulider类

3.字符数组


第22讲 如何描述生活中的记录信息?

1.结构体类型的定义

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

3.结构体变量的使用


第23讲 如何处理批量记录信息?

1.结构体数组

2.结构体与方法

3.结构体使用实例


第24讲 怎样限定程序中不出现 “星期八”?

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

2.枚举类型例题

3.位标识


第25讲 如何保证事物属性和动作的描述不分离?

1.类的定义

2.成员访问控制


第26讲 如何描述类的常见成员?

1.类的字段

2.类的方法

3.类的成员常量


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

1.对象的定义和创建

2.对象的使用

3.对象的销毁


第28讲 如何描述类的的其他成员?

1.类的属性

2.类的索引和事件

3.类的运算符


第29讲 类的其他相关主题

1.对象的高级应用

2.this访问器

3.作用域与生命期


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

1.派生类的定义

2.派生类的访问

3.多态性


第31讲 类的特殊形式

1.分布类和抽象类

2.密封类和静态类

3.类和结构体的区别


第32讲 如何开发大规模程序?

1.接口

2.程序集和命名空间

3.常用预处理命令


第33讲 如何打开关闭文件?

1.文件概述

2.目录管理

3.文件管理


第34讲 如何读写文件?

1.按字节读写文件

2.读写文本文件

3.读写二进制文件


第35讲 如何操作复杂类型文件?

1.读取EXCEL等办公文档

2.读取PDF文档

3.访问XML文档


第36讲 如何设计简单的窗口程序(1)?

1.事件响应机制

2.窗口程序结构

3.窗体程序实例


第37讲 如何设计简单的窗口程序(2)?

1.控件的应用

2.组件的应用

3.其他控件或组件的应用


第38讲 数据库编程基础

1.数据库基础

2.Access使用示例

3.数据库绑定控件

第39讲 使用ADO.NET访问数据库

1.数据库连接

2.操作数据库

3.数据库编程示例

第40讲  如何使用ADO.NET实现数据库开发?

1.窗体应用程序访问数据库的示例

2.窗体应用程序访问数据库的示例


参考资料

《C#程序设计》,刘君瑞、姜学锋,清华大学出版社,2013.3

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


常见问题

.

分享