C#程序设计课程教学改革研究

时间:2022-09-27 11:32:14

C#程序设计课程教学改革研究

摘要:通过对C#程序设计课程教学改革的研究与实践,阐述如何在实际教学中采取灵活多样的教学方法和教学手段,推动教学质量的全面提高。

关键词:C#程序设计;教学改革;教学方法

C#是从C和C++演变而来的一种新的面向对象的编程语言,也是目前主流语言中不多见的在Internet出现后推出的语言,它可以实现跨平台操作,避免了C语言中的指针和多继承,简单易学且功能强大。C#程序设计课程是计算机和软件技术专业的一门基础课程,是后续程序开发、数据库等专业课的前导课程,课程内容重在算法概念、结构以及程序设计的基本方法与技术。课程对理论知识及实践环节的要求都较高,该课程的教学目标是使学生掌握使用C#设计应用程序的基本技能,了解面向对象和结构化程序设计方法,能够在.Net环境下编写、调试和运行实用、规范、可读性好的C#程序。笔者结合教学实践,对教学过程中的一些问题进行探讨,与大家共勉,以求集思广益,共同提高本课程的教学效果。

1教学背景分析

1) 实践性教学环节薄弱,缺乏针对专业要求的训练。

学习C#程序设计课程的最终目的是培养学生的实际动手能力。重在技能培养,理论教学以“必需、够用”为原则,应尽量避免过深过繁的理论探讨。但是现在仍然有很多教师在实际教学中重理论、轻实践,花费大量精力讲解基本概念、基本语法规定、基本命令使用等理论,而对实验课则没有过多要求,一般只布置一些在理论课堂上讲解过的类似习题让学生去验证,没有或很少针对学生实际专业技能的实训。学生实际动手能力不强,技能培养目标难以实现。

2) 学生学习动力不足。

学好一两门计算机语言是学好编程的基础,是从事软件开发及其他一系列工作的必要前提条件。但大多数学生不明白学习程序设计的作用,觉得这些知识枯燥无用,缺乏兴趣和动力。学习仅仅是为了通过期末考试,严重背离了学习的最终目标。

3) 由于学生水平不同导致老师无法做到统筹兼顾。

该门课程的学习对象一般是大一新生,由于地区差异,基础教育程度不同,他们的计算机水平也有所不同。这就给老师提出了一个难题:如何把握讲解的程度?怎样才能做到统筹兼顾?如何让所有学生都产生学习的信心和兴趣?

4) 考核方式单一。

以往的C#语言程序设计主要以笔试考核为主、操作考核为辅,甚至完全没有操作考核。这也往往导致学生没有形成“掌握技能而非紧扣分数”的正确观念。后果就是学生拿到了学分,却没能掌握基本的技能。在后续专业课中,需要重新再进行技能学习。

2改革思路与实施方案

2.1明确目标

在高等教育的新形势下,作为一般的普通高等院校,必须找准自己的位置、合理定位,制定适合自身条件的发展战略规划,培养具有一定理论知识、娴熟动手操作能力和创新意识的技能型应用人才。具体到一门课程,教师首先要理清思路,搞清楚该课程同其他相关课程之间的关系,把握知识间的衔接和融合,如C#程序设计同后续的Windows应用程序开发、、Web Service、SQL Server等课程有密切的联系,教师首先要明白C#程序设计中哪些需要精讲,哪些略讲,重点、难点在哪,通过什么案例可以把相关知识点很好地串接起来,给学生系统的认识。另外,老师在授课的过程中应采取适当的方法和手段让学生对学习的目的有清晰明确的认识,以便达到最佳效果。

2.2教学方法改革[1-2]

教学方法要根据学生的特点、接受程度以及授课内容的特征灵活地进行选择。我们大胆进行教学改革,摒弃了传统教学中以教师为主体,学生被动接受的“满堂灌”教学方式,取而代之以“工学结合”为切入点,灵活使用启发式教学、悬念式教学、任务驱动教学等方法,突出了“理论教学构筑学生知识结构,实践教学构筑学生职业技能结构”的教学原则。

