程序设计课程教学中对学生能力的培养

2022-09-11

计算机科学技术专业是一个与高科技新技术密切相关的, 理论性与技术性都很强的, 理、工科高度结合的综合性专业。因此本专业的教学必须在保证学生系统的专业理论知识的同时保证学生专业实践能力的培养。

程序设计类课程是计算机学科的核心基础课程, 也是其他计算机核心课程如数据结构、操作系统、编译原理、软件工程等的先修课程。通过该类课程的学习, 使得学生能够利用计算机来解决现实问题, 编写相应的计算机程序。因此, 让学生通过程序设计的学习具有解决本专业的实际问题的能力, 是一项重要而迫切的任务。

1 确定本课程教学目标

程序设计是计算机基础教育的基础和重点, 程序设计能力是衡量学生计算机素质的重要标志之一。通过程序设计课程的学习, 其最终目标是掌握程序设计分析问题、解决问题的方法, 是培养学生使用计算机这一工具结合本专业知识解决现实中的各类问题, 并能真正具备利用计算机去实现和开发应用系统, 解决一些现实问题的能力。

2 注重教学方法

关注程序设计新技术, 适时调整教学内容, 把新技术引入到教学环节中。在教学内容的安排上注重程序设计思想和方法的理解和掌握, 弱化语言本身的具体细节, 强调程序设计课程不仅仅是为了学习某种特定的语言, 更重要的是学习设计的思想, 为后续课程的学习奠定基础。

在教学过程中可以采用精讲多练的教学模式, 使学生抓住重点, 集中理解解题思路, 算法设计和编程思想, 认识到编程语言只是一种表达工具。所谓的“精讲”, 并不是在教学中面面俱到, 而是通过典型实例来突出课程的要点和基础知识, 从问题入手, 引导学生自主学习, 独立分析问题, 引入新知识, 解决问题, 总结提高。教学课程中可以引入相应的应用软件中的模块, 从模块的工作过程来引导学生思考程序是如何实现相应功能的。逐渐让学生从应用软件的使用者的角色过渡到应用软件的开发者的角色。从而去主动思考程序的创建和功能的实现。

所谓“多练”, 即给学生多布置一些发挥性较强的应用习题。在课堂上要求学生积极思考, 参与到教学中来。充分运用多媒体技术和网络资源丰富教学内容, 使用生动的课件讲解, 图、文、声并茂, 直接使用各种软件实时操作进行教学, 使学生同步感受软件的运行过程, 演示程序的调试与运行过程, 使教学更具有直观性和互动性, 提高学生的学习兴趣。兴趣才是学习程序设计的最大动力, 通过教学能够培养学生对编程的兴趣, 往往要比简单的达到课程的教学目标要重要的多。网络时代教会学生如何使用网站查找本课程的相关资源, 尽可能的使学生学会利用网络资源解决学习中面临的一些困难。可以让学生在一些程序员社区中让学生与主动其他人交流, 相互学习, 汲取经验, 弥补不足, 这样要比教师直接灌输的效果好的多。学生通过网络文化的熏陶, 大大增强了网络意识, 从而具备了从网上获取知识的能力。留有一定的空间, 让学生通过自己思考、查资料、互相交流等方式解决一定的实践问题。充分考虑学生的学习差异, 对不同程度的学生可采用不同的练习方法, 设计不同难度的练习程序, 分门别类的布置给学生, 在教师指导下, 不仅有一般学生所需达到的基本要求, 也有针对学有余力和编程爱好者的创新活动。

3 强调实践性环节

对程序设计课而言, 编程能力是计算思维和技能化知识的综合体现。只记住若干语句而不会解决实际编程问题, 谈不上有什么能力。计算思维正确与否也必须经过实践的检验。从编程这一特殊的课程要求看, 要把知识运用的综合性、灵活性与探索性作为重要的内容, 强调能力须以丰富的知识作为支撑, 上机实践是既动手又动脑的过程, 是编程能力赖以生长的土壤。不上机就没有能力提高的土壤。因此, 强化实践环节是十分必要的。

上机实践的目的并不是为了解决所谓“真正”的问题, 而是通过必要的问题设置, 训练学生对相应问题的思路及解决方法, 并尽可能形成良好的编程风格。因此, 对上机实践题目的设计和选择就成为教师一项重要的工作。对于入门阶段 (比如C语言学习的前面章节) , 应选择以语法训练为主, 这个环节中, 由于学生没有编程经验, 教师相应的可选择较多的习题给学生练习, 使其具备较好的基础;而在学生有了一定的基础之后, 可以用案例设计代替普通习题, 着重进行计算机程序设计的逻辑思维训练, 在这一环节中, 教师可以大胆放手让学生自己去实践, 而只是在大的思路上做指导和提示, 不用面面俱到。通过这两个阶段的练习, 学生应当能具备相应的编程能力。

