C#程序语言

2024-07-26

C#程序语言(精选10篇)

C#程序语言 篇1

1、引言

面向对象程序设计语言C#综合了VB简单的可视化操作和C++的高运行效率, 以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。

现在各大高校都开始了各种形式的C#程序设计课程, 由于C#的独特性, 传统的教学方式与方法明显不能满足C#教学的需求, 笔者根据近几年C#教学的经验, 在C#教学上做了一些研究, 供大家参考。

2、教学内容

教学内容的选取对面向对象程序设计语言C#的教学是非常重要的, 因为它决定了教学的质量。由于C#的独特性, 在教学内容的选取上面, 采用分阶段教学的方式, 将C#的学习分为两个阶段, 第一阶段为基础知识学习阶段, 第二阶段为系统设计阶段, 课程采用4节课为一个单元的方式, 每周8节课, 总课时为128节。具体课时和内容安排如下表所示:

3、教学方法与手段

针对教学的不同内容, 设计不同的教学方法。

在第一阶段, 因为是介绍C#的基础知识, 所以采用任务驱动式教学, 每一基础知识都对应一个小的任务。第二阶段, 采用项目教学方法, 在项目中讲解相关的知识点。

在C#教学过程中, 积极采用多种现代化的教学手段是提高教学质量的有效途径, 主要的教学手段有:

(1) 设计生动的教学多媒体课件。生动的课件可以营造轻松活泼的课堂气氛, 将抽象化的问题融入到学生熟悉的生活情境, 并通过动画演示等手段, 让学生通过对熟悉事物的认知来理解理论知识。

(2) 充分利用机房控制软件。由于C#教学都是采用一人一台电脑的方式教学, 所以要充分利用机房控制软件的互动功能, 让学生和老师能进行交互教学。

(3) 互联网交互学习。将课堂的教学延伸到课外, 可以建立一个C#学习QQ群, 教师与同学可以在课外进行交流, 学生之间也可以随时进行交流。还有就是建立C#学习的网站, 将学习的相关资料都放在上面, 方便学生查找资料, 自我学习。

4、考核方式

考核只是一种手段, 不是目的, 考核就是要检验一下学生的掌握情况, 针对C#教学的特殊性, 我们采用过程化考核方式, 学生的最后成绩主要由平时的程序完成情况来决定, 即总成绩=平时表现+任务完成成绩+阶段项目一成绩+阶段项目二成绩+课程设计成绩。这样, 学生改变了考试前"临时抱佛脚"的心态, 重视实验、重视平时表现。事实证明, 这种考核结果很大程度上解决了"高分低能"的问题。可以说C#成绩高的学生, 也是真正理解C#编程的学生。

5、结束语

C#作为一门面向对象编程语言, 具有很强的特殊性, 因此在教学中不能按照传统的方式进行教学, 需要不停进行教学改革, 摸索适合学生的一种模式, 这样才能真正让学生学得轻松, 教师教的轻松。

摘要:在面向对象程序设计语言C#的教学过程中, 如何选取教学内容, 采用何种教学方法和手段是非常重要的, 本文结合学生学习程序语言的特点, 根据本学院的教学情况, 对C#教学进行探讨, 交流了教学经验。

关键词:C#教学,面向对象,教学方法

参考文献

[1]谭恒松.C#程序设计与开发[M].北京:清华大学出版社, 2010.

[2]沈蕴梅.《C#程序设计》教学改革之初探[J].科技信息, 2009, (33)

[3]赵爱美.C#教学中的实践与探讨[J].电脑知识与技术 (学术交流) , 2007, (22)

C#程序语言 篇2

C#课程今天为止就结束了,这门课程让我体会到了编程的乐趣,他编写win窗口的确很有意思。C#为期两天的实训,有兴趣却又很苦恼,因为编程本来就是一个需要思维的过程,另外还要编写类似循环的东西,就更加让我苦恼了!老师这次下的任务是编写计算器的加减乘除,我想了半天也只有一点头绪!

在这次的实训中,我对C#语言有了一个更深的了解认识,也对这个学期学的东西得到巩固,还尝试运行程序,每次运行成功,让我对下面的的项目充满信心。通过自己与同学合作编写程序,最终把最初的的理论知识转化基本技能。现在我真的有一种感觉就是C#这门语言是多功能的,可以编写很多东西,真的觉得包括所有编程的东西,原来不以为然,觉得不就是一门课,现在该认真的去学习了,这门课虽然结束了,但是以后我不会去放下,我还是会去自主学习。

通过这次短暂的实训,我深有感触。从一开始的构思到今天写下这份总结。期间时间虽短但是也学到不少东西。在实训过程中,也有很多意想不到的错误,其中有的错误到最后解决的时候却是发现很幼稚,不过这样的错误多了,在不知不觉中对一些代码更熟悉了起来,并且自身组织代码的能力也得到很大的提升。另外我发现平时学习的知识与实际运用还是有一定的差距,往往我觉得自己掌握的很好或者自己认为很熟练的环节出了问题。现在我懂得了一个东西,书本上的知识只提供方法,但是真正到自己动手操作的时候,还是需要自己去摸索,需要自己去掌握,感觉上课时感觉自己掌握的很好,但是实训的时候,老师把题目一改,自己就不会了,还是说明自己没有学好运用。除了书本,让我感觉更深刻的就是计算机,要想真正的学好软件,就是需要自己去计算机上多练。虽然这次老师布置的任务量不算大,但是感觉有点难度,让我用了很多时间,开始真的无从下手。

这次实训的实践很紧迫,再加上自己的开发能力不足,也遇到过很多问题,虽然我通过网上查询,咨询同学去解决我发现得问题,但我知道自己的任务完成的不怎么样。但是总的来说,这次实训给了我很大的启发,让我对自己的专业又有了很大的认识。现在我深刻的意识到一个程序员,一个好的程序员是一件相当不容易的事情,因为这是一个无始无终的事情,不仅要有足够的热情和干劲,还要有比较好的编写代码的能力,还需要好的思维模式。

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#程序设计的兴趣。教师在课堂上的知识点讲解以及实训的项目中的实践应用, 都需要要求任务分工明确, 安排科学合理, 效果检验及时, 这样就能遵循教学进度, 把握学生实际状况, 调整教学方法, 取得良好的教学效果。

(二) 改革整个教学体系

1. 相关联课程的设置

