SCI论文(www.lunwensci.com):
摘 要:C# 是目前国内大部分高校开设的面向对象程序设计类计算机基础课程。本文针对目前 C# 程序设计课程教学中普遍存在的问题进行系统地分析和探讨,并在此基础上提出以学生为主体的教学改革方案,最后从课堂教学、实验教学、课后教学及课程的考核方式等方面开展一系列的教学改革实践。实践结果表明这些措施在提高课堂教学质量,提升学生编程思维,提高学生知识运用能力等方面均取得较为理想的效果。
关键词:C# 程序设计;课堂教学;实践教学;教学改革
本文引用格式: 任建华,解瑞峰,苏丹, 等 .《C# 程序设计》课程的教学改革研究与实践 [J]. 教育现代化 ,2021,8(36):64-66.
The Reform and Practice of C# Program Design TeachingRen Jianhua, XIe Ruifeng, SU Dan, WU Xiangwen(Harbin normal University, Harbin Heilongjiang)
Abstract: C# program design is a very popular object-oriented programming course offered by most universities in China. In this paper, several common problems existing in C # program design course were systematically analyzed and discussed. After that, a student-themed teaching reform was proposed considering a series of teaching reform methods from the special aspects of classroom teaching, experimental teaching, after-class teaching and the examination form. These reform methods have been proven very effective in optimizing the quality of course teaching, improving the students’ program thinking and improving the abilities to apply relevant programming theory.
Keywords: C # program design; classroom teaching; practical teaching; educational reform
一 引言
C# 作为一种面向对象的高级编程语言,集封装性、继承性、抽象性于一体,兼有面向过程和面向对象的程序设计特点,可以实现跨平台操作,是大部分高校开设的编程类必修课程,同时也是 C++、Java 等课程的先修课程 [1-3]。然而,由于 C# 程序设计涉及的概念多,语法复杂,学生的学习难度较大,且传统的 C# 程序设计教学过于注重理论知识的讲授,内容庞杂且抽象,在实际课堂教学中效果并不理想 [4]。本文首先总结了现阶段 C# 程序设计课程存在的问题, 针对这些问题,从 C# 程序设计课程的教学实际出发, 结合 C# 的具体应用要求,提出了以学生为主体的核心思路,从课堂教学、实践教学、课后教学及考核方式等方面提出课程改革的具体思路,从而转变学生的学习态度,培养学生的编程思想,提高学生利用编程分析和解决实际问题的能力,以期为学生今后的工作及学习奠定良好的基础。
二 C# 程序设计课程教学现状
现阶段,我国高校 C# 程序设计课程和其他计算机程序设计类课程的教学现状较为相似,学生学习过程中存在的问题主要集中在课堂教学、实践教学、课后教学及课程考核方式四个方面 [5-7]。
首先,课堂教学是 C# 程序设计课程的主体,然而在教学内容的组织上,绝大多数的高校以教材各章节内容进行知识点的组织和讲解作为主要手段,目前课堂教学更多的是注重 C# 语言本身的讲解,教师填鸭式地灌输教材中的概念、语法、规则等理论知识, 对于语言本身的编程思想和设计思路的渗透却严重缺乏,同时也弱化结合实际情况引入具体实例,并缺少对知识点进行分解和细化,导致学生对知识点只能形成机械的记忆和背诵,缺少独立思考的习惯及结合所学专业理论和知识背景处理实际问题的能力,这与C# 程序课程培养学生独立思考、设计、编程和应用能力的初衷背道而驰 [8]。长此以往,学生很难对枯燥的语法和理论知识产生兴趣,在学习过程中遇到的困难逐渐积累,使学生极易产生畏难情绪,且这些畏难情绪记忆中学生之间传播,同时学生的这种消极情绪也会受到高年级同学的影响并方法,最终导致对课程丧失学习兴趣,甚至产生反感和排斥心理。
其次,C# 语言作为一门编程语言,实践应用能力的培养是重要的教学环节,然而长期以来,大部分高校对学生实践操作能力的重视程度不够,同时,实践环节给出的题目往往与理论衔接不够,题目的设计也过于简单,学生只需要输入教材上给出的程序案例,本质上只是对代码的复制粘贴,侧重点也仅是对已有语法知识的验证和巩固,题目很少考虑学生的专业背景和应用领域,也很少与相关数据的处理相联系,使得学生缺乏对程序本身逻辑性和应用性的独立思考,这不仅很难培养学生结合语法等理论知识设计程序并解决实际问题的能力,更不利于学生对课堂知识的掌握和巩固,也很难促进学生创新思维的启发。同时,C# 程序设计实践教学往往针对大班教学,给出的也都是“一刀切”式的题目,这种重“全体”轻“个体”的实践教学模式并没有考虑学生个体之间对知识点的掌握和编程思想上存在的较大差异 [9]。
此外,传统的课程教学模式往往忽略课后的交流媒介和学习平台,学生对课堂上产生的疑问很难得到教师及时地讲解和指导,学生之间缺乏交流, 也欠缺对各种基于 C# 程序开发的优秀案例及相关领域最新进展的了解渠道,这就导致学生很难利用课余时间对编程技能进行巩固和应用,也难以将书本的理论知识与实践密切结合,导致学生的学习热情和学习兴趣进一步降低 [10]。
最后,大多院校 C# 程序设计课程的考核机制也存在较大缺陷,现有的 C# 程序设计考核方式主要集中在期末的笔试考核,缺乏有效的上机考核机制, 这会形成一种教师为了考试而有所侧重地教,学生为了应付考试而选择性地学,教师紧扣大纲重点讲解,学生也只关心考试的内容和重点,毫无乐趣, 考试过后的知识点也很难记住,导致学生很难将 C# 内化为一门实用性很强的编程语言技能,而错误地将其作为一门理论课程来对待。
三 课程教学的改革方案及对策
(一) 课堂教学
浓厚的兴趣是学好计算机编程语言的重要保障, 在课程的教学初期尤其是第一节课,应该充分地激发学生对课程的兴趣 [8],可以通过演示控制台程序及Windows 窗体程序演示能够贯穿课程主要知识点,且与学生专业的具体应用密切相关的编程实例,从而让学生对 C# 课程产生直观的认识。
程序实例演示完毕后可以向同学介绍该程序设计的主要思路,并将该程序作为整个学期的课后习题布置给学生,同时给出该程序在各个章节的相关知识要点,让学生带着问题学习整个课程,每完成一个章节学习的同时也能够加强对该题目的理解,课程结束也就能够熟练掌握相关的语法知识和设计思路,并且编程实现,将该题目作为成绩考核的一部分,既能够激发学生的学习兴趣和学习动力,也能够起到理论联系实际的作用。
在课程的教学过程中,要精心组织教学内容, 循序渐进地利用编程实例的讲解深化学生对基础知识及基本语法的理解和掌握,可以根据教材的结构将 C# 课程全部内容的讲解分为三个阶段,每个阶段结合不同的编程平台的实例演示对讲授的理论知识进行巩固:
阶段 1,利用控制台程序讲解 C# 语言的基础知识和语法习惯,包括基本数据类型、结构化设计语句、数组、方法以及面向对象的基本知识, 着重培养学生计算机语言的思维能力以及对程序算法的分析和设计能力;
阶段 2, 利用 Windows 应用程序可视化地讲解窗体程序的设计开发流程及窗体控件的具体使用方法,着重培养学生对控件的使用和对事件的理解,增强学生对数据库理解和应用编程能力的提高;
阶段 3,结合 Web 程序与学生专业的具体应用实例,讲解 C# 语言在学生所学专业中的具体应用,激发学生进一步学习的兴趣,同时也为学生在今后的编程类高阶课程的学习奠定基础。
(二) 实践教学
C# 程序设计是一门应用性很强的学科,课程的实践与理论相辅相成、互为补充,这表明实践教学环节具有非常重要的地位,合理的编程实践是加深学生对理论理解和语法知识运用的最直接和最有效的手段。实践课程应注重学生的自主思考,积极培养学生自主学习的能力,而不是对书本程序的照搬验证。在实践课的开展过程中,应该把学生的理解和认知作为出发点,实现理论教学与编程实践有机结合,让学生在实际编程过程中建立对程序语言的感性认识、更好地理解理论知识,提高学生的学习兴趣,强化学生分析和解决问题的能力 [11-12]。
首先,可以采用翻转课堂的教学形式对相关章节开展实践课程,在课前提出问题和目的,让学生带着问题设计和编写程序,并结合 4-5 人的讨论小组形式开展丰富的交流和讨论,充分发挥主观能动性和课堂主体地位,进而提高学生的学习兴趣和独立思考的能力 [13-14]。教师在实践中仅扮演导师和助教的角色,在学生遇到困难时给出指导性的提示, 引导学生通过讨论和编程实践主动运用所学知识、选择合理的方法解决实际问题。
其次,合理采用案例教学法组织实践课程,结合相关章节的理论内容准备典型案例,尤其是与所学专业实际应用中紧密相关的项目作为案例,且选取的案例应该覆盖各章节的重点和难点内容,以案例为主线进行理论的讲授并指导学生上机实践,通过案例的分析加深学生对知识点和程序语法的理解,使学生能够重塑整个案例的编程思想和设计思路,并独立重复完成整个项目 [15-16]。
教师还可以通过给出错误案例的形式,让学生自行查找程序中的错误,增强学生分析代码的能力和对语法程序的运用能力,在学生对错误案例分析和实践的过程中,教师可以对可能出现错误的内容进行启发和提示,增加学生的成功率,进而提高学生的学习兴趣。案例教学法,可以整合和贯通不同章节的理论知识和语法内容,提高学生对理论知识的吸收、消化及应用的能力。由于学生个体能力的差异,对知识点的理解和运用程度也有较大的差别, 这就要求教师在案例和题目的布置中不能采用“一刀切”的形式,应该注意因材施教,通过设置不同难度级别的题目和附加题目,让学有余力和提早完成正常上机实验内容的学生能够进行更多的练习 [17]。
最后,还应聘请企业中具有丰富编程经验的程序员“走进来”,通过课堂进行讲座的形式,结合自身的编程经验,为学生讲解编程语言程序设计的具体任务和核心思路,让学生能够将理论知识的理解与实验技能的提高紧密衔接,实现理论教学环节与实践教学环节的统一。同时,鼓励学生“走出去”,参加各种类型的程序设计竞赛和项目,在假期联系软件公司进行实习或实训等校外实践活动,进而提升学生的自主创新能力、体验C# 项目的开发流程、培养学生的团队协作能力。
(三) 课后教学
课堂教学和实践教学往往难以覆盖书本的全部内容,教师可以通过创建完备的网络学习平台,上传并及时更新与学生专业相关的典型案例、文本及图形素材、学习视频资料,从而提高学生的学习质量和课后学习效率,这种网络教学平台可以突破时间和空间的限制,让学生自主安排学习进度,实现对课堂学习的进行进一步延续。同时,还可以充分利用学生的移动终端,创建公众号并及时发布与课程相关的信息, 例如课前的预习重点、课后的复习要点、实验上机题目、课后创新习题以及 C# 相关的前沿动态,同时, 学生还可以通过微信交流平台交流和分享自己的编程经验,使学生在交流中相互启发,教师也能对学生因材施教、及时辅导,从而极大地提高学生的学习兴趣。
(四) 考核机制
作为一门实践性极强的计算机编程课程,课程主要的目的是培养学生的程序设计能力,因此考核方式不能只拘泥于传统的期末闭卷考试,而是应该全面综合学生的学习兴趣、参与程度、学习过程、学习效果、课后掌握程度及实践编程能力等多方面因素,从多个角度对学生的学习情况进行考核和成绩的评定, 通过探索和实践,我们建立了一套更为完善的 C# 程序设计课程考核体系,实现从理论知识和实践能力两个层面对学生进行综合评价,具体包括如下几方面。
1.理论平时成绩,包括考勤、课堂表现、问答
2.分组题目达成情况,随堂上机考试等。
3.课后开放题目的完成情况,课后编程作业的完成情况。
4.期末闭卷考试。
四 结束语
C# 是国内高校最基本的计算机程序设计语言课程之一,本文分析了C# 程序设计课程的教学现状及当前教学过程中的不足之处,提出了以学生为主体的教学改革方案,在课堂教学、实践教学、课后教学及考核方式等方面优化教学内容,拓展教学模式,灵活运用多种教学方法增加学生的学习兴趣,同时强调引入网络学习平台及微信公众号等多媒体手段使学生突破传统教学在时间和空间上的限制,教学实践结果表明改革方案效果良好,学生在分析问题、解决问题、培养编程思想及解决实际问题的能力等方面均得到了显著的提高。
参考文献
[1]姜桂莲 .《C# 程序设计》课程教学方法探讨 [J]. 系统工程 , 2017(1): 163-164.
[2]谭恒松 . 新形势下《C# 程序设计》课程教材的建设与应用 [J]. 福建电脑 , 2017(8): 180.
[3]鲁晓东 . Visual C++ 与 Matlab 的界面混合编程 [J]. 实验室研究与探索 , 2011(7): 76-78.
[4]林刚 , 傅晓阳 , 文全刚 , 等 . 应用型本科院校 C# 课程教学实践问题与对策 [J]. 教育教学论坛 , 2017(3): 218-219.
[5]姚衡 . 计算机 C 语言编程过程中的常见问题 [J]. 电子技术与软件工程 , 2018(1): 246.
[6]何国斌 , 吴春明 . C++ 面向对象程序设计教学改革与实践 [J]. 西南师范大学学报 , 2016, 41(11): 189-193.
[7]黎华 , 张晓盼 , 龚珍 . GIS 专业的 Java 程序设计教学改革初探[J]. 测绘通报 , 2017(4): 145-148.
[8]吴小玲 . C# 程序设计课程教学改革探讨 [J]. 福建电脑 , 2017(11): 182-183.
[9]赵玉双 . 面向能力培养的 C 语言程序设计教学思路及教学方法研究 [J]. 教育现代化 , 2017(42): 326-328.
[10]陶荣 , 王素芳 .《C# 程序设计》课程教改研究与实践 [J]. 现代计算机 , 2012(36): 39-41.
[11]文欣秀 , 顾春华 , 王家辉 , 等 . 改革程序设计课程探索计算思维能力培养 [J]. 实验室研究与探索 , 2017(8): 207-210, 229.
[12]刘在英 , 杨平 , 张丽晓 . 程序设计课程实践教学模式的探讨[J]. 实验室研究与探索 , 2013(10): 156-159.
[13]刘峰 , 刘洞波 . 基于翻转课堂的 C++ 课程教学模式探究 [J]. 黑龙江教育 , 2017(6): 13-14.
[14]杨立君 . 翻转课堂在计算机基础课程的实践研究 [J]. 信息与电脑 , 2016(19): 230-231.
[15]刘珂 . 项目教学法在计算机教学中的应用 [J]. 教育现代化 , 2017(44): 201-202.
[16]王亮 .《C# 程序设计》项目教学案例研究 [J]. 福建电脑 , 2018(1): 87, 115.环节、课堂讨论等。
[17]郑步芹 , 石鲁生 “.项目案例驱动”在《C# 面向对象程序设计》课程改革中的应用研究 [J]. 电脑知识与技术 , 2017(2): 164-165.
关注SCI论文创作发表,寻求SCI论文修改润色、SCI论文代发表等服务支撑,请锁定SCI论文网!
“产出导向法”是文秋芳教授创建的旨在改进中... 详细>>
如何设计有效的环境治理政策, 是学术界和政策... 详细>>