C#课程范文
C#课程范文(精选12篇)
C#课程 第1篇
语法或理论讲解不透, 学生感到比较深奥入门比较困难, 学习中实践课时有限, 学生动手能力弱, 课程学完后, 大多数学生难于编写出像样的程序, 更多的是应付考试, 等等。基于此, 为解决以上C#教学中存在的问题, 结合教学实践, 本文对该课程教学作如下探讨:选取C#课程重点教学内容并对主要理论难点透彻分析讲解, C#课程教学形式以基本教学内容驱动和面向实际的应用程序驱动相结合方式进行 (教学过程中更注重实践和理论相结合) , 在计算机机房以多媒体形式教学, 学生以项目实训导向进行上机实践。
1 C#/课程教学内容分析
C#语言所具有的语法知识比较繁多, 作为一门高校课程, 在C#比较繁多的语法知识中如何选取适合学生学习并且为学生以后从事程序设计 (软件开发) 打基础的教学内容呢?根据教学实践以及多次讲授该课程的经验, 本人认为该课程的主要教学内容无外乎两大块:一块是C#基础语法知识;另一块则在基础语法知识的基础上进行C#应用程序设计, 该部分至少也必须讲解两大类程序设计 (Windows应用程序设计和Web应用程序设计, 并且都必须结合数据库知识ADO.NET来讲解) 。两大块教学课时可对等平分。对于C#基础语法知识的讲解, 考虑到学生基本上都开设过前导课程C语言或C++, 基础语法知识中诸如基本数据类型, 基本运算, 语句, 控制结构等 (这些内容在C/C++课程讲授过) 可以带回顾C/C++课程似的快速讲授, 我们把重点应该放在C#面向对象程序设计那部分内容, 比如类和对象, 类的继承、重载与多态, 类的静态与非静态成员, 运算符的重载, 委托与事件, 接口, 异常处理等等。基于C#基本语法知识之上讲授应用程序设计, 重点讲授如何进行Windows应用程序设计和Web应用程序设计, 当然, C#还可以进行其他形式的应用开发, 限于课时, 不能够完全展开来讲。下面的内容主要探讨在讲解基本语法知识和应用开发设计时不容易讲透, 或学生难于理解的知识点。
在讲解基本理论语法时, 本文试着用通俗的语言并举例说明这些理论知识点, 首先面向对象的第一个概念就是类和对象, 在讲解类和对象时, 我们给学生可以举现实生活中的例子加以说明, 对象可以认为是现实世界中有形或无形的物体在软件开发程序设计时的映射, 作为一个对象, 一般都具有一定的属性状态, 和行为动作, 并且把对象的数据状态和行为操作封装在一起, 对于前者在程序设计中用属性 (数据变量) 来描述, 后者可以采用方法、事件来代表, 比如一辆汽车, 就是一个对象, 颜色和功率是它的属性信息 (数据描述) , 而启动汽车, 刹车和排气等则是该辆汽车的行为。我们把某一类具有相同状态和行为动作的对象集合抽象为类, 类描述了一系列在概念上具有相同含义的对象, 为这些对象统一定义了编程语言语义上的属性和方法, 比如说人 (Person) 定义为软件中的一个类Class, 张三就是人这个类的一个具有对象, 同样从Person这个类中可以构建很多个具体的人的实例 (对象) , 从中我们看出, 类是对象集合的抽象描述, 对象是某个类中具体的实例 (有形或无形的物体) 。
对于面向对象中继承这个概念, 我们在讲解的时候不仅要讲清楚概念, 举出现实生活中的例子, 还有辅之以C#程序实例说清楚, 对于多态, 覆盖和重载也一样。继承是面向对象程序设计的主要特征之一, 它可以让使代码的重用性大大加强, 可以节省程序设计的时间。继承就是在类之间建立一种相交关系, 使得新定义的派生类的实例可以继承已有的基类的特征和能力, 而且可以加入新的特性或者是修改已有的特性建立起类的新层次, 比如子类 (派生类) 可以继承父类 (基类) 某些成员。继承的两大特性是传递性和单根性, 派生类是从基类那里继承特性, 那么派生类也可以作为其它类的基类。从一个基类派生出来多层类, 这样就形成了类层次结构。就好比汽车为基类, 然后汽车又分为卡车和公共汽车, 那么卡车和公共汽车就是派生类, 卡车又可以作为基类派生出小型卡车和重型卡车。简单的说就是子类不仅仅能够继承父类的成员, 还继承了父类的父类的成员, 继承的单根性是指子类只能继承一个父类, 不能同时继承多个父类。就好比儿子只能有一个亲生父亲, 派生类只能从一个类中继承, C#继承不支持多重继承, 这样规定是为了避免代码结构的复杂性.程序代码举例如下:
从以上例子我们看出作为子类老虎继承了基类动物的所有非私有特征 (变量) name, weigth, 及行为sleep () (成员函数, 方法) , 而且这种继承可传递, 比如老虎可派生东北虎, 华南虎等等, 在东北虎类中同时也传递性地继承了来自动物类的成员, 同时这种继承具有单一性, Tiger类只有一个基类Animal, 但基类可以派生很多个子类, 比如Animal还可派生绵阳类Sheep, 限于篇幅, 不展开来代码.从文中我们可以看出面向对象的继承特性主要功能是避免代码的冗余, 方便程序扩展。
面向对象程序设计中另外一个重要概念就是多态性.这个概念往往讲解起来比较难的, 学生学习起来也不太好接受。多态性
离不开类的继承特性, 通过继承, 一个类可以用作多种类型:可以用作它自己的类型、任何基类型, 或者在实现接口时用作任何接口类型, C#中的每种类型都是多态的.由于任何类型都自动将Object当作基类型, 类型可用作它们自己的类型或任何基类型或用作Object实例。也就是说子类的对象可以作为父类对象来使用, 如果没有父类, 可以把Object类当作父类 (基类) , 在编程语言中也就意味着子类的实例可以赋值给父类变量。例如上面那个例子, Animal动物类作为Tiger老虎类的父类 (基类) , 在构建Tiger类的对象t (某某老虎) 后可以直接赋值给父类Animal类的实例a (某某动物) , 即Tiger t=new Tiger () ;Animal a=t;也就是说老虎一定是某种动物, 反过来不可以这样去赋值。这样的话多态性于是就体现出来了, 同样是动物对象a, 在调用a.eat () 方法时, 就会执行Tiger类的eat方法。要实现多态性, 前提是在基类中定义virtual方法, 在派生类中定义同名并且要override该方法, 还是以上例子如下说明。
此时多态性就体现出来了, 前面a.eat () , 执行Animal类的virtual方法eat, 输出“动物吃食”, 后面a=t, 再次调用a.eat () , 调用的却是Tiger类的override方法eat, 输出“老虎吃肉”。在C#中多态性的定义是:同一操作作用于不同的类的实例 (对象) , 不同的类将进行不同的解释, 最后产生不同的执行结果。C#支持两种类型的多态性:编译时的多态性, 通过重载来实现, 非虚virtual成员, 系统在编译时, 根据传递的参数、返回类型等信息决定实现何种操作;另外一种就是运行时多态, 是指直到系统运行时, 才根据实际情况实现何种操作, 一般通过虚成员virtual, 在派生类override重写覆盖基类的virtual成员。
2 C#/课程教学方法及手段探讨
当前, C#课程教学, 我们主张, C#课程教学形式以基本教学内容驱动和面向实际的应用程序 (解决具体问题) 驱动相结合方式进行, 并且教学过程中更注重实践和理论相结合。所谓基本教学内容驱动和面向实际的应用程序 (驱动相结合, 理论和实践相结合, 是指在教学过程中, 总体上按照C#课程教学内容及教学大纲要求逐层铺展看来, 先讲解容易的, 基础的内容, 然后讲解复杂的、深入的内容, 但在局部上, 比如我们在讲解完C#基础语法理论后, 学生再学习C#应用程序设计内容, 由于C#应用程序设计内容讲解主要讲解Windows窗体程序设计和Web应用程序设计, 我们就可以预先设定一个具体的目标 (以解决具体问题) , 一个什么目标呢, 分别针对Windows窗体程序设计和Web程序设计两块提出要解决的具体问题, 然后分别编写一个简要的、容易实现的、能达到该目标 (解决问题) 的应用程序, 该程序涉及的知识尽可能覆盖知识点的所有内容, 并且一步一步在课堂上讲解, 演示程序设计过程并调试, 这样, 即使学生不知道知识点有什么用, 但通过这样教学, 学生也很快知道怎么做, 由此可以快速实现C#课程入门。
在计算机机房以多媒体形式教学, 学生以项目实训导向进行上机实践。即学生在听完教师讲解的内容后, 按照每个知识点及教学任务, 根据该知识点设计的真实项目 (规模较小的语言程序) , 让学生在上机实践时分组来编写, 当然, 教师在一旁指导。通过这种形式的实践, 让学生快速掌握知识点, 并应用知识点编程, 提高学生动手能力。
3 结束语
通过对C#程序设计语言课程的教学内容的分析, 结合本人教学实践, 探讨该课程在教学过程中存在的主要问题, 并总结出当前高校课程主要的教学方法和教学手段。
摘要:通过分析C#程序设计语言课程的教学内容, 结合教学实践, 探讨该课程在教学过程中存在的主要问题, 并总结出当前高校C#课程主要的教学方法和教学手段。
关键词:C#,教学,探讨
参考文献
[1]实燕妹.C#语言程序设计教程[M].北京:中国水利水电出版社, 2011.
[2]蒙祖强.C#语言程序设计教程[M].北京:清华大学出版社, 2011.
[3]田原, 李素若, 文斌C#程序设计[M].北京:北京交通大学出版社, 2005.
C#课程 第2篇
摘 要:由于C#程序设计课程教学模式设计拘泥于传统的教学模式,单一的以教师讲解,学生被动接受为主,以完成考试要求为目标。这种模式严重制约了C#语言程序设计课程教学质量和学生自主学习能力的提高。现阶段,顺应素质教育对课程改革的要求,翻转课堂教学逐渐被引入C#语言程序设计课程中。本文通过翻转课堂教学模式的特征介绍,旨在探究C#程序设计中的翻转课堂教学模式,以C#课程为例进行实践,分析产生效果,为C#程序设计课程教学中翻转课堂的实施提出几点建议和思考,在翻转课堂的教学下,对C#语言程序设计课程的课程教学进行多元化的评价方式,这种多元的评价有利于对学生的学习进行客观准确的评价,促进C#程序设计课程教学质量的提高。
关键词:C#语言教学;翻转课堂;教学模式研究
中图分类号:G715 文献标识码:A
引言(Introduction)
近年来,翻转课堂以其自身的优势成为全球教学界的追逐的新的热点,国外有些国家还将翻转课堂称之为影响课堂教学的重大技术变革[1]。
翻转课堂作为一种全新的教学模式,是将在线视频学习和课堂教学相结合的一种“混合式” 学习方式。具体为学生可以在家里进行网上的视频学习,在学校可以在老师的监督和指导下,进行作业。翻转课堂的普遍应用实现了这种混合式的学习方式,同时也具有混合式学习方式的优点[2]。翻转课堂教学模式的介绍(Flip the classroom
teaching mode is introduced)
“翻转课堂”作为一种新兴的教学模式起源于美国科罗拉多州“林地公园”高中,2007年该校两位教师为补救学生因参加课外活动或运动比赛而耽误的课程,将授课PPT演示文稿和讲课声音录制下来并上传至网络供学生在家观看,学生通过在线或离线观看视频的方式在家完成知识的自主学习,而节省出的课堂时间为在完成作业或做实验过程中有困难的学生提供帮助,课堂变成学生参与讨论问题、合作学习的场所,包括答疑解惑、知识的运用、协作学习和概念掌握的练习等。翻转课堂颠覆了传统课堂课上授课、课下作业的教学模式,将知识传授和知识内化的顺序颠倒。这种教学模式的应用深受广大学生和家长的喜爱,这便是翻转课堂的理念的起源。
随着信息技术和互联网的快速发展,在教育学界对翻转课堂越来越重视,并且使得翻转课堂在全球范围内快速的发展。这主要是由于翻转课堂的优势。
2.1 翻转课堂更符合人类的认知规律
翻转课堂教学在传授知识的基础上给予了学生的自由和自主学习的空间,是学生能以最适合的方式去进行学习,从而有利于培养学生学习的自主能力。而这种教学方式是符合人类的认知规律的。既做到了是学生进行深入的学习,有利于给予学生们足够的时间进行课堂交流学习经验。
2.2 翻转课堂有利于构建新型的师生关系
在传统的教学模式下,课堂教学是以教师为中心的一对多的教学模式,而翻转课堂的教学模式是以学生为主体进行的一对一的教学,学生在学习的过程中,可以自由掌握学习的进度,发挥自己的最大潜力,提出自己的想法和问题,并通过网络互动加强与教师之间的师生关系[2]。C#程序设计课程中翻转课堂教学模式引入(C#
program design course in turn into classroom
teaching mode)
在进行C#程序设计课程设计时,不能忽视C#语言与其他程序开发的联系,制作出高效的完整的C#程序设计课程。具体说来,C#程序设计课程具有以下特征:
众所周知,C#语言是由C语言和C++语言衍生出来的高级编程语言。既保留了C语言和C++语言的强大功能。编程操作更加快捷,简单,语言简洁。而且以网络资源为对象,可以与XML信息描述语言相融合,支持跨平台服务,兼容性更高。在进行C#语言程序设计课程设计时,必须明确C#语言的特点,做到有针对性的教学,是学生快速进入学习状态。
从编程角度来说,网络服务就是C#的本地对象。编程人员需要利用C#语言及编程技巧开发Web服务。灵活运用C#语言结构,并鼓励学生在任何操作系统上调用运行C#语言。高效的处理各种数据。
3.1 C#语言程序设计课程教学现状
目前C#程序设计课程教学中普遍存在以下两方面的问题:
(1)进度过快
顺应高校课程改革的需要,C#程序设计课程的课时逐渐缩短,学分降低。学时的减少使得学生在接受C#语言程序设计课程学习感到明显有些吃力,老师讲解过快,跟不上节奏。对于一些简单的C#语言勉强还可以理解,但面对一些负责的C#语言结构就容易犯迷糊,对自己失去信心,甚至产生厌学心理。同时对于学生这种心理,教师也是叫苦不迭。一方面,需要紧密安排课程内容,完成C#程序设计课程大纲的内容设计要求。另一方面,学生的进度跟不上,学习效率低下。
(2)自主学习能力较弱
由于上述原因的出现,学生对于C#程序设计课程的学习兴趣不高,缺乏信心。大部分学生课前几乎不预习,课后也很少去复习。自主学习的意识不强。同时,由于C#程序设计课程的专业性极强,如果再上课过程中没有理解老师对C#语言的分析,课后的学习可能连基本的语言结构都看不懂。自学难度大。导致学生自主学习C#程序设计课程的能力不强。
3.2 基于翻转课堂教学模式在C#程序设计课程中的实践
在C#程序设计课程实践中引入翻转课堂的教学基础是本学科的视频资源,对C#语言程序教学内容和教学资源的分析、研究和开发。同时翻转课堂还有利于推动C#语言程序教学质量的提高和学生使用C#语言编程的操作实践能力。因此,基于微课的翻转课堂教学模式在C#程序设计课程中实践主要包括以下几方面:
(1)C#程序设计课程平台
随着翻转课堂教学的深入,教师可适当的将C#语言课堂的教学内容进行视频的录制,为学生自学,提高教学资源。引导学生自主学习,不断提高对C#语言的运用和程序的设计,提高学习能力。
(2)变教学观念和学习方式
在传统的教学模式下,C#程序设计课程教学过程主要以教师为中心,形成的是教师教什么学生就学什么。而在翻转课堂的教学模式下,学生是教学过程中的中心,学生可以根据教师的教学内容进行自己的学习进度的计划。有效地解决了C#语言程序设计课程中出现的由于学时的减少使得学生在接受C#程序设计课程学习感到明显有些吃力,老师讲解过快,跟不上节奏的问题。学生从被动学习转为主动学习,这一转变有利于学生对C#语言特点和知识的掌握[3]。
在传统的教学模式下,学生对C#程序设计课程的学习受到上课时间和空间的束缚,自学效果不高。而在翻转课堂中,则打破了这种教学模式,学生可以对通过手机、笔记本等载体在随时随地记录课程笔记,老师对C#语言的讲解可以通过视频,录音等形式进行学习。另外在学习方式上,学生可以通过在脚上创立的平台上与同学的互动交流,合作学习,共同编制C#语言,查错。实现学习的高效率。在学习理念上,随着互联网技术的快速发展,教材只能作为学生学习的基础,翻转课堂是以微视频为载体,为学生的提供丰富学习资源。结论(Conclusion)
在翻转课堂的教学下,要对C#程序设计课程的课程教学进行多元化的评价方式,由原来的单一的考试为评价学习效果变为多元的评价体系。通过考试、学生的互动交流和C#程序编制运行的效果对学生的课堂掌握能力进行评价。这种多元的评价有利于对学生的学习进行客观准确的评价。促进C#程序设计课程教学质量的提高。
参考文献(References)
[1] 相方莉.“微课”翻转课堂在高职C语言教学中的应用研究[J].中国教育信息化?基础教育,2014(20):8-10.[2] 刘小晶.翻转课堂模式在“数据结构”课程教学中的应用研 究[J].教学实践与教师专业发展,2014(8):105-109.[3] 曾明星.软件开发类课程翻转课堂教学模式研究[J].实验室研究与探索,2014,33(2):203-206.作者简介:
C#课程 第3篇
[关键词] 独立学院 C#程序设计 课程设计
[Abstract] By making a research on computer teaching of the Independent College, conducting a detailed analysis of C# Programming Design teaching status, as well as summarizing and analyzing existing problems. This paper aims at improving and expanding teaching approaches of C# Programming Design in Independent College.
[Keywords] Independent college C # Programming design course design
一、独立学院的计算机专业相关课程的教学现状
目前,在独立学院的计算机专业的教学中,无论是理论课程还是实践课程,改革都势在必行。传统的教学法过于重视认知目标,轻视行为目标,使学校的教学目标和企业的实际需求出现断层。计算机编程类课程作为计算机专业的核心课程,教学任务重要而艰巨,但由于课时、教学环境等因素的制约,每门编程设计语言的教学都不可避免地落于泛泛而谈的尴尬,理论与实践严重脱节,导致学生似懂非懂,难以真正掌握一技之长。
就学生方面来说,独立学院的计算机专业学生一般学习基础都不够扎实,没有明确的学习目标,学习动力也相对不足,生活作风比较散漫,沉浮于逍遥自在的象牙塔,把宝贵的时间用于闲聊、玩网络游戏、睡懒觉,而对课程学习尤其是对诸如《C#程序设计》等比较抽象枯燥的编程类科目兴趣不高,很少会主动进行课后复习,上机编程实践或从事项目开发。
在课程方面,如《C#程序设计》是针对计算机相关专业开设的一门专业课,不仅有很强的理论性,更有实用性,要求学生尽可能全面地了解C#程序设计的理念和方法,培养学生的逻辑思维能力和归纳总结能力。但由于受到课时的限制,一般教学进度都比较快,同时学生对知识的接受能力和掌握程度也不一致,从而加大了教学难度,也减少了课程教学的趣味性,降低了教学的效果。
二、《C#程序设计》教学中所存在的问题
(一)传统教学无法激起学生学习的积极性
目前,大多数开设计算机专业的高校中,《C#程序设计》这门课都是在C或者C++这样面向过程的语言课程之后开设的,而C#本身是一个纯粹的面向对象语言,与面向过程的语言在程序设计的思路和方法上都有很大的不同。虽然在教学上注意到了这一点,却在教学技巧上缺少改变,依旧以教师为中心,采用“填鸭式”的教学方法,间或穿插演示一些示例代码;学生被动地学习,只能死板地接受枯燥的语法、孤立的示例,只能如“瞎子摸象”般略知一二,却无法领会相关知识在更高层面上的运用。这无疑容易让学生对C#的学习失去了兴趣,无法获得良好的教学效果。
(二)教学与就业脱节
独立学院办学目标之一,即是将学生培养成社会需求的应用型人才。但在《C#程序设计》等课程的教学中,无论从知识讲授和技术培养上,都是处于基础层面的,忽略了新知识新技术的讲授,没有将知识的教授放入到具体的生产应用情景之中,没有按照系统的项目开发的系统过程来教学,因此,大部分学生单纯的把编程看成是代码的编写,脑海中没有一个完整的项目体系。这就导致了教学与就业严重脱节,很难适应社会的需求,与独立学院的办学宗旨渐行渐远。
(三)课程考核方式缺乏改进
当前教学机制下的考核方式以试卷考核为主。对于程序设计语言课程的教学,这种考核方式存在着矛盾之处:一方面,试卷考核限制了学生想象空间及灵活性。在平时教学中,老师都会有意无意地把考试的重点暗示给学生,而学生则会根据考试的重点来进行学习。然而,所谓的“考试的重点”与C#整体编程架构没有必然的联系,却无形中误导了学生,使其形成了这样一种思维定势,即“为考试过关而学习”,忽略了真正的编程学习。另一方面即是学生能力的培养与考核成绩评定的矛盾。许多独立院校都对试卷的题型作了一些规定,比如,不少于五种题型。为满足这一点,教师就会在试卷中加入选择、填空、判断、简单等题型。在这样的考试指导下,教师不得不花费一定的时间在语法细节上。而事实上,语法细节跟学生的编程能力并无太大关系。
三、探讨《C#程序设计》的课程设计
(一)C#课程项目案例的研究与设计
就业难的现状,刺激了职业教育的发展,如北大青鸟等培训机构倍受热捧。在对这些培训机构进行长期的研究之后,发现这些培训机构都是项目驱动的案例式教学,案例贯穿始终。它强调学习者主动参与学习的学习行为,是解决理论与实践落差的利器。从教学的内容上看,案例教学适用于复杂知识、专业知识的教学;从教学目标来看,案例教学适宜于旨在培养学生能力为主的目的;从教学对象来看,案例教学能够增强学生逻辑思维的能力,激发学生探求新知识的热情,以及创新力的提高。但最重要地,在项目案例的实践过程中,内容新颖性和创新性相结合,能够激发学生的学习兴趣;案例采用面向对象的思想进行软件开发,能够有效的将类、对象、重载以及多态的概念融入其中;案例具有持续性,可以贯穿整个教学过程,无论是在基础理论教学阶段,还是在高级开发阶段。同时,案例还能够切合时下比较新的或者流行的技术。
(二)设置问题引导教学模式
问题引导式教学方法是研究性学习的一种教学组织形式,是一种以探究活动为形式的综合性教学方法和学习方法。在《C#程序设计》的教学过程中,将问题引导式教学过程分为明确教学目标、设计学习情境、划分学习任务、精心设计问题、师生教学互动、课后强化六个阶段。在教学过程中,教师根据教学内容与教学目标,结合学生学习的实际情况,精心寻找新旧知识切合点,设计相应问题,以问题为线索,引导学生分析问题,揭示解决问题关键,进而较好地使学生获取新知识,掌握运用新知识的能力。首先,以学生为主体,以教师为引导,以问题为线索。其次,要培养学生养成良好的学习习惯,使其提高主动获取所需的知识的能力。再次,提高学生发现问题、分析问题及运用知识解决题的能力。最后,培养学生的创新意识与创造能力。
(三)从细节入手,提高教学质量
在教学活动中,可以通过注重细节的方式来提高计算机专业课程的教学质量,这些细节包括教学的趣味性和扩大知识容量等。教学具有趣味性,可以活跃课堂气氛,提升学生的学习兴趣。在保证正常教学进度的同时,要注重知识深度与广度的拓展,启迪学生思考问题,结合项目案例加强动手能力的培养,让学生能够学有所思,学有所用,学有所成,从而坚定学习的信念。在明确教学目标阶段,教师应根据独立学院学生的知识结构特点及其领悟接受能力而精心制定教学大纲,并根据具体情况灵活变动,有针对性地开展每一堂课的教学。在设计学习情境阶段,应准备好一些生动活泼的素材,包括一些富含人文气息的文字材料等,并从中适当穿插师生教学互动环节,改变理工科课堂里沉闷无味的教学气氛。在设计问题阶段,要目标明确,以教学大纲作为指引,捉住主线,演示若干与知识点相关的编程案例,加深学生对知识点的认识和掌握,另外,还要有针对性地辅以分量适当的课后强化题。
参考文献:
[1]吴献文,“项目驱动+案例教学”模式在高职教学的探索与应用[J].计算机教育,2007.
[2]吴安平,王明珠,王继忠.案例教学法研究与实践[J].长春大学学报,2002.
[3]董萍,吴世杰.“问题引导、任务驱动”教学模式探索—《社会保障学》的教学模式个案分析[J].中国科学教育,2006.
[4]曹娜,高林柱.任务驱动式教学法在教学中的应用[J].中国教育与教学,2006.
作者简介:
C#课程 第4篇
一、明确课程培养目标
c#是一种精确、简单、类型安全、功能强大的面向对象的语言, 由于其跨平台能力、安全性高、语句灵活易操作, 能够快速、高效地开发基于数据库的各种软件等特点, 在网络编程方面得到广泛的应用。
《c#程序设计》是计算机应用技术专业一门实践性很强的专业技术课程, 它要求学生既要学好理论基础知识, 又要掌握实际操作技能, 具备独立编程能力。因此, 根据专业设置必须“贴近企业”, “贴近实际”, “贴近岗位”的原则, 培养软件编程人员是计算机应用技术专业的主要培养目标之一, 而《c#程序设计》作为该课程体系中的重要环节, 在制定教学大纲前应认真地开展市场调研, 根据经济、社会的发展需要和就业状况以及本校的实际情况, 了解实际工作中需要的知识、能力、水平, 以此明确课程的教学目的和任务。教学目标应以培养学生实际应用能力为中心, 以提高学生综合素质为前提, 以培养学生面向对象的软件设计能力为目的, 本着“实用、够用”的原则, 通过改进教学方法, 调整教学手段来提高教学质量, 使学生能学好这门课程并能学以致用。
二、改革教学方法和手段, 提高学生程序设计能力
(一) 采用多媒体教学方式、任务驱动的教学方法
c#语言是一种简单的面向对象的语言, 学生在掌握了该入门语言后, 可灵活自如地运用其他语言。为了让学生能快速入门, 灵活掌握该语言, 并编写出实用的程序, 在教学中采用多媒体教学方式、项目驱动的教学方法, 即“提出项目任务需求分析任务引入新知识点完成任务总结提高”教学模式, 通过典型的、针对性强的、贴近实际的项目案例, 把相关的知识点、编程的基本方法和思路传授给学生, 从而使学生形成深刻、形象、牢固的记忆, 对启发思维、激励兴趣、提高学习效率起到重要作用。
例如, 在讲授c#和数据库连接时, 把学生分成几个组, 给每组分配不同的任务, 有的组做学籍管理系统, 有的组做图书馆管理系统等, 让学生先分组讨论如何完成这个任务, 完成这个任务都需要哪些知识, 然后引入新的知识点进行讲授, 学生分组完成任务。最后和学生一起对新的知识点进行归纳, 对任务实现过程进行总结, 让学生对所完成任务有一个的整体认识, 以提高学生的程序设计能力以及分析问题和解决问题的能力。
同时, 在教学过程中, 精心设计并引入案例, 给学生一个比较实际的切入点, 通过教师的演示使学生能尽快入手, 通过不断修改、扩充, 引导学生参与程序的编写过程中, 激发学生的学习兴趣, 培养学生的编程能力。
(二) 教学过程中, 精心设计问题情境
在授课过程中, 会采用多种授课方式, 精心设置一些问题情境, 目的使学生更清楚透彻理解知识点。设置问题情境本质是鼓励学生质疑, 鼓励学生质疑是激发学生的主体性、培养学生思维能力和创造能力的起点。在教学过程中提出问题, 集中学生的注意力, 促进学生主动思考、主动探索, 可以使学生在学习的过程中成为主体。例如, 在介绍调试程序的内容时, 会故意写一些错误的语句, 然后启发学生自己去调试程序, 发现错误。这种方法比一开始就给出一个正确的程序, 更容易让学生理解和记忆。同时, 在书本原有程序的基础上逐渐改变和增加条件, 用来提高同学的综合编程能力。
问题情境的精心设计, 提高了学生的自主探究能力和自信心, 也能够使学生思路更开阔、思维更缜密, 同时提高学生的合作能力和质疑能力。
(三) 要教会学生读代码和封装代码
要学好编程, 还用学会看别人的代码, 从中学习各种编程技巧, 提高自身的编程能力。同时, 把自己编写的代码要保存或封装起来, 需要用时可以直接拿来用, 不必重写, 以便把更多精力集中到解决新问题上。鼓励学生要多编程, 不怕编程, 尝试接触不同方面的问题, 并尽力解决。这样, 通过大量的、解决不同问题的程序编写, 会使学生在编程技术上有很大提高。
三、以就业为导向, 强化实践教学, 提高学生动手能力
对高职学生来说, 动手能力是很重要的, 从本课程的第一次课到最后一次课, 要始终向学生灌输程序设计不是看懂、听懂的, 而是做会的思想。学生只有通过自己编写程序、上机调试程序, 才能从中理解程序设计的思想方法、积累程序调试的经验。
为了提高学生的就业竞争力, 使学生更能适应岗位的需求, 要不断通过下企业调研和对毕业生进行走访的形式对岗位需求进行调研, 深入了解了程序设计的实际工作过程及企业需要掌握哪些知识的人才, 并把在企业获得的一些实际的程序设计项目, 进行相应优化, 形成教学案例融入到实践教学中, 让学生在校感受到真实的工作过程, 为学生就业奠定基础。
学生学完本课程后, 进入IT企业进行访真项目实训, 体验企业文化和软件开发的工作流程。我们与某软件公司签定学生实习协议, 学生进入公司进行为期10天的实习体验, 在10天的实习体验中, 完全严格按照软件开发的整个工作流程进行, 由企业IT人员作为实训指导教师, 学生选出项目经理, 由项目经理带领本组同学完成整个项目的开发。通过实训, 学生体会到了软件开发的模式和企业文化氛围, 同时培养了学生团结合作的精神。
四、优化课程考核模式
考核的目的是对学生知识与技术掌握的评价, 也是对教学效果的一种评估。对于《c#程序设计》这门课程, 由于企业需要的是动手能力强的程序设计人员, 所以仅用传统单一的笔试考核模式已不再适合了。在该课程的考核中, 应注重程序设计能力考核和平时过程考核, 在这样的考核目标下, 学生只有平时多动手动脑, 经过实战训练, 才有可能取得好成绩。因此经过不断的尝试, 把考试分为平时的过程考核和期末上级考核这种考核形式能较真实反映学生程序设计能力。
平时过程考核:通过对平时学生课堂表现, 实验完成情况, 课堂程序讨论情况等结合给出平时成绩。期末上机考核:学生完成课题任务过程中表现出来的分析与解决问题的能力, 操作、调试等多方面在机上直接表现, 是对学生程序设计能力的考核。实践证明, 对C#语言的考试形式和内容的改革, 有助于培养学生能力, 在教学中强化学生实验能力, 突出软件开发能力的培养, 从而提高了学生的学习兴趣, 提高了教学效果。
总之, 在《c#程序设计》课程的教学中, 要根据岗位需求, 确定教学内容, 改革旧的教学模式, 不断探索切合实际的教学方法和手段, 提高学生综合素质, 服务于滨海新区的发展。
摘要:目前, 我国产业结构正由制造业转向服务业, 这就带动了我国IT服务外包的发展, 需要大量的软件外包人员。天津滨海新区外包服务业正呈现出蒸蒸日上的发展势头, 对软件开发及服务的人才需求也日益突出。面对滨海新区庞大的人才需求市场, 作为我校计算机应用技术专业的主要培养目标之一, 如何培养具备较强编程能力、适于企业需求的软件编程人才, 是专业相关课程任课教师急需面对的课题。本文探讨了在《c#程序设计》课程的教学过程中, 应精心设计教学过程, 采用先进的教学方法和教学手段, 既要加强学生理论知识的学习, 更要注重培养学生掌握实际操作技能, 使学生通过该课程的学习, 具备独立编程的能力。
关键词:c#程序设计,教学方法,教学手段
参考文献
[1]成维莉.计算机程序设计探究教学研究[J].扬州大学, 2007.
[2]吴晓艳, 刘洋.《C#语言程序设计》精品课程建设的探索[J].科技信息, 2010 (25) .
[3]张超.《C#程序设计》教学实践探讨[J].科技信息, 2011 (19) .
C#实习总结 第5篇
对于计算机编程,我可以说从高中就开始接触,大学从专科开始一直学习的都是软件开发的专业,学过C#、Java,学过开发,也学过测试。但是这次实训让我体会了和之前完全不同的学习感受,不仅是时间安排、或者说效率还是教学授课的方式上,都是和大学课堂完全不同的,不是一节课讲一点,也不是一点一点教给你,这个实训中更多的是培养我们独立动手解决实际问题的能力,分析考虑问题的方法思路,让我们真正成长起来。
学校为我们提供了良好的学习的平台,提供了好工作的面试机会。我们觉得我们更应该充分利用资源,珍惜机会,努力学习,不断地给自己“充电”,这样才能不断的开拓进取,勇于创新,才不至于被社会淘汰。
这次实习中,我们主要有S0、S1、S2三个阶段,S0阶段主要是自学C#基础知识,S1阶段是在老师的指导下学习C#基础编程、C#桌面应用开发、C#数据库应用开发、C#网络应用开发、软件测试和软件工程几个方面的技术方面的课程,S2阶段则是进入项目实战,做实际项目来进行巩固和总结。整个过程中,还有穿插了职业素养课和英语口语课,学技术的同时,我们也注重职业素养的培养和英语口语的锻炼。
到目前为止,我们实习的主要成果有(按时间顺序):Point24(24点游戏求解小程序)、HandsUp(举手游戏模拟小程序)、SimpleCalculator(简单计算器)、GottaU(捕捉鼠标小游戏)、TypeGame(打字小游戏)、WebBrowser(简易网络浏览器)、Checker(单机对战跳棋小游戏)、MDITextEditor(多文档界面文本编辑器)、FileManager(文件管理器)、SimpleMediaPlayer(简单媒体播放器)等,这些小程序或是项目,虽然和市面的那些软件比起来,在功能强大、界面美观、Bug稀少等方面都有欠缺,但是都是实打实的,我们自己动脑、动手做出来的,当然在做的过程中遇到了不少困难、挫折,但是正因为这些困难和挫折,我们才真正学到了知识和技术。更值得注意的则是,在老师带领我们做项目的过程中,我们从老师的言传身教中学到了很多很多编程思想、解决问题的方法思路等各种“无形”的知识。
众多收获之中,让我感触颇深的,则是老师给我们介绍的“10-90”原则和“Quality-Client-Cost”原则。“10-90”原则的意思是,我们通常都是花10%的代价就可以完成一件事或者一个项目的90%,而剩下的10%,却需要我们花费90%的金钱、精力等各种代价,能不能做到这最后的10%,往往是衡量一个人或者一家公司很重要的一个原则。而且这个原则还是可以嵌套的,最后10%的部分中,也可以再分成90%和10%,同样是开始的90%需要10%的代价,最后的10%需要90%的代价。这个原则不仅适用于做软件、做项目、做公司,其实人生中做人也是如此,很多时候最后的10%是很重要的一把标尺。虽然不能说这个原则放之四海而皆准,但是确实是适用于很多地方、很多方面,让我获益良多。“Quality-Client-Cost”原则讲的则是做软件或是做软件公司的一个原则,就是质量一定要放在第一位,客户在第二位。我自己原本心目中对这三项的排序是Client-Quality-Cost”,但是老师的讲解点醒了我,最具有说服力的例子,就是像微软这样的大公司,都是Quality第一的,他们宁可花费多一些,价格贵一些,但是一定把产品尽善尽美。这个原则同样可以用在人生中,Quality就是人品、品德、素质,Client是朋友、客户、亲人,我们当然应该把个人的品格放在第一位。这些都属于这次实习中,我在技术以外的收获。
另外在实习还有职业素养课中,也学到了很多其他在今后的工作中,要注意的东西,首先要有团队合作精神,现金的大中型软件的编写,分工越来越细,这样在开发、测试的过程中,团队的合作、成员间的交流就变得尤为重要,是决定效率的重要因素;要学会独立解决问题,工作不比在学校学习,遇到的各种实际问题不会有老师专门帮助解决,自己独立分析、解决问题的能力就变得极其重要;要有创新精神,在工作和学习中,如果只是一味的模仿、学习,那就永远不会真正得学得得心应手、融会贯通,必须自己去实践,在实践中创新,这样才能把学来的,变成自己的;要有耐心,学会自我规划和管控,耐心自是不必多说,有耐心才能把事情仔细做好,而公司的管理制度和学校根本上的不同,使得自我规划和管控就成了能否按时圆满完成任务的很重要的条件。
通过这次实习,我在个人素质方面有较大的提高,不仅是在C#的技术方面,还包括面对、分析和处理问题的思路、能力,思维的创造性和全面性,交流和沟通能力,英语口语水平,同时也克服了一些自己的缺点,获得很大进步。
总的来说,这次实习对我有很大意义,不仅巩固和实践了之前在大学课堂上学到的各种知识,扩充了自己对软件技术方面的知识储备,同时也给了我很大的成就感,增强了我的自信。并不是说因为我做成的很难的程序,或者做出来的软件很强很完善,但都是自己认真完成的,过程中有遇到各种困难和挫折,但是经
过网上查资料、小组讨论、向老师请教等几种途径,最终都克服了,当最终自己完成时,总会有一些成就感。
此外,我还人知到在以后的工作和学习中,不仅要努力学习和锻炼专业技能知识,包括C#技术、算法技巧、MVC模式框架的开发、中间技术等等,而且也要注意让自己兴趣广泛起来,拓宽自己的知识面,多积累各种知识,这不仅对以后的软件开发工作有一定好处,对自身的个人修养的提升也是大有裨益。
C#中不同循环结构比较 第6篇
循环结构是程序设计中一种很重要的结构,其特点是:在给定条件成立的情况下,反复执行某段程序,直到条件不成立为止。给定的条件称为循环条件,反复执行的程序段称为循环体。C#语言提供了多种循环语句,包括for语句、while语句、do-while语句、foreach语句、break语句、continue语句等;此文仅对for语句、while语句、do-while语句、foreach语句进行比较,使学习者明确它们之间的区别,以便使用循环结构时进行选用。
一、for循环
for循环语句是c#中使用最广泛,最灵活的一种循环语句。它不仅可以用于循环次数已经确定的情况,而且可以用于循环次数不确定而只给出循环结束条件的情况。
首先我们来介绍一下for语句的基本格式与语法:
for(①初始化表达式;②循环条件表达式;④变量控制表达式)
{
③循环体
}
执行过程如下:①初始化表达式:一般为赋值表达式,为循环控制变量赋初值。只在第一次循环开始时执行;②循环条件表达式:一般为逻辑表达式,是用来控制循环是否继续的条件。当表达式的值为“真”时,循环继续执行转向步骤③;当表达式的值为“假”时,跳过循环体③,循环结束;③循环体:反复执行的代码段;④变量控制表达式:一般为赋值表达式,为循环控制变量增量或减量。执行完后,转向步骤②,循环继续执行。
使用for循环时需要注意几点:
①在循环结构中,一定要有使循环趋向结束的操作。以上程序代码中,语句i++;使i不断增1,当i>5时,循环结束。如果没有i++;这一语句,i的值始终不变,循环将无限进行,即为死循环。
②for后面括号内的3个表达式之间用两个“;”隔开,3个表达式的内容可以为空,但”;”不能省略。
③for后面括号后没有“;”,紧接“{}”,如在for后的“()”后紧接“;”,则表示循环体为空。
④当循环体只有一个子句时“{}”可以省略。
二、while循环
While语句的作用是判断一个条件表达式,以便决定是否应当进入和执行循环体,当满足该条件时进入循环,不满足该天剑时则不再执行循环。
基本格式与语法:
while(①条件表达式)
{
②循环体
}
执行过程如下:①条件表达式:一般为逻辑表达式,是用来控制循环是否继续的条件。当表达式的值为“真”时,循环继续执行转向②;当表达式的值为“假”时,跳过循环体②,while循环结束;②循环体:反复执行的代码段。执行完后,转向步骤①,循环继续执行。
使用while循环时需要注意几点:
①在循环体中,一定要有使循环趋向结束的语句。以上程序代码中,语句i++;使i不断增1,当i>5时,循环结束。如果没有i++;这一语句,i的值始终不变,循环将无限进行,即为死循环。
②如果循环体只包含一个语句,可以省略{}。
三、do..while循环
基本格式与语法:
do
{
①循环体
}while(②条件表达式);
执行过程如下:①循环体:反复执行的代码段。当流程到达do后,立即执行循环体,循环体至少执行一次。完后转向while后的条件表达式②;②条件表达式:一般为逻辑表达式,是用来控制循环是否继续的条件。当表达式的值为“真”时,循环继续执行转向①;当表达式的值为“假”时,循环结束。
使用do...while循环时需要注意几点:
①在循环体中,一定要有使循环趋向结束的语句。以上程序代码中,语句i++;使i不断增1,当i>5时,循环结束。如果没有i++;这一语句,i的值始终不变,循环将无限进行,即为死循环。
②和while语句的相同点是:都是在while后表示循环条件;循环体都在{}中。和while语句的区别是:语法结构上do..while结构do开始,“;”结束;do..while结构不管一开始循环条件是否满足都先执行了循环体,循环体至少执行一次。
四、foreach语句
foreach循环语句可以遍历集合中的元素。foreach语句的语法格式如下:
foreach(类型变量in表达式)
{
循环体
}
其中:
类型:变量的类型
变量:能被集合元素赋值的循环变量,是一个只读的局部变量。
表达式:对象集合或数组表达式。集合元素的类型必须可以显式转换为变量类型。
执行过程如下:①变量在表达式中遍历时,循环体反复执行。
五、综合对比
经过对四种循环结构的介绍我们发现:①foreach循环语句通过遍历集合中的元素进行循环,其他三种都是通过循环变量控制循环;②在这三种循环结构中只有for循环明确的给出了循环变量定义及循环变量控制语句,因此使用更为灵活,还有更好的可读性;③do...while和while语句的相同点是:都是在while后表示循环条件;循环体都在{}中。和while语句的区别是:语法结构上do..while结构do开始,“;”结束;do..while结构不管一开始循环条件是否满足都先执行了循环体,循环体至少执行一次。
C#课程 第7篇
当前, 在开发领域中, 主要有两大开发工具:.NET和Java。[1]《C#程序设计》是目前高职高专院计算机应用技术专业普遍开设的课程, 也是该专业的核心基础课程。由于该语言简单易操作, 功能强大, 已成为在.NET平台上进行开发的首选语言。[2]根据高职高专的教学目的和要求, 其功能在于让学生通过对本课程的学习, 掌握如何使用Visual C#.NET开发普通应用程序、控制台应用程序、以及数据库应用程序的方法、技巧和经验。使学生能了解与窗体以及界面相关的技术, 熟悉.NET Framework运行和开发环境, 掌握如何使用ADO.NET技术, 能具备基本的在.NET平台下进行软件开发的能力, 初步具备现代软件企业对.NET软件开发工程师的岗位技术要求, 同时为学习.NET系列后继课程打下基础。
2 课程整体设计的思路
本课程的设计将“以就业为导向, 以服务为宗旨”作为指导思想, 以“真实的工作任务或企业项目”为载体[3], 对教学内容进行了新的序化和重构, 让学生在真实企业项目的开发中来学习相关的课程知识, 以发展学生的真实职业能力。在教学内容和方法上贯彻以“技术应用能力培养”为主线、以“知识够用为度”的教学思想, 进一步提高学生的实际职业能力。对传统的考核方式进行改革, 采用将理论考试与实践项目考核相结合的方式进行课程学习效果的评价。
3 课程的教学目标
经过对企业所需人才应具备的技能进行分析后, 本门课程的教学目标主要有五个方面:
3.1 知识目标
了解程序设计的发展趋势;理解.NET体系框架;掌握控制台应用程序与窗体应用程序的设计;理解C#数据类型的分类及适用范围;理解程序设计的顺序、条件和循环三种基本结构;理解数组的语法结构, 掌握数组的使用方法;掌握结构与枚举;掌握类的基本结构 (basic structure) , 属性 (property) 、方法 (method) 和事件 (event) 的设计及使用;掌握类的继承性、多态性应用;掌握接口的设计方法;理解Windows基本控件的属性、方法和事件及其使用;理解Windows高级控件的属性、方法和事件及其使用;掌握ADO.NET关键技术;掌握文件操作;理解SQL Server2005数据库的连接和访问;掌握项目的需求分析和设计方法, 能按照软件规范和开发标准进行项目的开发。
3.2 技能目标
具备三种基本结构和数组的编程能力、类的编程能力、数据库的访问和使用能力、Windows基本控件使用能力、Windows高级控件使用能力、软件开发的能力。
3.3 态度目标
具备认真、严谨、细致的作风和良好协作精神。
3.4 情感目标
培养并加强学生自主探索学习的意识, 相互协作解决问题的意识。
3.5 岗位目标
计算机应用系统开发人员;软件测试人员等。
4 教学内容的组织与设计
在确定了课程的教学目标后, 根据高职高专学生的认知能力, 将本课程的教学内容构造了7个学习模块, 同时对于每个模块又设计了相应的学习单元, 本文限于篇幅只给出相应的学习模块。
4.1 熟悉控制台应用程序和窗体应用程序的开发过程;
4.2 程序设计知识准备;
4.3 面向对象编程;
4.4 Win Forms基本控件编程;
4.5 数据库编程;
4.6 Win Forms高级控件编程;
4.7 项目实战。
5 教学过程的设计
教学实施过程中主要按照以下流程进行:回顾、引入、新的知识点、新课、小结、下次课。其中, 回顾主要对上节课主要内容的复习, 然后引入本节课新的知识点、再对新的知识点进行讲授和演示练习相结合、总结本节课新的内容的关键点、最后下次课要讲关键知识点进行简述。
6 学生学法的设计
本课程的学习对象为三年制计算机应用技术专业的二年级学生。这些学生有来自职业高中的也有来自普通高中的, 学生的基础参差不齐, 针对这种情况采取的对策有:加强对学生学习方法的指导;改革教学内容和教学手段;通过本课程的理论学习、上机操作, 充分发挥学生学习的主观能动性, 增强学生的计算机应用能力。
7 教学方法与手段
陶行知曾经说过:“教的法子要根据学的法子”, 为了与学法密切配合, 在教学过程中, 采用“讲-演-练-评”四位一体教学模式。其中, 对每个知识点的讲解采用“任务驱动”的方法, 通过“提出任务分析任务完成任务边学边做总结”的过程, 体现出互动创新、提倡个性、重在应用、共同协作的教学风格。
根据学生的年龄特征, 我们通过多种手段来激发他们的学习兴趣:精心设计教学课件, 创建学习情境, 激发学生学习兴趣;多媒体教学, 利用flash制作动画课件, 将抽象的内容直观化;机房教学。上机实习时当堂布置任务, 及时检查, 讲评;利用网络将课堂教学延伸到课外, 注重学生课后学习过程监控。
8 考核方法的制定
考试采取课堂表现、实训成绩、作品展示和期末考试相结合的考核方式, 并在课程学习完成时, 以小组为单位完成一个真实的企业级项目的开发并做出展示。考核标准按真实企业所需要的技术要求制定。改革了传统考试中以期末考试成绩为主要成绩的考核方式, 加大了课堂表现、实训成绩和作品展示在总成绩中的的比例, 注重学生在整个课程学习过程中的表现。
结束语
本文从培养学生的职业能力角度出发, 对《C#程序设计》课程进行了整体设计, 经过真实的课程教学实施, 取得了良好的效果, 并且对其他同类课程的教学有很好的借鉴作用。
摘要:本文经过对《C#程序设计》课程的性质与作用进行分析后从如何提高学生的职业能力的角度对本门课程进行了教学设计, 主要包括教学目标的确定、教学内容的组织与设计、教学过程的设计、学生学法设计、教学方法与手段的选择、考核方法的改革。
关键词:C#课程设计,任务驱动教学法,职业能力
参考文献
[1]李志云等.Visual C#2005数据库开发案例教程[M].北京:机械工业出版社, 2009.[1]李志云等.Visual C#2005数据库开发案例教程[M].北京:机械工业出版社, 2009.
[2]谢云.Visual C#2005程序设计基础与实例教程[M].北京:研究出版社, 2008.[2]谢云.Visual C#2005程序设计基础与实例教程[M].北京:研究出版社, 2008.
C#课程 第8篇
徐州工程学院计算机科学与技术专业于2012年入选“江苏省卓越工程师 (软件类) 教育培养计划” (简称“卓越计划”) 。本专业“卓越计划”的基本指导思想是:结合本校的特色和人才培养定位, 依托学校人才培养管理体系和架构, 采用“3+1”的培养方式, 设计“知识-能力-素质”一体化培养的课程体系, 以学生的理论知识、个人素质与发展能力、团队协作能力、和在企业与社会环境下的工程综合能力为培养目标, 加强工程实践能力的培养和训练, 培养卓越的新世纪工程技术人才和工程技术管理人才。
本专业“卓越计划”软件技术分为3个方向:Java、.NET和Android。《C#语言程序设计》是.NET方向专业核心课程模块之一。
2 课程性质
本课程为计算机科学与技术专业的专业必修课程, 3学分, 共56学时, 其中40学时为理论, 16学时为实验。课程于第二学年第三学期开设, 其先修课程是《高级语言程序设计》, 其后续课程是《.NET企业级开发》。
3 课程目标
本课程使学生具有从事计算机工程技术工作所需的相关基础科学、专业理论知识及相应的应用能力, 掌握软件工程师的核心知识与初步技能, 理解面向对象程序设计思想, 具有利用面向对象编程语言解决一般性工程实际问题的能力, 掌握人机交互和界面设计的基本方法, 掌握软件实现的基本方法、技术及主流Visual Studio软件开发工具。具有信息获取和职业发展学习能力, 具有文献检索能力, 具有应用检索工具 (在线检索、数据库、搜索引擎等) 检索并获取信息的能力, 具有信息的整理与分类、甄别、提取、凝练的能力。
4 学生起点分析
参加“卓越计划”的学生经过报名和考试筛选, 程序设计基础较牢固, 具有一定的程序设计能力。学生经过第一学年的《高级语言程序设计》课程的学习, 掌握了C语言程序设计方法, 包括C语言的集成开发环境用法、基础语法、常用语句用法、函数、结构体、指针等内容, 可以开发小型规模的控制台应用程序, 为后续的程序设计课程打下一定基础, 但不具备开发Windows窗体应用程序和数据库应用程序的能力。
学生希望可以学习更为丰富的人机交互和界面设计方法, 而不仅仅是控制台程序;可以学习规模较大的软件实现方法, 而不仅仅是几十上百行的小程序。
5 教学内容
5.1 具体实施过程
(1) 第一阶段
C#语言基础, 让学生了解C#语言背景, 熟悉C#集成开发环境, 掌握C#语言语法, 包括程序结构、编写规范、语法语句基础等内容, 综合运用C#语言编写控制台应用程序, 使学生能从C语言程序设计平稳过渡到C#语言程序设计, 打好C#语言基础。
(2) 第二阶段
C#面向对象程序设计, 让学生熟悉面向对象的基本概念和概念的应用方法, 掌握C#面向对象程序结构和程序语句用法, 综合运用C#面向对象程序设计方法编写控制台程序, 使学生设计程序时从传统结构化设计方法过渡到面向对象程序设计方法。
(3) 第三阶段
C#Windows程序设计, 使学生熟悉C#Windows窗体设计方法, 掌握C#开发Windows程序设计包含的窗体和各类控件用法和程序代码, 综合运用C#Windows程序设计方法编写规模稍大的程序, 使学生设计程序时从控制台设计方法过渡到Windows设计方法。
(4) 第四阶段
C#数据库程序设计, 使学生熟悉C#数据操作相关的概念, 掌握C#数据访问控件用法和数据访问方法, 可以结合实际应用问题, 综合运用数据访问操作方法编写规模较大的交互式Windows应用程序。
5.2 教学重点和难点
5.3 课堂教学实施过程注重的问题
本课程是实践性很强的课程, 涉及的基础概念、程序语法、设计方法最终都会以程序代码方式呈现, 只有最终编写出源程序代码, 并运行得出结果, 学生才能直观认知, 深入理解概念语法, 掌握程序设计方法, 纯理论讲解没有太大帮助, 因此在课堂教学中, 遇到重要的知识点, 都会在讲解之后带着学生编程实现, 在编程过程中对每个学生出现的问题讲解解决问题的方法, 让学生逐步掌握独立调试解决问题的方法, 对于学生出现的通用问题统一进行讲解, 在课堂中让学生牢固掌握每一个重要的知识点。但课程时间毕竟有限, 教材中案例也很多, 只能每个重要知识点讲授一个小程序实例, 其他知识点实例, 将由学生在每次课程结束后以练习的方式自行完成。
6 与以往课程的区别
(1) 程序设计类课程需要大量的程序编程练习, 但课堂时间有限, 因此课程以学生主动学习为主, 教师引导为辅。教师讲解主要知识点和典型程序实例, 学生要花费大量时间在课后学习。
(2) 课堂中学生自带笔记本电脑, 随着教师一起参与编程, 遇到问题, 立刻解决, 整个教学过程讲、练、调结合, 教师与学生均处于高度集中的状态。
(3) 整个课程中贯穿《企业人事档案管理系统》案例, 只要每次课程中涉及的知识点可以和案例结合, 均会讲解, 而不是到课程最后的几次课才讲授综合案例。
(4) 在课程开始初期, 制定课程选题, 由学生每人选择适合自己的题目, 作为课程考核项目。通过学习课程知识点, 模仿教师讲授案例, 自己独立编程实现, 逐步完成选题项目。
(5) 在课题选题之后, 需要学生在互联网中查找课题背景, 业务流程等资料, 查看同类软件样式, 对未来自己将要完成的软件有直观的认识。
(6) 实验环节对应课程学习的四个阶段, 每个阶段要完成学生选题项目中与实验内容有关的设计内容, 教师既要帮助学生解决项目中的问题, 也要进行督促和检查。实验既是传统教学中的实验, 也是项目过程考核的过程。
(7) 学生现阶段虽然还存在软件规模不大, 部分业务流程不合理等问题, 但也能实现一定规模的软件系统, 而不仅仅是几十上百行的小程序, 在项目实现过程中积累了一定的软件开发经验, 为后续课程的学习和程序设计与工程实践能力的进一步提高打下了坚实的基础。
(8) 课程考核方式发生改变, 以往期末考试为试卷闭卷考试, 在100分钟时间内通过各类基础知识点和若干个小程序代码考核学生掌握知识的水平。但毕竟时间有限, 无法考核学生真实的实践能力, 因此本课程考核将以过程考核和期末答辩相结合的方式, 全面综合考核学生的能力。
(9) 本课程结束后, 将进行为期两周的课程设计, 学生进行3-4人的分组, 应用本课程学习的C#语言程序设计方法和自己完成个人项目的经验, 结合同学期学习的《数据库原理与应用》课程, 进行规模较大的软件项目课程设计, 既能培养团队协作开发软件的能力, 也是对整学期专业课程学习的检验。
7 课程考核方式
本课程是基础类程序设计课程, 因此课程项目的选择以个人项目为主, 学生个体作为被评价主体, 任课教师作为评价主体。采取终结性评价与过程评价相结合, 充分发挥评价的诊断、激励、导向、调控教学过程的作用, 注重通过评价引导学生个性发展。
课程考核包括平时成绩和项目考核, 平时成绩考核分为课堂考勤、课后作业和实验考核, 主要考核学生学习过程;项目考核分为项目报告和项目答辩考核, 主要考核学生运用C#语言解决综合性问题的能力。课程考核比例如表2所示:
8 结束语
本文介绍了徐州工程学院“卓越计划”计算机科学与技术专业的《C#语言程序设计》课程的实施方案, 对同类院校类似课程提供一定的理论和实际参考。
参考文献
[1]胡局新, 鲍蓉, 秦利波.CDIO工程教育理念在软件服务外包人才教学改革中的应用[J].计算机教育, 2013 (12) :22-25
[2]李旗.应用型本科C#程序设计课程教学改革探索.[J].福建电脑, 2014 (6) :51-52
[3]李梅, 岳峻.以培养能力为核心的C#教学探索[J].计算机教育, 2015 (12) :35-38
[4]沈项军, 鞠时光, 魏斌.C#程序设计教学模式探讨[J].教育与教学研究, 2008 (22) :132-133
C#课程 第9篇
一、项目化课程与CDIO工程教育理念
1. 项目化课程
项目化课程是一种围绕专业培养目标和课程培养目标,从所服务的公司或企业收集、筛选实际项目或工程,按照一定的方式分解、融合到课程的知识教学、素质培养、技能培养当中,并制订一套有效地提高教学质量的教学方案和考评方案的课程改革方式。
2. 项目化课程应处理好的几个问题
项目化课程需要处理好项目来源、融入课程的方式、教学方案和考评方案等关键点。
(1) 项目来源。应来源于专业培养目标所对应的领域相关工作内容的工程或综合性项目,如软件开发公司、外包服务公司等近两年主要开发或服务的软件工程或项目。要按照具有可分解性、工程性、个人能力培养与提高、团队协作与成长等筛选与分解,以便融入课程中。
(2) 项目融入课程的方式,目前有三种。
方式之一:基于工作过程导向的项目化课程方式:是“基于工作过程导向”课程开发的一个应用。它强调某岗位的工作内容,具有一定的针对性,但对于“高等职业教育重点培养产业转型升级和企业技术创新需要的发展型、复合型和创新型的技术技能人才”[1]来说,存在片面性。因为它只针对某一工作领域,而忽略或割裂了高职人才培养的专业性、成长性、系统性和工程性。
方式之二:围绕课程培养目标的项目化课程方式:类似于“项目驱动”教学方法。它是根据课程培养目标,随机地找些让学生动手的项目,丰富教学内容或增加实践教学时数。
方式之三:基于CDIO工程教育理念的项目化课程方式:是借鉴CDIO (Conceive构思、Design设计、Implement实现、Operate运作) [2]工程教育理念,围绕专业和课程培养目标,以实际项目或产品从研发到运行的生命周期为载体,让学生以主动的、实践的、课程模块间及课程间有机联系地学习,来逐步培养学生的基础知识、个人能力、人际团队能力和工程系统能力。
(3) 项目化课程的教学方案和考评方案。主要应该围绕课程培养目标,知识培养路线、技能培养路线、素质培养路线,凝练发展型、复合型和创新型的技术技能人才培养元素,“教”、“学”、“做”、“考”、“评”等教学元素来制订。
3. CDIO工程教育理念
CDIO工程教育模式是近年来国际工程教育改革的最新成果。
CDIO代表构思 (Conceive) 、设计 (Design) 、实现 (Implement) 和运作 (Operate) ,它以产品研发到产品运行的生命周期为载体,让学生以主动的、实践的、课程之间有机联系的方式学习工程。CDIO培养大纲将工程毕业生的能力分为工程基础知识、个人能力、人际团队能力和工程系统能力四个层面,大纲要求以综合的培养方式使学生在这四个层面达到预定目标。
基于CDIO工程教育理念的项目化课程的目的是综合分析、运用CDIO的12条标准和能力大纲,以项目的生命周期为载体,让学生以主动的、实践的、课程模块或课程之间有机联系的方式学习。培养学生的基础知识、个人能力、团队能力和工程能力等,以探索提升项目化课程教学改革的效果和质量的新方法或新途径。
二、基于CDIO理念项目化C#课程的课程设计
1. C#课程培养目标
C#课程培养学生C#语言基本编程能力、C#面向对象编程能力、应用程序基本设计能力、扩展应用程序设计能力、数据库的增加、删除、修改、查询、打印、统计等程序设计等C#综合编程技能。
2. 基于CDIO理念的整体课程设计原则
(1) 课程有机联系的理念。基于CDIO12条标准中的“培养计划的设计在什么程度上做到了各学科之间相互支撑,并明确地将基本个人能力、人际能力和对产品、过程和系统构建能力的培养融于其中”。C#课程要与数据库和ASP.net等课程有机联系地组织教学。
(2) 一体化理念。基于CDIO12条标准中的“个人能力、人际能力和对产品、过程和系统的构建能力是如何反映在培养计划中的”。一方面,以课程综合项目为载体,并将其分解成各子功能模块,按照“构思设计实现运作”路线分解到各能力培养的子模块项目中,在课程结束前,可完成大部分的课程综合项目的CDIO。另一方面,在各模块内,以各子项目为载体,采用CDIO的“构思设计实现运作”路线培养各模块能力。
(3) 工程的理念,自主学习的理念。基于CDIO能力大纲的“外部和社会环境”能力和“企业及商业环境”和CDIO12条标准中的“标准7综合性学习经验”和“标准8主动学习”。采用实际项目,模拟外部和社会、企业及商业等实际环境,在项目中多加入一些实际问题,在学生探索解决的这些实际问题中,锻炼学生工程能力和解决实际问题的能力,提高学生自主学习能力。
(4) 团队成长理念。基于CDIO能力大纲的“团队协作和交流”能力。将学生分成3~5人小组形成项目团队,小组长为项目负责人,并根据具体项目需要,由小组成员轮流担任,以锻炼每位学生的领导与协调能力。小项目由学生单独完成,稍大些项目和综合项目由学生团队完成。
三、基于CDIO的项目化课程设计方案
1. 基于CDIO的项目化课程整体设计方案
基于CDIO的项目化课程整体设计方案,如表1。
表中的教学进程:根据教学规律、学习认知规律等将课程分成入门、进阶、提高、综合四个阶段,各阶段设有针对的训练项目,以实现和提高各模块和子模块的能力培养。各项目本身和综合项目融合了CDIO工程教育理念的“构思设计实现运作”路线。
2. 基于CDIO的项目化课程单元设计方案
基于CDIO理念的单元课程设计方案,如表2。
表中的模块培养目标,是课程知识、技能、素质培养路线的一个“节点”,是模块教学组织的核心。模块内容设计包括5个教学元素。教学方法建议:建议使用的效果良好的主要教学方法。教学环境及资源:“教”、“学”、“做”、“考”、“评”各环节所需要的多媒体教学设备、项目训练的条件、项目的任务书与指导书及参考资源等。
3. 基于CDIO理念项目化课程评价总体方案
基于CDIO理念项目化课程评价总体方案,如表3。课程评价从过程评价、教师、结果评价三个方面评价学生学习情况,其中过程占40%,项目评价占60%。实践评价中融入了企业评价和国家职业标准等。
摘要:针对高职项目化课程教学改革的需要, 围绕课程目标, 结合CDIO教育工程的理念, 从课程设计、课程组织与评价等方面入手, 探索项目化C#课程改革, 提出了基于CDIO理念项目化C#课程的改革观点。
关键词:CDIO,项目化课程,C#课程改革,教学改革
参考文献
[1]教育部.国家教育事业发展第十二个五年规划 (教发[2012]9号) [Z].
[2]CDIO12条标准[EB/OL].中国CDIO网站[2010-5-10].http://www.chinacdio.cn/.
C#课程 第10篇
Windows应用程序在Windows平台上可以运行的程序, 以其界面简洁直观, 易于使用而受到软件开发人员的欢迎。Windows应用程序可采用多种计算机语言作为开发工具, 如C++, Delphi, VB, C#等, 其中C#是基于.NET平台的面向对象的编程语言, 综合了VB简单的可视化和C++运行效率高的特点, 可以编译成跨平台, 跨语言的代码, 它避免了C语言指针和多重继承, 具有简单、灵活、功能强大等特性, 以软件工程作为规范, 使用它能够快速、高效地开发各种基于网络数据库的软件, 因而成为开发Windows应用程序语言首选语言。许多高校都开设了《基于C#的Windows应用程序设计》课程, 作为计算机专业的一门专业核心课程, 它要求学生能够理解和把握.NET框架, 可以用面向对象的思想进行应用程序开发。
1 教学中存在的问题
《基于C#的Windows应用程序设计》课程目标是要培养学生的程序设计能力, 即利用编程语言分析问题和解决问题的能力。然而, 该课程教学中普遍存在以下问题:
1.1 学习目标不明确, 缺乏自觉性和主动性
许多学生不能主动学习, 很多操作只能知其然, 而不能知其所以然, 编程时满足于代码和操作步骤完整的事例, 一旦遇到了新问题, 就不知道该怎么办。
1.2 重视语法教学和理论, 实践教学比例很小
本课程理论性和实践性都很强, 内容琐碎, 知识量大, 要完成一个一般的软件项目必须有多个课时, 即使安排行72课时, 学生能把基本理论和方法掌握已属不易, 在有限的时间内, 教师只能把重点放在语法教学和理论上。实践操作的不足严重影响学习效果。
1.3 内容抽象, 综合性强
C#作为一种面向对象的编程语言, 它涉及到很多抽象的概念, 如类、继承、封装、重写、接口、委托、框架等。一般项目都有多个窗体, 涉及大量的控件、属性、事件、方法, 用到数据库的软件项目就更为复杂, 如果不能熟练掌握基础知识, 要独自完成一个项目难度很大。
1.4 没有掌握正确的调试方法
调试是编程的基本技能之一。程序编写完成后, 一般都可能有几处, 十几处甚至更多的错误, 但他们中的许多错误都是相关联的, 一处错误纠正了, 往往很多错误都会随之消失。许多学生没有熟练掌握程序调试方法, 看到有一堆编译错误产生恐惧, 不知道如何来排除, 也没有信心继续下去, 慢慢地完全失去了学习的兴趣。无论编译错误或逻辑错误, 只须定位到出错位置, 认真分析, 反复几次, 基本可以解决。
2 改进教学的措施
2.1 激发学生的学习兴趣
本课程刚开始时, 演示一些简单有趣, 学生易上手的小程序, 如打字母游戏程序、计时器程序等, 调动学生的积极性, 并把基本理论和操作方法融于其中, 使学生在轻松愉快的气氛中接受这方面的知识。当学生有一定的基础, 引导他们一步一步来完成一些稍大的项目, 如电子相册、学生信息管理系统等与日常生密切相关生的项目。兴趣是最好的老师, 有了兴趣, 任何知识都变得简单, 学生会主动查阅资料和解决问题。在兴趣培养过程中, 老师的不仅要检查学生是否完成指定的任务, 但要关注完成的过程, 逐步使学生达到举一反三的效果。
2.2 采用实用高效的教学方法
教学中应遵循“以学生为中心, 以教师为主导”的教学理念, 针对不同的教学阶段和教学内容采用不同的教学方法, 案例教学法和项目教学法在本课程教学中效果显着。案例教学法通过对案例的调查、思考、分析、讨论和交流活动, 有助于培养学生创新能力, 引导学生形成自主学习的氛围, 从而理解面向对象编程的精髓。项目教学法中按照软件工程项目的思想把某个软件项目展开, 模拟软件公司的环境, 对学生进行分组, 以小组为单位来完成这个项目, 使学生在开发过程中掌握相关知识, 明白要做什么、怎么做、为什么。案例和项目的选择尽量做到难度适中和贴近实践, 并有扩展的余地, 让有余力的学生可扩展案例和项目。案例教学法和项目教学法可以提高学生的学习积极性, 也有利于锻炼学生的团队合作精神和合作意识。
2.3 强化学生的实践操作
《基于C#的Windows应用程序设计》课程实践性强, 必须采取多种措施, 提高学生的动手能力。教师课堂编程示范特别是重要的操作和步骤要演示给学生, 让学生知道从哪里入, 如何做;坚持一体化机房授课, 每节课大部分的时间供学生操作, 边学边练, 使学生及时掌握所学知识, 训练学生的编程能力, 同时操作中更有助于发现学生中存在的问题与不足;开展课外实践项目, 课外项目是为巩固课堂理论学习而进行了重要实战训练, 是课堂教学内容的重要补充;鼓励和支持学生积极参加各种科技竞赛, 以赛促练。
2.4 建立科学的评价体系
评价方法在一定程度上决定了学生学习的方向, 不合理的评价方法会导致更多的高分低能的学生。评价方法不能单靠期末的一次考试, 评价应该渗透到每一个教学环节:笔试分组任务、实验完成情况和课堂表现等, 全面、客观地评价学生的程序设计能力, 把教学和评估真正融为一体, 使评价起到培养学生应用能力的导向作用。每个项目完成后, 先让学生演示评价各自的系统, 然后让学生互评, 在对比中发现自己的长处和不足, 最后教师综合评估学生的学习成果。合理的评价有利于学生共享成果, 相互促进, 共同提高。在项目评估过程中, 教师可以了解学生的学习现状, 同时也可以发现教学过程中存在的问题, 从而不断改进教学方法和教学手段。
2.5 重视程序的调试工作
程序编写后, 用手工或编译器和其他方法进行测试, 修正语法错误和逻辑错误, 这是软件开发中必不可少的步骤, 以确保所开发软件的正确性。掌握正确的调试方法, 可以快速发现并消除程序中的错误, 提高编程效率。教师要指导学生熟练掌握调试方法, 在排除错误的过程中提高学生的编程信心。
2.6 发挥网络在教学中的作用
课堂上, 教师使用多媒体教学系统进行广播教学、个别辅导、收发作业等。通过网络, 教师还要把课堂将延伸到课外, 为学生课外学习辅导, 指导学生利用网络拓宽专业知识, 获取专业信息, 了解本课程最新发展动态和应用情况。
3 结束语
《基于C#的Windows应用程序设计》课程教学, 需要不断探索和改进教学方法, 合理利用现代化教学手段, 进一步提高教学效果, 充分调动学生的积极性和主动性, 注重学生实践能力的提高, 培养出更多能学以致的计算机专业人才。
参考文献
[1]孙锐.《.NET平台与C#编程》课程教学改革与体会[J].教育论丛, 2010 (12) .
[2]谢延红.以培养学生实践能力为目标的C#教学改革探索[J].计算机时代, 2011 (7) .
C#课程 第11篇
关键词 毕业论文 系统设计 C#语言 系统编程
一、功能需求分析
论文网上上传,我们可以自动识别RAR压缩文件和doc和doxc做为后缀名的Word文档,方便学生上传论文,为了节约资源和空间,网站也可以设置每次上传的文件大小,这个根据不同高校来自定义。论文上传完毕后,学生可以查看自己的论文上传情况,有权限的老师,可以查看自己指导的学生的论文,通过论文建立联系渠道,老师就可以方便和毕业设计的学生联系和交流。
网上评阅实现的是老师对学生毕业论文进行下载浏览,之后可以对论文质量的评价,该模块有打分功能和完成相应的评价表格。在评阅的过程中可以做论文进行备注和快速给毕业学生进行留言,及时给出反馈信息,不仅可以提高工作效率,更重要的是可以提高工作質量。
后台管理是管理信息系统的十分重要,而已必不可少的一部分。它为信息资料的管理提供了一个可视化的平台,减少和优化了工作量,极大的方便了一系列的工作。本系统后台管理分为三大部分:信息管理,用户管理和数据库管理。其中信息管理功能有信息的发布、信息的删除、bbs信息的管理和课题的管理。用户管理主要为用户添加,用户删除和管理员密码管理。数据库管理主要是资料初始化和资料备份。用户添加(删除)中还有学生添加(删除)、老师添加(删除)、管理员添加(删除)。添加(删除)又分单个添加(删除)和群组添加(删除)。在整个系统中,管理员的权限最高,并且管理员可以给其他用户分配管理权限。后台管理中由于权限最高,所以不慎操作会造成信息和数据的丢失,这里完全可以添加一个配备功能。
二、编程调试
利用Microsoft Visual Studio 10 集成解决方案,在这种环境下,编程变得十分快速,而且建立和管理 Web 站点也十分方便。这种基于B/S模式的web网站,我们把编程的重点放在了服务器上面,语言环 境我们选择Microsoft公司的ASP.NET平台,利用C#编写数据库代码,数据库管理系统我们选择SQL Server 2008,利用ADO(Active Data Object)方便地访问数据库,利用它能很好地对数据进行处理。其中包括一些数据控件和事务处理技术,还用到了XML和Web服务。对每一个页面进行分类,从局部到整体,逐步编写,这样便具有较高的条理性,按照之前的需求分析讲每一个模块实现,在进行编程调试的过程中我们采用了“V”模式法来开发,对每一个步骤进行了验收,来确定是否出现Bug。
在编程过程中在这里给出几点是否重要的建议和提示。首先编写代码的时候,一定要注重格式的规整,这主要方便代码的修改和阅读,但随着开发的进度后移,代码量会不断变多,最后变的十分庞大,而运行过程难免会出现错误和bug,这时候就会感受到之前给返工铺好道路的必要性,这样大大提高了修正效率。另外敲写代码养成一大段后,保存的习惯,避免出现断点关机,到时数据的丢失。
三、程序测试
首先要制定测试计划,中间记录测试结果,最后对比验证。其中软件需求分析、设计规格说明书和编码的最终复审,是软件质量保证的关键步骤。测试和编程过程地位应当是相等的,而往往在测试上花费的精力更多。
我们采用了两种测试方法,一种是黑盒测试也称功能测试或数据驱动测试,它是在所具有的功能,通过测试来检测每个功能是否都能正常使用,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只需要检查程序功能是否按照需求规格说明书中规定能正常使用,程序是否能接收到输入的数据而得到正确的输出结果,并且保证外部信息(如数据库或文件)处于完整性。首先要穷举输入测试,理论上需要把所有可能的输入都测试一遍,才能查出程序中存在的错误。但是实际上情况是有无穷多个的,现实中我们又是不可能列举所有的可能性,就举出一组具有代表性的参数来概括所有的可能性。
另外一种是白盒测试,这种方法是需要清楚知道程序内部的逻辑算法来进行测试的,测试程序中的每条逻辑行走路线是否能按预定要求正确执行。白盒测试想多来说,耗费的精力和时间更多。所以一般可以主要采用黑盒测试,白盒测试为辅助测试就可以了。
参考文献:
[1]任峰.基于B/S模式的网络课程制作与管理系统的开发[J].福建电脑, 2007(10).
[2]姜洪臣.基于ASP.NET的高校网络教学系统设计与实现[J].今日科苑,2009(04).
[3]杜美萍.基于.NET的高校教务管理系统的设计与实现[J].办公自动化, 2009(12).
[4]郭雪峰,林春杰.基于ASP.Net的毕业论文管理系统的设计与实现[J].内江科技,2008(11).
C#课程 第12篇
1 数值类型间的转换方式
1.1 隐式转换
默认的、不加声明的转换就是隐式转换。数值类型中的各个子类型在计算机内部的存储形式都相同,只不过是占用的存储空间不同、能够表示的数据大小和精度不同。在数值类型数据的转换中,从小范围、低精度的数据类型向大范围、高精度的数据类型转换时,系统会自动地进行安全的数据类型转换而不造成数据信息的丢失和异常[2]。例如:short类型占用16位的内存空间,能够表示-32768至32767之间的整数,它可以隐式地、不加任何声明地转换成比它范围大、精度高的int、long、float、double、decimal类型。而float类型只能隐式转换为比它范围大、精度高的doubele类型,不能隐式转换为比它范围小、精度高的的decimal类型。
1.2显式转换
需要指明要转换成的数据类型的数据类型转换称为显式转换,显式转换的语法格式是:(目标数据类型标识符)表达式。显示转换也称为强制数据类型转换,可以将范围大或者精度高的数据类型强制转换成范围小、精度低的数据类型,这样的转换有可能造成数据信息的丢失和异常,所以在使用强制数据类型转换时要注意[3]。例如:ushort类型占用16位存储空间,能表示的数据范围为0至65535,byte类型占用8位存储空间,能表示的数据范围为0至255,将大小为0至255的ushort类型数据显式转换为byte类型数据时不会出现异常,而将大小为256至65535之间的ushort类型数据显式转换为byte类型数据时则会发生异常。在这里需要注意的是,目标数据类型标识符和后面的表达式(表达式为单个变量时除外)都需要加上英文的圆括号,例如:“(int)(a+b)”表示将“a+b”转换为int类型,而如果写成“(int)a+b”则表示将x转换成int类型后再与b进行“+”运算。
2 利用Convert类进行不同值类型间的转换
利用Convert类下的各个数据类型转换方法可以将整数类型、浮点类型、Boolean、Char、Date Time、String类型转换成为另一个基本数据类型。可以根据要转换成的目标数据类型来选择Convert类下的相应的方法。例如:要将某个数据类型的数据转换成int类型的数据,就可以选择使用Convert类下面的To Int32方法,这个方法是将指定的值转换为32位有符号的整数。在转换过程中,如果源数据类型向目标数据类型的转换是无意义的转换,则转换无效、不执行任何转换,例如:从Char类型的数据转换为Boolean类型的数据就是无效的数据类型转换。
3 数值类型与字符串类型间的转换
3.1 利用Parse、TryParse方法将字符串类型转换为数值类型
每个数值类型的数据都拥有一个Parse方法和TryParse方法,用来将数字形式的字符串转化为相应的数值类型。例如:语句“int.Parse(“123”);”可以将字符串类型的数据“123”转换为数值型数据123。在使用Parse方法进行数据类型转换时,转换成功则方法的返回值为要转换成的数据类型值,如果要转换的字符串中包含有除数字和小数点之外的其他不能转换为数值的字符,则转换失败并抛出异常[4]。利用Try Parse方法也可以将字符串类型的数据转化为数值型数据,它和Parse方法的区别在于数据类型转换成功,则Try Parse方法返回True,转换不成功则返回False,转换成功的结果保存在Try Parse方法的最后一个输出值参数中,如果转换失败结果为0并不抛出异常。
3.2 利用ToString方法将数值类型转换为字符串类型
在c#中,有个根类型System.Object类,其他所有的类型都隐式地派生于该类,并且重写该根类型的To String()方法,使得派生于根类型Object的每个数据类型类都具有了一个To String()方法。To String()方法可以将数值类型转换成为对应的字符串类型。例如:声明x为int类型的变量并且为其赋值,执行语句“string s=x.To String();”,这个语句是调用int类型的To String()方法将int类型的变量x转换为字符串类型,再赋值给字符串类型的变量s。
4 值类型与引用类型间的转换
值类型与引用类型之间的转换可以分别通过装箱和拆箱来完成。将一个引用类型转换为数值类型就称为拆箱,而相反地将一个数值类型的数据转化为引用类型则称为装箱。例如:声明一个int类型变量x并为其赋值,执行语句“object o=x;”,这个语句就是一个装箱的操作,将值类型变量x装箱为object类型数据之后再复制给“=”号左侧的对象o。再例如:声明一个object类型变量o并为其赋值,执行语句“int y=(int)o;”,这个语句就是一个拆箱的操作,将对象类型变量o拆箱为int类型数据之后再复制给“=”号左侧的int类型变量y。
5 利用as关键词完成引用类型的转换
利用as关键词可以将某种类型的数据转换成为另外一种引用类型的数据,当转换失败时不引发异常只返回空值。语法格式为:expression as type,这里的type只能是引用类型[5]。实际上,利用as完成的转换可以看作是引用类型的强制类型转换。例如:s是student类型的对象,m是master类型的对象,则语句“s=m as student”就是利用as关键词将master类型的变量m强制转换为student类型。
6 数据类型的其他转换技巧
6.1 字符串与数值混合表达式
当两个数值型数据进行“+”运算时视作做加法;当两个字符串进行“+”运算时视作将两个字符串进行连接运算,成为一个新的字符串;当一个字符串类型的数据与一个数值类型的数据进行“+”运算时,系统会自动地将数值型数据转换成相应的字符串类型数据,然后再与原来的另一个字符串数据进行字符串连接运算,生成一个新的字符串。例如:在表达式“"中国"+2014”中,系统将数值型数据2014转换成字符串类型再与字符串“中国”进行连接运算,最后生成新的字符串“中国2014”。
6.2 加后缀
在程序设计过程中,很多数据都可以采用多种数据类型来存储,例如:数字3.14分别可以用float、double、decimal类型来存储,而double类型是默认的带小数的类型,如果希望将3.14表示为float类型,则只需要在3.14后面加上float类型名的后缀“f”,则“3.14f”就表示是一个float类型的3.14了。常见的数据类型及其对应的后缀名有:uint、ulog类型的后缀名为U或u;long、ulong类型的后缀名为L或者l;ulong类型的后缀名为ul、u L、Ul、UL、lu、Lu、l U或者LU;float类型的后缀名为f或者F;double类型的后缀名为D或者d;decimal类型的后缀名为M或者m。
7 结束语
在C#程序设计课程的教学过程中,数据类型及数据类型转换部分的知识是该课程的基础语法知识,是后续知识的基石。C#语言中的数据类型繁多,在程序设计过程中会经常涉及到数据类型之间的相互转换,对于初学者容易混淆。该文针对这些问题,描述了C#语言中的数据类型转换的各种规则、方法,并给出各种方法使用时的注意事项。
摘要:数据类型是《C#程序设计》课程中的基础理论知识,不同数据类型之间的转换对于初学者是个难点,该文从教学的角度对数据类型转换的各种方法进行归纳、分析。
关键词:C#,数据类型,类型转换
参考文献
[1]崔晓军.C#.NET程序设计案例教程[M].清华大学出版社,2013.
[2]侯传宇.论C语言教学中数据类型转换的问题[J].巢湖学院学报,2008(3).
[3]戴敏.C#程序开发实用教程[B].清华大学出版社,2013.
[4]徐卫英.C#语言中数据类型转换的应用探讨[J].电脑学习,2010(4).
C#课程范文
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。