C#程序设计课程的教学应该讲求知识点的循序渐进, 与其紧密关联的课程应该有序的开展[1]。不能在教学中只为了让学生学习一门程序设计课程而去开展教学, 应该让学生有目标有基础去学, 如学生应该理解解决问题的具体算法, 处理问题的业务流程, 关键数据的数据存储及去向等, 这些支撑性课程要优先讲解。如果学生在学习基本语法知识点时, 仅知道定义格式应用一些简单的例子, 那么就很难取得理解运用效果。教师在讲解过程中也会非常吃力, 学生只能认识一些皮毛的东西, 很难深入学习, 当然最后效果将很不理想。所以, 在教学开始前, 其前序课程应该完成, 同样也要告诉学生课程里的知识点将来在那里会用到。这样就不至于, 学生在学习的过程中提出来, 为什么这样做的, 做后有什么好处的问题等。

2. 在课程知识点设定阶段性目标

在课程教学过程中, 要设定的目标[2], 明确我们在此阶段是在干什么, 要达到什么程度。这样学生就能够在逐步掌握知识点的同时, 兴趣和求知欲得到激发。在学生学习的过程中都存在向好的方面努力的倾向, 当看到别的同学顺利实现了某些功能, 自己就更加努力去实现, 不断获得成就感, 形成你追我赶的良性学习气氛。当然在这个过程中也可以联合其他课程, 对各种学生的实践能力进行检验, 如英语、数学等, 促使各课程共同提高。另外更好的培养学生独立的探索能力, 同学们之间良好的经验沟通, 也有利于提高创新能力。

(三) 拓展新的教学方法

1. 引导学生学会发散思维

在C#程序设计课程中, 相关程序代码演示是教学过程中的重要环节, 在C#典型程序演示过程中, 要适时地提问学生, 启发学生去思考, 发挥个人的分析解决问题的能力[3]。就同一问题, 可提问不同的学生, 引导他们讲出自己的想法, 可得到不同的解决方法。再结合课程内容进行对比解析, 附带可穿插旧的知识点, 以达到加强学生记忆的目的。在提问解决问题的过程中要注重循序渐进的引导, 切勿直接告诉学生最终的解决办法, 要让学生从不知道, 到找到解决问题的办法的过程中去思考, 从无到有慢慢转变, 培养起解决问题的思路。从而达到开阔学生视野, 激发潜能, 加强认识新知识点, 稳固已经掌握的知识点的目的。

2. 要适时表扬鼓励

在学习的过程中, 学生是否持续学下去, 取决于其是否取得进步。如果他已经尽力学习, 但是学不会, 自然会深受打击, 从而打消他再坚持学的念头。在教学的过程中, 无论在提问时, 还是学生在问一些显的很简单的问题时, 都要适时捕捉他们取得的进步, 一定要肯定并鼓励他们。让学生保持足够的信心, 集少成多, 逐步提高, 自然就会坚持学习。此过程可不断激发学生的兴趣, 会更用心的去寻求进步, 得到同学的羡慕, 尤其是教师的认可。在教学中要紧抓学生的好胜心, 成就感, 将会取得意想不到的效果。

3. 故意设置错误启发

教学过程中, 程序的编写及演示过程中, 应该把常见的错误给学生故意暴露出来。问题的解决通常情况下是出现了错误, 寻求解决错误的有效方法。学生学习知识本就是要认识错误, 得到如何纠正错误的方法。这样在代码书写及调试时, 制造矛盾, 激发对错误的认识并解惑。在容易出现错误的基本知识点, 无论是新学的还是已经学过的, 都要不失时机的在错误中提高。这样往往可以加深学生的印象, 以后假如出现类似情况, 他们也很快能够找到应对的方法。也可以在处理错误时把错误多样化, 同样的环境, 不同的错误又该如何应对, 就起到了, 举一反三的教学效果。

4. 搭建课程总体项目

C#程序设计课程就必然有自己的真正实用项目。在课程开始就要给同学们规划一个大的项目, 此后知识点的逐一展开就是逐步完成目标的过程。学习的各个章节可设置局部的小项目, 明确目标。要遵循事物发展, 由易到难, 由小到大的规律, 小项目进行排序, 前面完成的就是后面要出现的基础, 依此一环扣一环, 逐层推进最终实现课程的总体项目。不然学生总会在学习中产生顾虑, 到底学了有什么用, 又用到那里。这样学生就会努力的向目标进发, 有针对性的去提高, 否则造成盲目学习, 其效果可想而知。

5. 教学过程让学生有轻松感

教师应该在教学中, 在讲解单调的C#程序时要有足够的幽默感, 这样就能够调动的课堂气氛, 使学生更专注于课程内容。其实教学就是一门独特的语言艺术, 教学就是在教与学的交流中进行的, 就要发挥教师的语言能力, 感染吸引学生, 轻松的完成知识点的讲解。往往有些教师就不注意这点, 只知道埋头讲知识点, 其实已经丧失了教学良机, 也就谈不上提高教学质量了。

(四) 改变传统课程的考核方式[4]

当前多数高校C#程序设计课程在期终考核时都惯用笔试来考核, 即使个别院校也进行机试, 也只不过是仅供参考而已。这样以来就使学生更注重理论的死记硬背, 而不关心实际的应用, 不会用程序解决实际问题也不影响自己的课程成绩。针对这种现象应该削弱笔试的比重, 辅助上机考试来进行考核, 尽量做到试题来源于题库。题库里应有足够的题型及题量, 题目不能直接取至于教材的例题, 一定要作到变化。平时课程课内实训时就要灌输学生以用为主的思想, 注重实际动手能力, 加强学生对知识点的理解和联想, 不断提升学生的自觉领悟性。为了更全面反映学生的学习情况, 也可将平时上机练习作为最终考核的组成部分。

三、结束语:

随着软件技术不断发展, C#项目的广泛应用, C#程序设计课程在高校教学工作就显的尤为重要。这就要求在教学过程中教师的教和学生的学紧密有效的结合, 真正做到知识的学习与掌握并灵活的运用。由于学生对这类课程产生的恐惧或不安, 就促使着我们教师就应该正确面对当前的教学是否需要改善。教师教学中只有发现缺点, 才能切实的去纠正, 努力的去教好, 更高效的完成C#程序设计课程的教学任务。

参考文献

[1]孙伟.程序设计课PTG模式的研究与实践[J].职业, 2011 (36) :104-105

[2]陈卫民.C#程序设计的教学探索[J].湖南城市学院学报, 2011 (6) :99-100

[3]马雪英, 王桂平.以能力为导向的程序设计类课程教学体系[J].计算机教育, 2011 (4) :74-78

C#程序语言 篇5