2.2.1启发式教学法

启发式教学法可激发思维,增强学生学习的主动性、积极性和创造性。例如,讲解选择结构的执行过程时,不是直接给出选择结构实现流程,而是先回忆“顺序结构”的概念,分析一个实例如何一步步执行完毕。暂且以输入一个圆的半径,计算圆的周长和面积为例,顺序结构的执行过程是:先输入半径;然后按照公式计算周长和面积;最后将周长和面积的结果打印输出。对这一过程进行分析,可发现问题:如果输入的半径为一负值,怎么办?从细节处引导学生对现实生活中可能出现的各种因素进行分析和思考,引出选择结构的概念,从而获得正确的结论。

2.2.2任务驱动教学法

对每个知识点的讲解采用“任务驱动”的方法,通过“提出问题分析问题解决问题边学边做总结”的过程,体现出互动创新、提倡个性、重在应用、共同协作的教学风格。

在教学过程中要根据课程内容创设情境教学环境,采用符合学生认知水平的教学方法,激发学生的求知欲。例如针对“学生如何建立面向对象程序设计思想”的课程难点,全面采用“项目导向”的教学模式,以完成项目任务为目标,整个教学围绕任务的解决展开,突出知识的应用性,引导学生自主思考创新,培养学生研究性、探究性学习的能力。

考虑到学生的认知水平,我们采用任务驱动法展开对每一堂课的讲解,在每堂课开始首先引入一个典型的小案例,激发学生的求知欲,并由案例引出相应的知识点,引导学生进一步寻求解决问题的办法,从而达到学习知识的目的,培养学生对理论知识的理解与应用能力。

2.2.3重视实验教学

实验教学环节对提高学生的实际动手能力至关重要,教师如何上好实验课也非常关键。一般来说,上课之前学生已经对实验内容作了相关准备,实验课上,教师把上机要掌握的内容列在大屏幕上,尽量多花一些时间让学生上机,而教师在学生上机时起引导作用,帮助学生解决问题,同时要特别提倡学生讨论问题,让学生有足够的机会自己探索、交流。对比较集中的问题,教师再集中讲解。笔者提倡“因材施教”法,通过给学生布置不同难度的实验练习,如基本练习、强化练习、提高练习,针对每章为学生安排不同的实验内容,让学生有一种学以致用的认识,基础好的同学也得到了提升。另外在本课程基本教学内容结束后,让学生完成综合作业,让其将所学连贯起来。另外实验教学也可采用“讨论法”,在调试程序的过程中,让几个学生对不同结果进行分析讨论,但分组时要注意成员的组成,最好事先了解学生水平,避免强弱扎堆的情况。

2.3教学手段改革[3-4]

在课程的教学过程中,我们采用的现代教育技术手段主要有:

1) 精心设计教学课件,激发学生学习兴趣。

营造轻松活泼的课堂气氛,通过图片、动画、实例演示等方式使课程内容变得容易理解,教学方式更为直观生动,教学过程更为紧凑,更能吸引学生的注意力。

2) 教师课堂编程示范,锻炼学生编程能力。

由于程序设计课程的特点,如果将大段程序以课件形式提供给学生,可能会出现学生照抄课件的情况。因此在课堂上,应主要采取现场操作,教师边分析边示范如何实现程序。主要的分析步骤可以提供在课件上,学生在教师分析的同时,可以自己实现程序,通过与教师所写程序的比较,找出不足,提高程序编制能力。

3) 充分利用多媒体教学系统,进行课堂辅助教学。

广播教学:教师理论讲解及总结提高时,通过广播教学方式,可以让学生集中精力。

个别辅导:在学生课堂练习时,教师可通过多媒体教学系统发现学生遇到的问题,进行个别辅导;同时也可将学生的优秀作品进行展示,给予鼓励。

作业收发:通过系统功能可以快速收发学生作业。

4) 利用网络将课堂教学延伸到课外,注重学生课后学习过程监控。