上机实习是计算机教学中十分重要的实践性教学环节。设置上机实习的目的是加强学生对本课程及相关课程知识的理解, 培养学生综合分析能力与运用基础理论知识解决问题的能力。想方设法给他们创造动手的条件, 帮他们解决动手时遇到的困难。通过随堂实验复习语法知识、编写简单程序。很多学生在刚刚开始该课程学习的时候往往一点编程经验都没有, 对于开发工具提供的功能完全没有了解, 甚至对于编程语言本身的了解也有很大的问题。因此, 在刚刚开始教学的两周, 要给学生们一个复习语法知识、熟悉编程环境的时间, 安排一些简单的题目, 但数量应比较多。

只有让学生多动手、多实践, 通过编写调试大量的程序, 自己独立解决问题, 在完成课业、解决一个个难题的同时, 他们才会有成就感, 进而对课程产生兴趣, 学起来才比较从容。

上机实践课程有其特殊性, 时间有限, 内容有限, 需要辅导的学生众多。因此, 要求教师在课前对实践课做好计划, 立足典型程序, 每一次课以一个程序为主体, 运行通过以后, 在此程序基础上进行修改, 增加或减少或修改部分语句, 而实现其他的一些功能, 避免因反复输入而浪费时间, 从而提高上机实践课的效率。

在课程结束时, 进行相应的课程设计, 编写有一定规模的程序, 既可以锻炼学生的实践编程能力, 又可以考察学生进行系统开发的整体观念。由教师提出本项目组织设计应解决的几个问题, 具体设计方案均由学生自己选择, 再由学生自己根据设计方案进行组织内容, 最后形成设计文件。利用课程设计, 使学生巩固所学知识的同时, 可以将分散学习的内容组织在一起, 形成一个完整的学习框架, 同时让学生体验系统开发的基本过程, 建立“系统开发”的整体概念, 给学生提供一个自由施展的空间, 让他们在动手能力、分析能力、综合能力等方面得到锻炼。此外, 在开发较大的应用程序时, 还能培养学生们团队协作精神。

比如在《C语言程序设计》上机实验教学中, 通过项目教学法来培养学生的实践能力。项目教学法, 是师生通过共同实施一个完整的项目工作而进行的教学活动, 是德国教育专家弗雷德·海因里希教授倡导的教学理论。

项目教学法分两个阶段进行。第一阶段在上机实验教学过程中, 精选一些有趣的习题:如“猴子分桃”、“鸡兔同笼”等25个实例来组织基本语法、函数、基本语句的学习, 掌握累加器、累乘器、质数、最大公约数、累乘求积等必须掌握的程序段的编写, 同时也提高了同学们的学习兴趣。每次实验课后, 指导教师对学生的优秀实验项目予以讲评。第二阶段具体组织方式是每位学生自由编入一个不超过五人的小组参加设计, 通过模拟开发过程, 以编写“学生成绩管理系统”、“图书管理系统”等比较贴近学生生活的一些项目为学习任务, 在真实的编程情景中让学生做自已感兴趣的项目, 真正做到学以致用。在这些项目的实施过程中巩固和提高前面的知识, 不断地用所学的知识去逐步完善这些程序, 并将编程的技能技巧渗透其中。

4 改革考核方式

课程考核围绕以能力为中心。学校传统的程序设计课程考试是以笔试为主。单一的考试形式、死板的考试内容大大限制了学生程序设计能力的提高, 培养出的学生只会“纸上谈兵”, 动手能力差。在理论及单元项目实训部分, 通过课堂教学过程考核、实训项目考核、单元测试考核、期末理论考核相结合的方式。其中课堂教学过程考核强调平时的出勤、课堂纪律、课堂表现和作业;实训项目考查学生分析问题解决问题的能力;单元测试考查学生对单元知识的掌握情况;期末的理论考核采取开卷方式, 考查学生对课程知识的综合运用能力。

整周实训注重考核学生的实际编程能力, 分析问题与解决问题的能力。因此, 主要对学生的程序开发调试能力、创新能力以及实际项目的完成情况、实训报告完成情况等进行考察。

采用多种考试形式的结合才可以从多方面、多角度让学生自己认识到本门课程的学习中存在的问题, 继而加以改进。

5 总结

程序设计是一门实践性很强的课程, 仅仅满足“老师讲清, 学生听懂”是不够的。应该以程序设计课程学习为切入点, 真正提高学生编程素质和程序设计能力, 通过该课程的学习, 不仅要让学生学习程序设计的基本概念和方法, 掌握编程的技术, 更重要的是培养学生逻辑思维和逻辑推理的能力、自学能力、较强的动手能力、分析问题和解决问题的能力、创新意识和创新能力, 以及在开发较大程序时, 还应具备的团队协作精神。

摘要:程序设计是一门实践性很强的课程, 程序设计课程的基本目标是培养学生的程序设计能力。本文以程序设计课程教学为切入点, 通过该课程的学习, 不仅要让学生学习程序设计的基本概念和方法, 掌握编程的技术, 更重要的是培养学生各种相关能力。

关键词:程序设计,能力,实践

参考文献

[1] 谭浩强.C语言程序设计[M].北京:清华大学出版社.

[2] 董荣胜.古天龙.计算机科学与技术方法论[M].北京:人民邮电出版社.

上一篇:悠悠古韵城市广场景观设计的地域特色营造下一篇:新媒体时代无线电广播发展研究