摘要:项目化教学法,是师生通过共同实施一个完整的项目工作而进行的教学活动。它是“行为导向”教学法的一种。一个项目是计划好的有固定的开始时间和结束的时间的工作。原则上项目结束后应有一件较完整的作品。本文针对高等职业教育特点,以C#语言为例,探讨了“项目化教学法”在高职教学改革中的具体实践。

关键词:项目化教学法,C#语言,高职教学

【中图分类号】G632

1 引言

在传统的《C#语言程序设计》教学方法中,基本上都是采取同一个模式进行教学,按照教材章节顺序先介绍C#语言的基本知识,然后再介绍其语法规则,讲解例题,然后再用一节课的时间上机实验,教学方法单一死板,对于职业学校学生来说,学生往往是上课时一些概念等理论知识好像会了,但一到上机实践,就不能灵活运用,学生的学习兴趣和积极性大打折扣。由此就在教学过程中就引入了“项目化教学法”。“项目化教学法”是通过实施一个完整的项目而进行的教学活动,其目的是在课堂教学中把理论与实践教学有机地结合起来,充分发掘学生的创造潜能,提高学生解决实际问题的综合能力。通过教学实践活动进行总结,项目化教学方法与传统教学方法相比,主要表现在改变了三个传统的中心:由教师为中心转变为学生为中心、以课堂为中心转变为以实际经验为中心、由以课本为中心转变为以“项目”为中心。

2 传统教学方式的缺陷

“C#程序设计”课堂的教学中,传统的教学方法通常采用以知识点的层次递进为体系。通常按照C#语言的基本知识、程序基本结构、数组、常用控件、类、继承与多态等知识点层次递进为教学体系,教师按照教材把需要掌握的这些知识点按部就班地灌输给学生,然后再带领学生上机来巩固所学的知识。这种教学方式虽然符合人的认知规律,但存在以下缺陷:知识点练习不够紧密,学生的主动性不高,传统教学中很多教师在课堂上举的一些例子往往是为了某个知识点,而且例子与例子之间没有联系;缺乏实际工程项目开发体验,学习“C#程序设计”,如果只是停留在知识点学习以及例题练习,没有实际工程项目开发的历练和体验,无法感受所学知识在实际工作中的作用,将会抑制学生的学习兴趣,影响学习效果。

3项目化教学的内涵及意义

为改进程序设计课程的传统教学存在的这些问题,我们在“C#程序设计”的教学中采用项目化教学,所谓项目化教学,是以某个工程项目为案例,该项目应涵盖课程中主要知识点,采用边讲知识点边设计项目中某个模块程序的教、学、做相结合的教学法,当课程各知识点讲完时,项目设计已完成。学生不但能学到课程的主要知识,同时也完成了一个真实的项目设计。传统在学习时多是只见树叶、不见森林,而项目化教学,是先在学习者面前呈现出一片美丽的森林,使他们自然而然想去其中寻宝。这样的教学方法使学生在学习过程中首先建立了系统和全局的概念,也使学生更加明确后续知识的学习目标。

4项目化教学在C#教学中的实施过程

项目化教学的具体实施可按照3个环节进行:项目设计;制定项目教学计划;项目实施。

4.1 项目设计

在C#教学中采用项目化教学,教学的整个过程以实际的工程项目来贯穿,教师依据教学内容选取工程项目。学生通过完成项目来达到对本课程教学内容的掌握,因此,项目任务的选取是关键。选取项目任务时,(1)要把握好任务的“质”,即需要了解C#的发展及社会的需求,也需要教师深入了解学生的基础和特性,选取学生感兴趣的能调动学生积极性的项目任务,即所选项目必须具备趣味性。(2)是实用性,该项目本身应具有一定的使用价值,以消除学生心中的“学习无用论”。(3)是完整性。能够通过该项目实例的展开涉及到教材的绝大多数知识点,以完成教学任务。

4.2 制定项目教学计划

教学项目确定后,首先要制定出项目实施计划,把整个项目分成若干个子项目,并把每个子项目所涉及的知识点罗列起来,用教学计划的形式固定下来,形成项目教学计划,通过师生的共同实施,达到每个项目所必需的能力要求。例如,在讲解C#中的第一个项目“学生成绩管理系统”的“系统需求”时,不是首先告诉学生此項目要完成哪些功能,而是引导学生积极思考:假如你是此项目的用户,你希望此项目能完成哪些功能,然后按小组讨论。这是与实际生活联系密切的一个问题,几分钟后小组长开始汇报讨论的结果,接着老师一组一组地点评汇报结果,并给予补充,最后达成共识:学生成绩管理系统需要完成学生基本信息的管理、课程基本信息的管理以及学生成绩的管理,包括数据的添加、删除、修改和基本数据的查询。学生成绩管理系统的功能模块如图1所示。

4.3 实施过程

在教学过程中,每一个子项目围绕一个中心内容,首先提出子项目设计目标,然后分析该子项目所包含的若干知识点,利用项目子模块中的程序实例,讲解每个知识点的用途及用法,最后实现该模块。

5结语

传统教学是多少年来的教学模式,它不是以学生为主体,学生学习被动,不能更好地培养学生的各方面的能力,教学情景虚拟抽象,知识传授照本宣科,师生间的互动性差,教学评价一卷了事;而项目化教学以学生为主体,教师为主导,学生自主学习,能更好地培养学生各方面的能力,教学情境具体实用,知识传授灵活,师生间的互动性好,教学评价客观公平,教学设计紧紧围绕着以学生为主体和培养学生各种能力展开。

6参考文献

(1)明日科技. C#项目案例分析[M].清华大学出版社,2012

(2)卢桂荣.项目化教学法在高职课程“VB程序设计”中的应用[J].科技信息,2008(32)

浅谈两种C#程序的调试方法 篇6

程序调试是将编制好的程序在投入实际运行前, 用手工或编译程序等方法进行测试, 修正语法错误和逻辑错误的过程。这是保证计算机信息系统正确性的必不可少的步骤。任何一个计算机程序在编写完毕后都要进行计算机测试。

大多数开发环境都提供程序调试功能, 例如微软公司推出的Visual Studio开发环境中就包含多种程序调试方法;编写Java程序的eclipse开发环境中的程序调试——debug调试功能。但是并不是所有的程序代码都能用开发环境中的调试功能逐行运行, 有些程序用一般的调试方法是无法抓住断点的, 例如多线程程序开发、服务程序等。针对此种状况, 本文将介绍两种简单的外部调试方法:进程调试法和写日志法。

2 进程调试法