在课堂教学的基础上,借助网络为学生提供教学课件、论坛讨论、技术前沿等拓展学习资料。学生必须在课后阅读相关辅导材料,完成网络课程中提供的对应练习,同时也可将此作为学生最终考核成绩的一部分。

2.4考核方式改革

考核是为了检验学生对知识的掌握程度,也是对教师教学效果的一种有力评价。以往的考核方式比较单一,一般采用“平时表现+作业+期末考试”的形式,对于实际动手能力的考核很少甚至几乎没有,不能很好地检验学生实际的知识技能水平。因此,需要采用一种合理的考核机制,最大程度地检验教学效果。

课程考核应紧紧围绕以能力为中心,通过课堂教学过程考核、实训项目考核、期末理论考核相结合的方式进行。其中课堂教学过程考核强调平时的出勤、课堂纪律、课堂表现、基本作业、练习作业以及提高作业。期末考核分上机和理论两部分内容,主要考查学生对课程知识的综合运用能力。实训注重考核学生的实际编程能力、分析问题与解决问题的能力。因此,应主要对学生的程序开发调试能力、创新能力以及实际项目的完成情况、实训报告完成情况等进行考察。

2.5改进建议[5]

根据职业技术教育的特点,从实际应用出发,笔者认为要提高学生的实践能力和就业竞争力,应从以下3个方面着手:

1) 提高教师自身素质。

软件学院开设的课程不同于计算机学院的传统课程,刚毕业的教师一般没有接触过很新的课程,除非自学过。特别是年轻教师若没有相关的项目开发经验,可能对整个课程的把握程度不够,以致对今后学生工作需要的实践应用知识讲解会受到限制,即不能很好地将解决问题需要的经验知识传授给学生,而只是一味地按照教材内容教授,缺少了针对性和应用性,使学生感到枯燥无用。所以建议教师在教授软件方面课程时首先要备好课,准备一些跟生活中结合比较紧密的、通俗易懂的小例子给学生讲解、演练,激发学生兴趣,让他们把学习变成是一种主动的对知识的渴求,这样教学一心就能达到理想的效果。

2) 经常与学生进行思想交流。

来校就读的目的影响着学生的学习态度,作为老师,所承担的责任不只是教授知识,更重要的还是教育学生一种学习方法,教育他们如何去做人做事。辅导员及相关教师应做好学生思想及学习观方面的工作,软硬兼施、奖惩分明。

3) 学校课程的设置要以学生为中心。

由于学生入校时基础差,刚开始接触计算机就学习程序设计课程,确实有些难为学生。短时间内学好程序设计实属不易,建议相关学校在开设课程时要以学生为中心,保证学生能够在规定的课时内完成相应知识技能的学习,少开设一些与专业技能培养无关或者关系不大的课程,多增加一些技能培养方面的课时,同时提学结合的场地,以便学有所用。

3结语

笔者从专科院校C#程序设计课程的教学目标入手,从教学方法、教学手段、考核方式、教师素质等方面提出了一些改革措施,但教学改革是一个不断进行的过程,我们不仅要在教学过程中更加严格地要求自己,通过多种形式积极开展教学内容及教学方法的研究,还需要在教学过程中进一步加大C#程序设计课程教学改革的力度,不断努力,提高教学质量,真正落实C#程序设计课程在软件技术专业技能型人才培养中的作用。

参考文献:

[1] 熊梦侬. 案例教学法在教学实践中的运用[J]. 广东教育:教研版,2008(6):102-103.

[2] 李永刚,杜选,魏远旺. 面向对象程序设计教学改革与实践[J]. 嘉兴学院学报,2008(5):136-138.

[3] 刘甫迎,刘光会,王蓉,等. C#程序设计教程[M]. 北京:电子工业出版社,2005.

[4] 陈广. C#程序设计基础教程与实训[M]. 北京:北京大学出版社,2008.

[5] 胡静静. 计算机网络教学中教师应具备的基本素质[J]. 科教文汇,2008(5):18-19.

上一篇:编译原理中的LR类分析方法的教学研究 下一篇:“计算机硬件技术基础”课程体系的改革与实践