提高学生程序设计能力的主要策略的创新分析
提高学生程序设计能力的主要策略的创新分析 一、分层次培养学生的程序设计能力 程序设计能力培养是由多门课程即“课程群”和很多教 师共同完成。培养学生程序设计能力,可分四个层次[1]:基本程序设计能力、模块化程序设计能力、数据库应用系统 开发能力以及多层分布式系统开发能力。这个四个层次有一 定的逻辑先后关系、相互联系和相互促进。在教学过程中, 狠抓学生这四个层次程序设计能力的训练培养。
二、基本程序设计能力的培养 基本程序设计能力是程序设计能力进一步提高的基础, 也是后续许多计算机专业课程学习的基础,由大学一年级第 一门程序设计语言课程来完成,对于大多数学生来说,这是 一个新的领域,因此必须高度重视。学生的基本程序设计能 力表现为能比较熟练地运用一门高级程序设计语言提供的 数据类型、运算符、语句和函数和过程独立地编写解决简单 问题的程序,在一定的程序设计集成环境下独立地上机调试 程序,掌握最基本的程序测试和调试的方法。为了有效培养 学生基本程序设计基本能力,在教学过程中 从程序设计语 言的选择,教材的选用,到任课教师的安排,都必须进行周 密的考虑。
根据多年的教学实践经验,谭浩强编写的《C语言程序 设计》作为程序设计课程的启蒙教育,是比较好的选择;
教 学人员安排,要求至少具有三年教学工作经验、工作责任感强的老师担任此课程的教学。
三、模块化程序设计能力的培养 学生在学完第一门程序设计课程后,只掌握基本程序设 计能力,能编写处理一些简单的问题程序(代码通常不超过 20行)。对于复杂一点的问题,还不能运行模块化技术分解 一个程序的功能进行设计程序。模块化程序设计能力培养主 要由《C语言课程设计》完成,由《C语言程序设计》教师担 任,更利于学生能力培养。在《C语言课程设计》中,教师 重点培养学生抽象思维能力,对程序要解决的复杂问题按功 能进行分解成一个个具有独立意义的子功能,用C语言函数 分别实现各个子功能,并使每个函数包含程序代码长度符合 学生容易理解的代码长度。
案例教学法是快速培养模块化程序设计能力的有效教 学方法。任课教师精心准备几个典型的案例[3],并对这些 案例进行详细分析、讲解,让学生运行程序和阅读程序代码, 分析程序中各函数的功能和算法,分析各函数间的调用关系, 使学生对程序的一般组成和结构有一个直观的认识,然后让 学生模仿一个类似的实例,编制一个程序实践,使学生逐步 适应和学会运用抽象思维方式,学会模块化程序设计技术, 编写出有一定规模、具有一定实用性的程序的能力,从而掌 握模块化程序设计的基本思想。在后续课程学习中,如《数 据结构》、《操作系统》,教师要对模块化程序设计技术做 进一步加强、提高。四、数据库应用系统开发能力的培养 信息管理系统应用非常广泛,信息管理系统实际上就是 数据库应用系统,因此,数据库应用系统开发技术是计算机 专业类学生必须掌握的技术。数据库应用系统开发能力(单 机环境)的培养主要是通过《数据库原理》、可视化面向对 象程序设计(如VB)等课程设计完成。
五、多层分布式系统开发能力的培养 随着Internet/Intranet网络的发展与广泛应用,应用 系统的规模不断扩大,业务量的变化,用户需求的进一步提 高,多层分布式应用系统开发模式成为系统开发的主流,掌 握多层分布式系统开发的基本过程、思想,也成为学生程序 设计能力必不可少的教学内容。这种体系结构的软件设计, 要考虑两个个方面的问题,一个是业务逻辑层(也叫应用服 务器)设计,是程序设计的一个重点难点。另一个是网络环 境下,软件系统部署和运行在多台计算机上,需要相互协调 地工作,必须考虑网络通信协议的使用,客户端与服务器之 间怎样建立连接,以及怎样实现数据的交流等因素。
这个层次通常在数据库应用系统开发能力培养和计算 机网络课程开设后进行。多层分布式系统开发编程技术训练, 可以在第三个层次培养案例基础上进行,只需将系统的单机 环境改为网络环境,教师学生都只要把精力重点放“多层、 分布式”技术上,既节约了时间,而且效果好。
六、加强实践环节要求和管理计算机课程光是“听老师讲”和“自己看书”是绝对不 够的。在努力提高课堂教学的同时,必须大力加强实践环节 的要求和管理。“理论+实验+设计”教学模式,表明实践环 节的重要性,但还得管理好实践环节。对于课程的实验环节 主要从以下几个方面加强落实管理。
一是抓好常规实验。教师必须认真对待上机实验课,要 像理论课教学那样,每次都要明确指明实验的目的、要求, 对上机实验内容要精心安排,对学生上机实验要严格监督。
二是抓好课程设计,即综合实训。为了快速、有效培养 这方面的能力,通常由课程设计的指导教师,分析几个代表 行的案例,然后由教师布置一些事先想好的课程设计作业, 以小组为单位进行课程设计。每一个小组要挑选一到两个专 业素质较好的学生担任正副组长,让他们对本组项目全权负 责,充分发挥优秀学生在课程设计中的积极作用,既可以减 轻指导教师的压力,又有利于课程设计质量的保证,发挥学 生的创造能力。课程设计落实得好,将使学生的知识运用能 力和程序设计能力得到迅速成长,教学效果也显著。
为了保证学生认真对待实践环节,防止学生复制或不做, 比较好的办法是要求每个学生提交实践作业,并进行批阅, 批阅的成绩,参与课程结束的期末成绩评定,实践表明,这 种办法效果非常好。
七、将科研项目与学生程序设计能力培养结合起来 教师要积极参加科研活动,通过科研项目活动不断提高科研水平、教学水平和实践水平。在进行科研过程中,可以 将优秀好学的学生吸收进来,共同完成科研项目的开发。将 科研与学生程序设计设计能力培养两者结合起来,不但提高 了教师的实际项目开发能力,也培养了学生的知识应用能力、 解决实际问题能力和程序设计能力。
八、结束语 程序设计能力是计算机专业学生的基本能力,同时又是 最重要的能力,需要花大力气培养。试想一个软件开发团队, 如果没有几个程序设计能力强的程序设计人员作坚强后盾, 无论需求分析和设计方案做得多么好,最终可能只是空中楼 阁。因此,培养学生程序设计能力值得去研究和探索。不断 改革教学手段,采取有效的措施,强化实践教学力度,提高 学生的自主学习能力和程序设计能力,培养出更多满足时代 需求的合格计算机应用人才,具有重要的现实意义和深远历 史意义。