当需要调试的程序代码在开发环境之外运行时, 这就要运用进程调试的方法来观察程序执行的情况。在Microsoft Visual Studio的工具菜单中依次点击“调试”—“附加到进程”就可以打开目前所有运行程序的进程列表, 选择其中需要附加的进程, 点击F10/F11, 即可进入外部代码进行逐行调试。下面以一个Windows服务程序来介绍进程调试法的运行过程。

首先建立一个Windows服务程序, 将代码写好并编译通过;然后进入调试过程, 在IDE中找到需要调试的地方, 加上断点;接着安装服务, 服务安装最主要的是注册表操作, 在.NET平台下, 一般习惯用installutil这个程序来安装服务, 安装好后, 需要打开控制面板的“Administrator Tools”—“Services”选项, 双击进入服务列表窗口, 找到安装好的服务并运行它;最后

切换回IDE, 在Debug菜单中点击打开“Process (进程) ”选项, 在弹出的对话框的进程列表中, 选择该服务相对应的进程, 之后点击旁边的“Attach (附加) ”按钮。经过以上操作, IDE就开始加载需要调试的进程了。加载完毕后, 黄色光标将跳转到前面设置的断点处, 此时就可以调试这个Windows服务了。

进程调试方法不仅可以调试Windows服务程序, 还能调试B/S项目中的脚本代码以及外部调用的DLL程序。

3 写日志法

写日志法, 顾名思义, 就是在程序中添加往txt文本中写日志的代码, 将编程人员所关心的变量值写在日志中, 或者监控某段代码的执行情况。写日志法适合于多线程程序、操作大数据量程序和长时间运行程序的调试。

写日志法涉及到IO操作, 需要用到System.IO命名空间中对文件流 (File Stream) 和字符流 (Stream Writer) 相关类的调用, 其中File Stream类既支持同步读写操作, 也支持异步读写操作, 因此在多线程程序中, 也可以用写日志法来调试程序。

写日志法的C#代码如下:

将以上代码封装成公共类, 在程序中的任意地方就可以调用此类的方法, 调用方法如下:

Log log=new Log (App Domain.Current Domain.Base Directory+@"/log/Log.txt") ;

log.log ("内容") ;

日志文件是以txt的格式保存在电脑中的, 其中App Domain.Current Domain.Base Directory语句的作用是定位到当前程序所在的目录。另外, 在每一条日志前面加上Date Time.Now语句, 以此标识出写每条日志的时间。

4 结语

本文介绍了两种调试程序的方法。进程调试法是为了能让开发人员实时看到程序运行的情况——每一个变量值的变化, 每一个选择判断语句的执行情况;而写日志法多是在程序相关代码已经执行完毕, 在后期观察和分析变量的变化情况时用到。当然, 这两种方法也可以相互结合, 共同使用。

程序的调试方法还有很多, 本文没有一一介绍, 在具体项目开发中要根据实际需要选择最适合、最方便的方法, 这样才能事半功倍, 全面的发现程序中的各种问题, 把好程序开发的第一关。

参考文献

[1]c#调试Windows服务程序的方法[EB/OL].http://blog.csdn.net/daming_ocean/article/details/4141310

浅谈《C#程序设计》课程建设 篇7

每门知识学科或者生活、科学技术的学习都是从基础学起, 所以得注重基础。所有技术的精髓是由它的基础做铺垫的。

《C#程序设计》是专门开设给在熟悉了一定计算机基础之后的大二学生学习的, 有了一点计算机基础操作知识后, 大二上学期我们开始学习该课程。

