浅谈如何提高学生的程序设计能力

  计算机课程是实践性很强的课程,针对这一 特点,对计算机课程增加“课程设计”综合实践 环节,采用“理论+实验+设计”的教学模式,改 变了传统“重理论,轻实践”的状况,使课程实 践环节比以前得到大大的加强,有利于学生对知 识的理解和程序设计能力的培养,尤其是“课程 设计”这个实践环节,能激发学生的学习兴趣、 拓宽学生的思路,有利于培养学生分析问题、解 决问题的综合能力。

  “课程设计”安排在课程结束 后立即进行,由任课教师完成。这种课程教学模 式,不但要求教师注重理论知识的传授,更应重 视理论的实践应用,使学生的实践教学不再是一 句空话,学生的程序设计能力训练得到有效的保 证。

  一、分层次培养学生的程序设计能力

  程序设计能力培养是由多门课程即“课程群” 和很多教师共同完成。培养学生程序设计能力, 可分四个层次[1]:基本程序设计能力、模块化程 序设计能力、数据库应用系统开发能力以及多层 分布式系统开发能力。这个四个层次有一定的逻 辑先后关系、相互联系和相互促进。在教学过程 中,狠抓学生这四个层次程序设计能力的训练培 养。

  二、基本程序设计能力的培养

  基本程序设计能力是程序设计能力进一步提 高的基础,也是后续许多计算机专业课程学习的 基础,由大学一年级第一门程序设计语言课程来 完成,对于大多数学生来说,这是一个新的领域, 因此必须高度重视。学生的基本程序设计能力表 现为能比较熟练地运用一门高级程序设计语言提 供的数据类型、运算符、语句和函数和过程独立 地编写解决简单问题的程序,在一定的程序设计 集成环境下独立地上机调试程序,掌握最基本的 程序测试和调试的方法。为了有效培养学生基本 程序设计基本能力,在教学过程中 从程序设计语 言的选择,教材的选用,到任课教师的安排,都 必须进行周密的考虑。 根据多年的教学实践经验,谭浩强编写的《C 语言程序设计》作为程序设计课程的启蒙教育, 是比较好的选择;教学人员安排,要求至少具有 三年教学工作经验、工作责任感强的老师担任此 课程的教学。

  三、模块化程序设计能力的培养

  学生在学完第一门程序设计课程后,只掌握 基本程序设计能力,能编写处理一些简单的问题 程序(代码通常不超过 20 行)。对于复杂一点的 问题,还不能运行模块化技术分解一个程序的功 能进行设计程序。模块化程序设计能力培养主要 由《C 语言课程设计》完成,由《C 语言程序设计》 教师担任,更利于学生能力培养。

  在《C 语言课程 设计》中,教师重点培养学生抽象思维能力,对 程序要解决的复杂问题按功能进行分解成一个个 具有独立意义的子功能,用 C 语言函数分别实现 各个子功能,并使每个函数包含程序代码长度符 合学生容易理解的代码长度。 案例教学法是快速培养模块化程序设计能力 的有效教学方法。

  任课教师精心准备几个典型的 案例[3],并对这些案例进行详细分析、讲解,让 学生运行程序和阅读程序代码,分析程序中各函 数的功能和算法,分析各函数间的调用关系,使学生对程序的一般组成和结构有一个直观的认 识,然后让学生模仿一个类似的实例,编制一个 程序实践,使学生逐步适应和学会运用抽象思维 方式,学会模块化程序设计技术,编写出有一定 规模、具有一定实用性的程序的能力,从而掌握 模块化程序设计的基本思想。在后续课程学习中, 如《数据结构》、《操作系统》,教师要对模块化程 序设计技术做进一步加强、提高。

  四、数据库应用系统开发能力的培养

  信息管理系统应用非常广泛,信息管理系统 实际上就是数据库应用系统,因此,数据库应用 系统开发技术是计算机专业类学生必须掌握的技 术。数据库应用系统开发能力(单机环境)的培 养主要是通过《数据库原理》、可视化面向对象程 序设计(如 VB)等课程设计完成。 在实践教学中,主要采取两项措施保证这种 能力的训练。一是教师讲解数据库原理、面向对 象程序设计(如 VB、Delphi)课程时,一定要仔 细分析一个信息系统开发案例,如“图书管理系 统”,“人才信息管理系统”,“学生信息管理系统” 等等。这种生动实用的案例学习,能激发学生的 学习兴趣和动力,也很容易使学生理解掌握数据 库应用系统开发的一般规律。

  二是通过随后开设 的《数据库课程设计》、《VB 课程设计》、《Delphi 课程设计》,要求学生自己用学到的知识,严格按 照软件工程的思想,开发数据库应用系统实例。 这种反复的训练,使学生数据库应用系统开发能 力得到进一步巩固、完善。 五、多层分布式系统开发能力的培养 随着 Internet/Intranet 网络的发展与广泛 应用,应用系统的规模不断扩大,业务量的变化, 用户需求的进一步提高,多层分布式应用系统开 发模式成为系统开发的主流,掌握多层分布式系 统开发的基本过程、思想,也成为学生程序设计 能力必不可少的教学内容。这种体系结构的软件 设计,要考虑两个个方面的问题,一个是业务逻 辑层(也叫应用服务器)设计,是程序设计的一 个重点难点。

  另一个是网络环境下,软件系统部 署和运行在多台计算机上,需要相互协调地工作, 必须考虑网络通信协议的使用,客户端与服务器 之间怎样建立连接,以及怎样实现数据的交流等 因素。 这个层次通常在数据库应用系统开发能力培 养和计算机网络课程开设后进行。多层分布式系 统开发编程技术训练,可以在第三个层次培养案 例基础上进行,只需将系统的单机环境改为网络 环境,教师学生都只要把精力重点放“多层、分 布式”技术上,既节约了时间,而且效果好。

  六、加强实践环节要求和管理

  计算机课程光是“听老师讲”和“自己看书” 是绝对不够的。在努力提高课堂教学的同时,必 须大力加强实践环节的要求和管理。“理论+实验+ 设计”教学模式,表明实践环节的重要性,但还 得管理好实践环节。对于课程的实验环节主要从 以下几个方面加强落实管理。

  一是抓好常规实验。教师必须认真对待上机 实验课,要像理论课教学那样,每次都要明确指 明实验的目的、要求,对上机实验内容要精心安 排,对学生上机实验要严格监督。

  二是抓好课程设计,即综合实训。为了快速、 有效培养这方面的能力,通常由课程设计的指导 教师,分析几个代表行的案例,然后由教师布置 一些事先想好的课程设计作业,以小组为单位进 行课程设计。每一个小组要挑选一到两个专业素 质较好的学生担任正副组长,让他们对本组项目 全权负责,充分发挥优秀学生在课程设计中的积 极作用,既可以减轻指导教师的压力,又有利于 课程设计质量的保证,发挥学生的创造能力。

  课程设计落实得好,将使学生的知识运用能力和程 序设计能力得到迅速成长,教学效果也显著。 为了保证学生认真对待实践环节,防止学生 复制或不做,比较好的办法是要求每个学生提交 实践作业,并进行批阅,批阅的成绩,参与课程 结束的期末成绩评定,实践表明,这种办法效果 非常好。

  三是组织各种程序设计比赛,鼓励学生自己 积极编写程序代码,对于程序代码编写多又好多 学生,给予表扬和适当的物资奖励,提倡在大学 毕业前,编写 10 万行代码。试想一个在校大学生, 如果编写了近 10 万行的代码,程序设计能力一定 达到较高水平。 七、将科研项目与学生程序设计能力培养结 合起来教师要积极参加科研活动,通过科研项目活动不断提高科研水平、教学水平和实践水平。

  在 进行科研过程中,可以将优秀好学的学生吸收进 来,共同完成科研项目的开发。将科研与学生程 序设计设计能力培养两者结合起来,不但提高了 教师的实际项目开发能力,也培养了学生的知识 应用能力、解决实际问题能力和程序设计能力。

  八、结束语 程序设计能力是计算机专业学生的基本能 力,同时又是最重要的能力,需要花大力气培养。 试想一个软件开发团队,如果没有几个程序设计 能力强的程序设计人员作坚强后盾,无论需求分 析和设计方案做得多么好,最终可能只是空中楼 阁。因此,培养学生程序设计能力值得去研究和 探索。

  不断改革教学手段,采取有效的措施,强 化实践教学力度,提高学生的自主学习能力和程 序设计能力,培养出更多满足时代需求的合格计 算机应用人才,具有重要的现实意义和深远历史 意义。

……
关注读览天下微信, 100万篇深度好文, 等你来看……
阅读完整内容请先登录:
帐户:
密码: