目前高职计算机应用专业教学计划的布置中普遍存在的新问题是程序设计类课程比例偏大,科目数量偏多,单科学时数量不足,最终导致教学效果不佳。本文对此现象及其原因进行深入分析,并且给出了切实可行的建议,对高职计算机应用专业中设置程序设计类课程,具有一定的借鉴意义。
1 目前高职计算机应用专业中程序设计类课程设置存在的新问题
目前高职计算机应用专业教学计划的布置中比较普遍的新问题是程序设计类课程比例偏大,科目数量偏多,单科学时数量不足。以某学校的教学计划为例,在全部 15门专业必修课程中共有8门课程是程序设计类课程,其中还不包括数据结构和软件工程等程序设计指导的课程,其涉及到的具体数据如下图 1摘要:
从中看到程序设计类课程在专业必修课中所占的比例高达 50%左右,学生需要把握的编程设计语言有 c,c++,vb,java,vc++和 oo(面向对象);还有一些学校教学计划布置中同样要求学生把握 c,c++,vb,java和 delphi。但是,最终的结果并不理想。
由于程序设计科目数量偏多,单科学时数量不足,所以这种教学模式只注重表层知识的灌输,而忽视学生知识的内化过程,忽略了学生的主体探究,就使课程的学习变得枯燥无味,课程学完后,学生除了学到一些呆板的语句外,其编程水平和分析、解决实际新问题的能力没有得到应有的提高。学校的培养目标和培养方式和企业的需求出现了严重的脱节,培养出来的学生在今后工作中很难适应企业的实际岗位需求。
2 原因分析及解决方案
笔者认为产生新问题的根源是教学计划布置的新问题。高职教学不是职业培训班,不是说在大学中学习的程序设计语言越多就越能胜任未来的工作。随着计算机技术的快速发展,新程序设计平台出现的时候是不是还需要我们的学生重新回到学校学习呢?答案当然是否定的,所以这种教学计划的布置模式不益提倡;另一方面是程序设计类课程讲授的新问题,目前大部分的讲法是“一言堂”,以语言语法作为讲授重点,而考核的重点(非凡是标准化考试)也多以学生背诵语言概念点和语法规则为核心,导致的结果是学生花很大的精力学习语法,即使学生在考试中获取了高分,但还是不知道怎样通过编程去解决实际新问题。
笔者提出从两个方面来解决这个新问题。首先针对教学计划布置的新问题,可以布置一门程序设计语言(推荐为 c++),加大讲课和上机的学时数,通过这门课程系统具体的学习,透彻的讲解和学生充足的上机操作练习将使学生最后对程序设计的方法、面向对象的思路和编程解决新问题的角度,甚至于编程的技巧、风格和习惯都具备很好的功底,而其他高级语言,例如 java,vb,vc++,delphi,pb,net等,可以采取指定选修课的方式。为了解决随之产生的师资力量不足的新问题,可以采取跨学院开设指定选修课的方式,当然这需要各个学校之间协商行之有效的操作办法,互相承认学分。
其次,针对程序设计类课程讲授的新问题,一方面,在授课的过程中以程序设计为主线,每章讲述大量的例题。例题不是为了解释语言概念,而是从构造算法出发,着重讲解算法逻辑,以练习学生的实际编程能力为目标。为了开阔学生思路,可以对同一个例题给出不同算法的解决方案;另一方面,在上机和实训的过程中,加大学生动手能力的培养,让学生自己发现身边的新问题,使用编程工具 自己解决;最后就是实习环节。通过和国内某知名公司人力资源管理人员交流发现,实习单位不乐意接受实习学生,对方建议学校请公司的技术总监作为学校的客座教授,以选修或讲座的形式把工作一线的经验、新技术的发展动态传授给学生,以弥补理论教学和实践应用相互脱钩目前状况以及实习的缺陷。
3 实践效果
(1)改进教学内容和方法,提高学生自主学习能力。程序设计教材基本上是以一系列语句为基础来讲解语句、语法等知识。例如,c++语言教材首先介绍了 c语言的一般概念,再介绍语句、函数、类和对象等面向对象程序设计的概念及其描述。尽管这些教材可以将一门高级语言的基本概念、语句系统等阐述得比较全面、准确,但是对学生能力的培养和探究型学习的促进起不了多大功能。因此,在程序设计课程的教学中我们补充讲解“如何进行编程”“如何提高编程能力”等内容;在课堂上增加算法设计的分析和讨论,强调算法设计的优化和程序的优化;通过典型案例教学,引导学生从生活中、社会上选择实用课题进行自主探究学习,并在学习过程中主动地运用所学知识来分析新问题、解决新问题。
(2)加强算法设计的思维方法的指导。算法是程序设计的基础,在具体讲解某一实例时应把重点放在分析方法和分析过程上,引导学生自主简洁地描述解题的数学模型和算法。实践证实,指导学生讨论,通过发散思维来扩展和提高学生的编程能力在教学中充分利用线索引导学生探索,举一反三,触类旁通;鼓励他们大胆对传统算法推陈出新,对学生的开拓精神和发散思维能力的培养效果十分明显。
(3)加强了程序设计能力的培养。程序设计贯穿计算机学科教学的全过程,程序设计能力是计算机学科学生应具备的第一能力。在教学中应加强学生程序设计能力的培养,循序渐进地引导学生建立程序设计颇具特色的符号抽象和归纳推理的思维过程。在这一过程中,充分调动学生学习的喜好及主动性,学生主动地进行思索、分析,从而提高了分析新问题,解决新问题的能力。
(4)增加课程设计环节,加强系统统筹能力的培养。在程序设计课程教学的最后布置课程设计,让学生用相对较长的时间,应用所学的程序设计知识完成一个比较复杂的课题。在这一环节中,采用先进的程序设计理论指导课题设计,使学生通过课程设计学会运用面向对象的理论来分析系统,把握面向对象的程序设计方法和算法设计方法。同时,注重程序书写风格的练习、上机调试和测试程序能力的培养,使学生的抽象思维能力、逻辑思维能力和实践能力在实践中得到进一步的提高,也增强了学生的系统统筹能力。
[参考文献
[1高林,鲍洁等.人才培养模式的改革和创新[j.计算机教育,2004,(1).
[2徐福缘.实践和探索摘要:快速 实现由专科向应用技术型本科院校的转变[j.教育发展探究,2003,(8).
[3余组光.我国高等职业教育院校发展模式探索[j.中国职业技术教育,2003,(5).
[4石爱容.语言程序设计课程教学分析[j.警官教育论坛,2006,(2).
[5贾振华.c++程序设计 [m.北京摘要:清华大学 出版社,2005.