在软件技术专业课程体系中, 该课程的前导课程是C程序设计、数据库应用, 后续课程为 (C#) WINFORM项目开发实训、ASP.NET程序设计、C#高级程序设计, 起到了承上启下的作用。设置该课程的目的, 不只是为了使学生学习某种特定的语言, 更重要的是要求学生学习现代软件设计的思想 (面向对象) , 为后续的系列课程 (如:ASP.NET程序设计) 学习奠定基础。

职场需要的信息技术不仅是会使用键盘、录入汉字, 而且还要提高效率, 改善质量、降低成本。例如, 两位学生都会用Office软件, 但他们的工作效率、完成质量、消耗成本上可能有天壤之别。领导喜欢谁?这是不言而喻的。而C#就是相对于和C++的胜出者。本课程主要是培养学生使用C#语言进行桌面程序设计的职业技能, 并为学生使用C#语言进行ASP.NET网站开发以及使用Web Service进行跨平台开发提供基础, 对学生的职业能力培养和职业素质养成起到主要的支撑作用。学好了它我们就会开发ASP.NET网站, Web网站。这就是C#给我们带来的就业技能和《C#程序设计》课程的作用。

2. 我院《C#程序设计》的开设情况

调查显示, 我院 (四川信息职业技术学院) 创办至今都很重视基础课程的知识教育。我院软件技术专业从2006年春季开始《C#程序设计》教学, 最初该课程叫《C#程序设计基础》, 主要是针对软件专业学生开设的对C#语言程序编程的入门学科。

2.1 课程主要内容

根据国家教育局课程开办的原则, 我院开办的《C#程序设计》课程总共72个学时, 4.5个学分。主要讲授以下内容:

第1章:C#语言概述;第2章:常用标准控件;第3章:数据类型;第4章:运算符和表达式;第5章:条件判断语句;第6章:循环控制语句;第7章:数组;第8章:GDI+图形;第9章:方法;第10章:体与控件;第11章:界面设计;第12章:异常处理;第13章:综合实训。

这些都是基础知识, 简单易懂, 很适合C#刚入门的软件专业学生学习。

2.2 教学保障

2.2.1 教学资源

为了顺利开展本课程的教学工作, 学院提供了1个5层计算机实训楼, 每层6个微机实训教室 (每个实训室40-60台微机不等) ;还专门在学院图书馆六楼开放了一个项目开发实验室;校门外不远处可供学生生产实习的鹏锦科技有限公司等丰富的教学资源, 以保证教学质量。

2.2.2 师资队伍

强大的师资队伍是教学质量的重要保障条件。我院担任该课程的师资队伍由软件教研室主任张光辉, 以及他带领的组员 (刘青梅, 李焕玲, 林勤花, 李想) 共同组成。他们分别毕业于各个高校, 其中有1个是工程师, 2个是技能导师, 1个是NIIT讲师, 2个讲师。同时, 为了提高师资水平, 我院还定期组织师资培训学习班, 让老师们与外校及企业专家们互相交流学习经验, 扬长补短, 携手共进, 打造更强大的师资队伍。

3. 课程建设

为提高《C#程序设计》课程建设质量, 笔者认为根源在于如何提高总体教学质量。即:教学保障需要提高;师生之间需要加强沟通交流;提高学生的自觉性和自我动手能力。

3.1 提高教学保障条件

学校给予的硬件配置是必需的, 由于学校开设的是每级2个软件学习班, 所以在硬件配置上需要2个教室, 教室面积需要120平米/间。每间教室配置师生专用微机60台以上, 局域网中能实现广播教学功能。软件安装 (随着工具平台版本要求及时进行升级) , 并且能安装实现C#程序设计Windows Server 2003/Windows XP以上操作系统, 以及Visual studio.net 2005/2008等开发工具和SQL Server 2005数据库。理论教室中应配置投影仪一套 (实现展示课件、展示实例、演示操作等功能) 。以上是学校给予学生校内学习的必备硬件条件。

只有在教学理论与实际操作结合的情况下才能做到教学工作质量的全面提高。因此, 校外实训基地建设同样不能落下。学校应该与业内优势企业合作, 构建校企合作, 建设校外实训基地, 为学生顶岗实习提供场所。另需聘请企业技术骨干作为专业顾问和兼职教师, 参与课程建设与教学。

师资力量方面, 要求随时提高教师技能水平, 紧跟时代步伐, 丰富教学经验和项目经验。教师职业技能随软件产品升级而升级, 能给予学生高质量, 高效率的辅导。

3.2 进一步完善教学内容, 创新教学观念

高校学生的学习能力和自觉性和中小学生自然不同。所以教师在教学观念上就需要随之进行改变。

在课堂时间, 教师应突出内容重点, 方法上新颖出奇 (学习兴趣对于当代大学生非常重要) 。专业知识是重点内容, 在讲课时应着重讲解, 与专业无关的当然尽量不提, 不过可以引用少量其他知识做比方。根据实际来, 不能光指点理论, 也不能光是照着书上的讲。

培养融洽的师生关系, 创设和谐的课堂氛围。上课气氛活跃, 下课作业照样布置, 也会提高学生的自觉性。课间时分最好能到教室中间处与学生多进行交流, 生活、学习都可以交流的。所谓“亲其师, 信其道”, 交流是提高相互学习质量的好方法。

在实训课上, 须看到学生亲手操作完成任务, 难点重点要多做演示。

3.3 结合使用多种教学方法

基于指导教师工作过程的任务驱动教学法。笔者建议在教学过程中, 指导教师应结合高职教学需要和本门课程的特点, 在整个课程教学中, 以完成项目任务的过程作为教学活动的中心, 从而达到引导、激发和维持学生学习兴趣和学习动机的目的。

案例教学法。在课程教学中需有配套教学案例, 通过讲解与任务相似的案例, 使学生掌握完成任务所需的知识和技能, 从而实现知识点的有效过渡和深化。

项目教学法。启发引导和分组讨论在实施项目之前, 引导学生分析项目任务, 采用分组讨论的形式熟悉项目任务的要求和流程, 项目任务实施过程中, 提醒学生将实践中遇到的问题记录下来, 并引导学生分析和解决问题。

4. 总结

《C#程序设计》是很适合软件项目编程初学者学习的科目学科, 方便编程基础学习和掌握。有了学校提供的丰富的硬件、软件条件, 有了老师们的正确引导, 学生发挥出各自自觉性, 就能很好地提高学生的软件水平。达到学院、学生双赢的目的, 这样才是这门学科开设的最佳效果。让学生熟悉它, 掌握它, 学会用C#语言进行编程项目。

参考文献

[1]陈广, 林沣, 叶晓兵.C#程序设计基础[M].北京大学出版社.

[2]张光辉.《C#程序设计》课程简介页面[EB/OL].http://www.sc-itcwebclass.com四川信息职业技术学院网站, 2009-10.

C#开发数据应用程序的调试技巧 篇8

1 设置断点

通过设置断点后进入调试模式, 可在监视 (watch) 窗口查看计算变量和表达式的值。其实也可以通过设置断点跟踪执行, 跟踪会收集程序中发生情况的相关信息并显示这些断点之前相应值信息, 如图1所示。

只要将光标定位在相应的位置就会得其相应的数值, 通过理解和分析帮助我们进行调试。

2 巧用消息框

开发c#+WinForms窗体应用程序可以在运行时通过消息框向窗体输出信息, 消息框常常用来向用户显示消息, 并提供选择按钮向用户请求信息。我们也可以在不设置断点的情况下用消息框来显示一些不太直观看到的中间变量或信息, 如下面代码段为例:

上例中是给一个数组循环赋值, 如果要查看数组的赋值结果, 我们可以加上一行消息框输出查看数组元素的值。当然可以在需要输出中间结果时加载一条消息框输出语句, 显示所需要的中间信息。

3 SQL语句的处理

在C#开发数据库应用程序的设计中, 经常要进行对数据库的增、删、查、改操作, 因此要根据所进行的操作构造相应的SQL语句访问数据库得到相应的结果。不仅如此, 在C#构造SQL语句中, 经常需要将页面输入的信息传入数据库与之进行交互, C#的String类提供了一个强大的Format () 方法来格式化字符串。其语法是:string myString=string.Format (“格式字符串”, 参数列表) ;

一般是将页面输入的信息作为参数先传入SQL语句中, 再通过SQL语句与数据库中信息进行增、删查、改的操作, 所以SQL语句的构造十分重要。而且一般SQL语句的错误不在C#错误列表中明显地显现出来, 给查错带来困难, 所以建议应在SQl环境中或C#中建立SQL语句的验证机制, 即先在SQL或C#查询视图中先执行SQL语句, 得到相应的结果后, 再将其COPY到C#, 将相应参数加入到SQL字符串中, 尤其要注意传入参数格式的正确性, 这样可大大减少SQL语句构造产生的错误, 保证程序功能的正常实现。

4 深入理解.NET Framework数据提供程序

在C#开发数据应用程序中, 主要通过.NET Framework数据提供程序与数据库进行连接和增、删、查、改的操作。其中除了连接对象之外, 最为重要的就是Command对象几个方法。

ExcuteScalar () 方法, 只返回查询结果中第一行第一列的值, 所以当我们查询结果只有一个值时, 通常使用这个方法, 比如使用聚合函数时, 并且在程序中要进行相应的类型转换。

ExcuteReader () 方法的返回值就一个DataReader对象, 可以调用DataReader对象的Read () 方法来读取一行记录, 并且用 (type) dataReader[“记录列名”]来获取某列的值。

以上两个方法仅针对数据库进行了查询操作。

ExcuteNonQuery () 方法用于执行指定的SQL语句, 如UPDATE、INSERT、DELETE, 它返回的是受SQL语句影响的行数, 实际上对数据库进行了增删改操作, 它的返回值是一个整型的变量, 可以对变量的值的变化来确定修改是否成功。

以上3种方法都是直接对数据库执行命令, 另一种方式是利用Data Set间接操作数据库的数据, 通过DataAdapter对象的Fill () 方法把需要的数据一次放在DataSet中, 如果不需要对数据进行修改, 只需要Fill () 方法就可以了, 如果对数据进行了修改, 就需要使用DataAdapter对象的Update () 方法将修改的数据返回到数据库。

深入理解和掌握这几个方法的实质有助于我们实现逻辑操作, 构造相应的功能。

C#程序语言 篇9

关键词:面向对象程序设计,逆向循环教学法,ISAS教学法,实践教学

《C#面向对象程序设计》是高职软件专业的专业核心课程, 是培养基于.NET技术程序员的主干课程。这门课程的主要任务是使学生掌握C#语言基本语法知识, 了解.NET平台基本结构, 同时学习面向对象编程的基础理论知识。除了详细的基础理论讲解, 还通过丰富的案例开发实践, 使学生初步具备综合应用面向对象理论知识从事应用软件开发的能力, 并具备一定的项目开发的专业技能和基本素质。该课程是一个理论和实践性都很强的综合应用课程, 是学习.NET平台技术其它课程的基础。

1 课程的主要内容

课程的主要内容包括.NET体系结构、C#基础语法、面向对象基础 (主要讲解面向对象基本特征及其实现技术) 、面向对象高级技术 (主要包括委托、事件、接口、多线程等) 、IO技术、异常处理技术、数据库访问技术、网络编程基础等。

2 课程教学中存在的问题

2.1 课程涉及知识面广而深, 课时不足

对于高职层面的学生, 该课程除.NET体系结构、C#基础语法外, 课程内容都具有一定难度。尤其面向对象理论知识从思维方式上颠覆了以往结构化程序设计的基础, 因此在教学过程中存在较普遍的厌学现象, 很多学生缺乏学习兴趣, 学习效果不太理想。另外, 该课程采用的是周4课时设置, 一周4个课时, 一学期76课时的时间, 从教学内容的广度和深度来看都显得太少。

2.2 学生在学习中知识遗忘率高

在教学过程中发现学生对所学知识记忆不清, 对有些东西似曾相识但就是想不起来。C#理论知识点很多, 同时, 要能熟练运用还要记忆很多“类”, 搞清楚理论已经不容易, 要记清楚那么多“类”更是困难。

2.3 实践教学方法需要创新

该课程是一门实践性很强的课程, 即使是理论性很强的面向对象基础部分都需要大量的实践做支撑。因此, 实践教学在该课程中的地位非常突出, 目前主要采用1:1比例, 即每周两课时理论课, 两课时实践课。但是, 即使做到了理论和实践课时1:1, 实践课时量仍显不足。首先, 前面已经提到该课程总课时量已经不足, 其次, 像这样一门需要大量实践支撑理论学习的课程, 仅靠课堂进行实践远远不够。

2.4 教学内容与最新技术同步

这是一个普遍存在的问题。由于软件技术发展非常快, 编程技术更新速度也非常快。C#从出现到现在已经经历多个版本, 每个新版本都会引入很多非常好的技术。但是, 纵观现在市面上多数高职的教材, 课程内容基本是最初出现时的东西, 很多新的好的东西没有涉及。也许这里考虑的是高职的层次以及仅仅是入门的情况, 但如何把新的好的技术尽快融入到教学中, 对提高学生能力, 使学生早日成为市场急需人才非常重要。

2.5 注重知识的灌输忽略能力培养

在教学过程中, 注重理论知识的灌输, 对于学生的动手能力培养不足。虽然有50%的课时用于实践练习, 但一般都是针对上次理论课所学知识的实践。这样的实践课过于片面, 研究者仅仅只是希望通过实践课程加深学生对理论知识的理解。但是, 编程是一门综合性和工程性非常强的课程, 一个知识点需要与多个其他知识点结合才真正体现它的价值, 另外, 大部分编程知识只有真正在工程实践中进行反复应用才能理解其真实价值。

3 有效教学方法与实践

改进教学方法和教学手段是改善上述问题的主要途径, 在多年教学实践中研究者进行了许多有益尝试。

3.1 兴趣是先导

教育心理学指出兴趣是人对客观事物的选择性态度, 表现为人力求认识和获得某种事物并力求参与相应活动。兴趣是通过情绪反应来影响一个人的行为积极性, 凡是从事自己感兴趣的学习和工作, 人就会觉得心情舒畅和愉快, 效率也就高;相反, 如果从事自己不感兴趣的事, 则可能心理动力不足, 缺乏激情, 效率也就低。由此可见, 在教学中培养学生的学习兴趣的重要性。通过成立课余兴趣小组、项目工作室、组织学生参加各种竞赛、请业界专家讲座等各种方法, 调动学生主观积极性, 努力提高学生学习兴趣。

3.2 合理运用多种教学方法

(1) 逆向循环教学法。

采用逆向循环教学法作为主要教学模型。传统教学是以课堂为中心, 教师为主体, 教学方法一般是先理论后实验实习, 这种以课堂为中心的教学不利于学生主体地位的落实和学习积极性的调动, 不利于学生主体活泼地健康发展。面向对象大师Betrand Mayer从软件认知规律出发, 提出了逆向教学的思想, 这种教学法与传统的程序设计课程的教授次序完全相反。传统的次序是自下而上的:从程序的建造单元开始, 例如变量与赋值, 接着是控制语句和数据结构, 再进入模块设计与构造大程序的技术。Meyer认为, 这种途径能让学生对程序的基本元素有一个很好的实际理解。但是它并非总是能教授系统建造的概念, 而这点是一个软件工程师要想在专业上成功所必须掌握的。

逆向教学的原则是:学生先作为用户来使用一些工具或部件来建造他们自己的应用系统, 然后逐步揭开这些工具或部件的面纱看看它们是怎么做的, 并改一改, 做一些扩展。Meyer指出, 这样这并非就忽略了讲授标准的低层的概念和技能, 因为最后学生需要能掌握一个程序所需要的所有东西, 从大画面到小细节。不同的是概念的顺序, 特别是对架构技能的强调, 是在自底而上的大纲中常被忽略的。

逆向教学法要求选择一个功能和规模都足够大的软件项目, 包括了分析、设计与实现这些方面。并且, 它应该包括复用、理解、学习、修改和运行已存在的软件。这样一个新班可以接手老班的结果并加以发展、改进。

图1是传统教学方法与逆向教学法的比较。

通过对逆向教学法的深入研究, 提出了自己的逆向教学方法模型, 加入了循环概念, 形成了具有自身特色的逆向循环教学方法模型。

(2) ISAS教学法。

逆向循环教学法作为主要教学模型, 主要用于课堂教学。为弥补课堂学时不足, 同时调动学生主观能动性, 引入ISAS教学法作为辅助。ISAS是Information Search and Analysis Skills的缩写, 即信息检索与分析技能, ISAS的教学过程是“学习→实践→提高”的过程, 以任务驱动教学, 先提出课程相关的实际问题, 将学生分组, 然后以团队的形式去寻求解决方案。ISAS具体教学过程大致分六个阶段:选题→分组→搜索信息→分析信息→演讲→答辩→评分。通过ISAS教学使学生具有以下能力:搜索和获取信息的能力、分析和解决问题的能力、团队协作能力、自主学习能力、语言表达能力、沟通交际能力、文档综合能力。

选择因课堂学时不足不会讲解但又非常重要的内容, 作为任务布置给学生自主组合的学习小组, 要求学生在规定时间内完成信息检索、自学, 并组织各小组对自学收获进行宣讲, 对优胜者给予奖励。这种方法可以极大提高学生自主学习积极性, 同时对培养学生综合能力很有帮助。

(3) 项目工作室。

程序设计是实践性非常强的课程, 课堂上的实践只是为了检验学生对当堂课内容掌握情况, 希望学生能综合利用所学解决实际问题仅靠课堂这点实践远远不够。专业教师在课外开设项目工作室, 引入实际软件项目, 组织有兴趣的学生进行开发, 这样可以极大提高学生参与积极性, 同时对提高学生利用所学知识分析和解决问题的能力作用极大。另外, 项目工作室的学生作品是可以传承的, 上届学生的作品可以传给下届, 这样可以让后来者学习往届生的技术和经验, 不断加深对所学知识的理解。

3.3 多种教辅手段并用提升教学效果

教学过程中采用多种教学手段并举, 以提高学生学习兴趣。

(1) 电化教学。

利用各种计算机及辅助设备进行教学, 包括大型投影仪、计算机、麦克风以及多媒体教学软件, 教师将所有授课内容都制作成多媒体课件。通过多媒体教学软件教师可以控制学生机进行屏幕广播、文件发放和接收, 及时了解学生的学习情况与动态。

(2) 开展课外知识竞赛活动。

通过形式多样、丰富多彩的学生竞赛活动, 促进学生主动学习课程有关知识, 加深学生对知识的理解和掌握, 提高学生的学习兴趣。

(3) 引入慕课课程。

给学生介绍优秀的慕课网站, 鼓励学生自主学习。

(4) 利用公共资源平台建立课程资源。

在公共资源平台 (如世界大学城) 上建立课程资源网站, 为学生学习提供丰富资源。

4 结语

21世纪需要高素质人才, 这对高职教育提出更高要求。因此, 要转变“以教师为中心、以课堂为中心、以书嘣为中心”的落伍观念, 树立“以教育为主线, 以学生为主体, 以实践为手段、以信息化为依靠”新型教学观, 充分调动每一位学生的主观能动性, 激发学生潜能, 为社会培养德才兼备的人才。

参考文献

[1]张良, 周长胜.实验教学在计算机基础教学中的改革与实践[J].高教论坛, 2008 (3) :88-89.

[2]王世安.基于工作过程的高职项目课程考核方法研究[J].职业教育研究, 2011 (4) :161-162.

C#程序设计的教学探讨与分析 篇10

1 C#程序设计教学现状

C#程序设计是我校计算机信息管理、计算机应用、计算机网络、计算机软件、物联网等专业开设的一门重要的专业基础课程,开课时间安排在一年级第二学期,课时少(64课时),任务重。作为高职院校计算机专业的学生们,他们刚开始并不知道为什么要学习《C#程序设计》这门课,不知道C#能做什么,甚至有些学生把该课程当成Office或Photoshop软件那样去学,照葫芦画瓢。《C#程序设计》课程的一些理论知识、语法基础吸引不了他们的兴趣,实践课上他们基本都是照搬照抄老师的代码,学习能力不强,主动性不够积极,动力也不足,如何能让学生明白学习C#的目的,让学生自主的学习,积极的学习,是C#程序设计教学改革的关键[1]。

2 制定课程标准、完善教学内容

根据高职教学“以需定岗、以岗定能”[2]的特点,我们要培养“高知识”、“高技能”型人才,而做到这些就需要我们提高教学质量,准确把握该课程的课程性质,制定课程标准,完善教学内容,掌握教学任务,清楚教学目标,讲解教学重点,把握教学难点,介绍应用领域等对提高教学质量都有非常重要的作用。而完善教学内容是重中之重,把握好课程标准中制定的内容和项目,及时更新教学内容,保证教学内容与实际需要相适应,能让学生明白学习这门课程的重要性,能更好的让学生学到更多更实际的知识,可以更好的培养学生的动手能力,才能更方便快捷的提高他们的实践操作能力。《C#程序设计》作为计算机相关专业一门重要的专业基础课程,它是以后学习面向对象程序设计和Web动态网站设计的基础。通过对C#程序设计的学习,学生分析问题的能力,解决问题的能力,实践动手能力,都能得到很大提高,并且为用人单位提供了需要的人才!

3 改革教学方法、创新教学手段

3.1 新生目标不明确、入门难,导致学习兴趣不高

刚入学的新生,对计算机基础掌握的还不是太牢,对编程更是没有概念,加上我校有部分专业是中招对口招生班级,没有经过高中的学习,基础比较差,几乎没有高中数学的基础,更没有编程的概念。这些学生大多也是学习不积极不主动,在大一上学期,他们开设《C语言程序设计》,该课程要求他们通过C语言省二级考试,学期初学生总把C#认为是C语言,没有弄清楚C语言和C#的巨大差别,加上有的学生C语言学得很吃力,成绩不理想,甚至他们一提到编程就恐惧,根本没有从C语言考级失败的阴影中走出,不敢或不想动手编写程序,导致入门难。怎么让学生快速入门,让他们对C#感兴趣,是改革的第一步。

为了让学生能快速入门,灵活掌握C#语法,能编写简单的控制台小程序和Windows窗体应用程序,教学中我们使用多媒体教学,采用项目驱动式教学方法,在课前提出项目任务需求,让学生自己先预习课本相关知识点,上网查询相关的知识,课上带学生一起分析任务,并引入新知识点,加以讲解分析,实践课上演示和督促学生完成任务,最后做项目总结,提高学生的兴趣,加强学生实际动手能力。选择典型、针对性强、贴近生活的项目案例,把相关的知识点融合到项目中,引导学生自己动手编程,帮学生克服动手编程的恐惧心理,做到举一反三,为以后编程类课程打下基础。

3.2 精心制作课件、精选案例分解、编写关键代码

对C#课程来说,必须多给学生动手编写代码的时间,相应的课堂讲授的时间就要缩短,更要求教师必须精心制作课件,合理的设计教学情境,而不是死板的播放幻灯片,可以通过幻灯片来演示知识点,但必须把知识点贯穿在实际案例中,让学生更加深刻的理解所学的知识点。课堂上,如果把大段的程序代码发给学生,再给学生讲解程序功能,这样只会将学生带入思维定势,导致学生在实践课上一味的等待老师的代码,从而缺乏思考。教师可以把程序对应到现实生活的实例中,然后讲解编程思路,启发学生发散思维的能力,引导学生随着教师的思路一同完成程序的编写,并把程序中关键的部分让学生独立完成。

3.3 利用各种教学广播软件,实现分屏教学

由于该课程64课时都在电子教室完成,在教师讲解知识点和编写代码的过程中,可以利用Lan Star教学广播系统或E-Learing电子教室软件,通过广播式教学,让学生的注意力全部集中在课堂上,能很好的提高教学效果。教师可以通过教学广播软件把提前准备好的问题分发到每位学生的电脑桌面,让学生按要求自己动手做案例,起到举一反三的效果,同时作业做好的学生可以通过教学广播软件进行电子举手,教师可以根据做好的学生比率控制上课的进度,了解学生对该案例及知识点的掌握程度,教师可以从举手的学生中抽取学生的作品,展示给其他同学看,分享多位学生的作品,分析其中的方法和编程思路,比较各种方法的优劣,启发学生一题多解的思维模式,教师应每次抽取不同的学生作品来评讲,尽量给每位学生平等的机会,让每位学生都有机会展现自我,展示自己的作品,找到每个作品的优点,加以表扬,从而提高他们学习的积极性和主动性。有问题的学生也可以通过该软件电子举手或发送信息至教师机询问,教师可以及时辅导,更好的提高学生的综合素质。

3.4 实行分组教学,加强团队合作意识

在第一次课上,教师可以根据座次或学号给学生分成几组,每组人数在4到6人为宜,各小组选一位小组负责人,该小组负责人主要负责督促组内成员按时、按质、按量完成作业,并在规定的时间内上交作业,辅助教师帮助组内其他成员解决编程过程中遇见的各种问题,这样可以帮助老师解决多位学生同时提问而不能及时解答的问题。若碰到小组负责人也不懂的问题,可以向教师询问,并且让学生在课上就以小组的形式学习,能更好的适应以后的项目开发工作,能加强团队合作意识,提高团队合作能力。

3.5 利用网络媒介,实现师生课后互动交流

由于课时有限,课上学生编程的速度不一致,仅利用课堂上64课时的时间想学好C#是不可能的,所以更要充分利用课后时间,教师可以布置一些相关课后习题,也可以建立QQ群、博客等,通过这些网络工具,为学生提供远程在线指导,随时解决学生学习过程中遇到的所有疑难问题,教师甚至可以通过远程协助[3]功能,远程登录学生的电脑,为学生解决编程中的各项问题,让学生学习不再局限于有限的课堂教学。

4 实践和考核评价方法

4.1 通过实训,提高实践能力

所谓实训,就是该班级在一周时间内,停止所有课程的学习,只进行该课程的项目训练,按前面上课的名单分组,要求每个小组独立完成一个项目,每个小组的项目不能相同,组内成员的任务由小组负责人细分,每个人单独完成项目中的一个小模块。这样可以锻炼学生独立动手的能力,每个学生的任务都不一样,学生就不会把希望寄托在其他同学身上,而是自己开动脑筋思考,完成相关任务。这样不仅培养了学生独立开发的精神,加强了团队合作意识,还提高了学生的主动性,从而提高了学生的实战技能。

4.2 注重过程,完善考核评价方法

考核是评价学生的一个重要方面,其目的是对学生掌握的知识点与操作技能进行评价,从而对教学效果进行评估。对于《C#程序设计》这门课程,根据企业需要,学校应该培养动手能力强的程序开发和设计人员,所以不能用传统单一的笔试进行考核。在该课程的考核中,应注重程序设计能力考核和平时的过程考核,在这样的考核目标下,要求学生平时多动脑动手,通过项目实践,才有可能取得好成绩。因此,把考试分为平时的过程考核和期末的上机考核,从而制定考核评价[4]方法,即:总成绩=平时过程考核成绩(30%)+期末上机考核成绩(70%)。这种考核形式能较真实反映学生程序设计能力。

平时过程考核:通过对平时学生课堂表现,出勤情况,迟到早退情况,每次小情境项目完成情况,课堂程序讨论情况,课堂作业上交情况,课后作业完成情况等相结合给出平时成绩。期末上机考核:要求学生对知识点有深刻的理解和掌握,完成客观选择题,然后完成上机操作编程题,考核的是学生分析问题、解决问题的能力,提出算法、编写程序的能力。实践证明,对C#的考试形式和内容的改革,有助于培养学生的能力,在教学中强化学生实践能力,突出软件开发能力的培养,从而提高了学生的学习兴趣,提高了教学效果。

5 总结

总之,对我校《C#程序设计》的教学思路可以概括为:教学内容具体化、教学手段创新化、采取任务驱动式项目教学法,以学生为主体,以就业为导向,强化实践教学,提高学生动手能力。在《C#程序设计》课程的教学中,根据岗位需求,确定教学内容,改革旧的教学模式,不断探索切合实际的教学方法和手段,提高学生综合素质,更好的为软件开发行业服务。

摘要:该文根据我校高职高专学生的特点和实际情况,结合《C#程序设计》课程的教学现状,从教学内容、教学手段、教学方法、教学实践和考核评价等方面,探究《C#程序设计》的教学规律,摸索出一套适合高职高专的教学模式。

上一篇:百货公司的数字化体验下一篇:宫廷建筑