程序设计能力培养模式探索
2021-01-20邢冬梅江苏省南京工程高等职业学校
邢冬梅 江苏省南京工程高等职业学校
引言
众所周知,计算机学科正处于飞速发展过程中,无论是核心专业基础知识还是学科知识都在不断扩大。面对这种现实状况,教师和学生都在学习方向细化上犯了难,计算机学科教学内容与学科发展需要脱节也成了相关教学领域的常态现象。在这种教学环境下,学生自然无法高效提升以程序设计能力为代表的计算机素养。对此,学校和教师应当对原有计算机人才培养模式进行反思,然后去芜存菁、与时俱进,提出精微、科学的人才培养模式,从培养出更高水平的计算机专业人才。
一、程序设计能力培养模式的问题所在
算法和结构是计算机发展不变的方向,对学生程序设计能力的培养必须围绕这两个方面展开。结合外国程序设计教学案例可以认识到,外国通常以“语言+数据结构及算法”的课程模式为主,如佛罗里达大学将java与数据结构算法进行整合教学,这种教学方法可以在很大程度上兼顾程序学习中的概念和设计。反观我国程序设计能力教学实际状况,虽然很多高校已经对专业课程实施了课程整合,但是整体效果却不甚理想,至今依然存在难以解决的问题。
1.内容细碎,难以为自学创造机会
我国高校在程序设计课程中采用的教学模式多为“语法+练习”,这种教学方式要求学生在短时间内完成大量练习,而这也会直接导致学生的实践课时被挤占,课堂积极性降低。尤其需要注意的是,该教学模式在效率方面也存在明显的短板,学生通过一个学期的学习后,可能还无法有效掌握C++或Java。还有,程序设计能力培养需要“概念+设计”,但是学生在实际学习中往往会因为语言能力的问题无法理解抽象概念,最终导致程序设计能力低下。
2.课程设计不合理,难以构建完成教学体系
众所周知,高校大学生的课程内容包括专业课程和公共必修课程,所以计算机专业的学生除了要面临专业方向的压力,还要分出很大一部分精力应对公共学科。另外,部分学校的课时分配上也不是很合理,将过多的时间分在公共必修课中,摊薄程序设计及其他专业课程的教学时间。
3.学生缺乏明确能力发展目标
树立准确、长远的目标才能得到持续进步,高校大学生受应试教育的长期影响,很容易形成“学校要我学什么,我就学什么”的想法。在这种想法的支配下,学生对程序设计的理解只是停留在应付考试,无法将其与自身的未来发展串联起来;发展目标的缺乏还体现在具体能力的培养上,多数学生在基础知识方面可以符合要求,但能够建立起宏观工程项目整体感知的学生却寥寥无几。
二、程序设计能力培养模式的改进措施
1.注重学生主体地位,强化程序设计课程建设
程序设计课程是理论与实践紧密结合的课程,在计算机专业的课程体系中,程序设计课程的地位十分突出。教师应当充分认识到程序设计教学对学生的作用,通过多样化的教学方式帮助学生提高程序设计能力,更好地适应未来学习和生活的需要。在实际教学过程中,教师首先要做的就是向学生申明这门课程的意义,让学生明白应该用怎样的态度对待程序设计课程。为了保证学生切实有效地获得程序设计能力的发展,教师和学校要联系教学目标和教学实际,逐步改革教学方法、修改课程教学大纲,树立明确的培养目标;教学策略实施过程中,教师要以学生的态度和反响为基础调整教学有关的内容,如教案、课件、实验内容等,确保学生能够在合适的环境下进行学习;为了方便学生自学,教师可以借助互联网平台,将自己收集的教学资源上传到网络上和学生共享,给予学生充足的学习资源。
结合编程技术的发展和人才培养的各项要求调整教学内容。基础教学应当涵盖C++语言基本语法和编程方法、程序设计的基本概念和方法等,系统的教学会给学生往后的计算机学习提供坚实的基础;在编码思维和技术的教学上,应当就问题内容的设计、顺序编排、分析和解决等方面入手,循序渐进的实施案例教学,让学生从简单的问题开始,一步步积累编程经验,然后在长时间实践中锤炼出系统的编程思维。
2.分层次模块化课程设计
3个层次依次递进设计计算机软件系列课程模块化方案,如图 1所示。
编程设计的各项课程相互关联,若是僵硬地进行分化学习,很容易导致学生知识体系不完整、不连续。因此,教师要从课程内容出发,将相关性比较强的课程进行合理编排,从系统的角度教授知识,以免学生记忆不牢、理解不全面。分层次模块化课程应当从这三个层次递进:
(1)程序设计基础系列模块
以《编程导论》为重点,促进学生编程基础能力形成,让学生全面掌握编程基础知识。
(2)程序设计系列模块
《C和 C++的语言编程基础》、《数据结构的算法设计》,这两门课程的有效实施可以让学生掌握程序设计知识。
(3)软件开发系列模块
软件开发系列主要用于培养学生系统开发能力。在三大模块紧密衔接下,从 C 到 C++,再从 C++标准模板库到数据结构及算法,学生的程序设计能力显著提升,实践经验的积累也促使学生逐步适应IT职业角色。模块分层如图1。
图1 模块化计算机软件系列课程设计方案
3.任务驱动式教学
在传统课堂教学模式的作用下,教师和学生缺乏活动,教学模式停留在“教师讲,学生听”的阶段。这样的教学方法显然不适合学生参与课堂、发挥主观能动性。因此,教师可以将项目驱动式教学模式引入教学中,让学生以小组为单位,独立承担小型研究项目。在学生研究的过程中,教师要尽可能减少干预,仅对学生做出必要指导即可。经过一段时间的研究后,研究小组在磨合中实现了合理分工,学生们对项目开发产生了更为全面地认识。尤其是在项目驱动教学的作用下,学生的协作能力与团队合作意识显著提高。
4.校企合作
程序设计能力的培养需要大量实践机会,若是学生只在学校里“闭门造车”,那么最终培养出的专业人才就会呈现出,基础知识强,宏观工程整体感知弱的特征。为此,学校要积极寻求和软件开发、服务企业的合作,在条件允许的情况下采用实际项目开发的形式进行实训和实习工作。比较理想的校企合作方法分为两种,一种是邀请企业内程序设计专业人才进入高校,向学生分享计算机行业的发展现状,并且解答学生对编程设计的疑问和职业规划问题。另一种则是学生直接进入企业实训,开展为期一个月的实训,实训期间学生由企业和教师共同管理。
三、结束语
综上所述,信息社会的发展给高校计算机毕业生提出了更高的要求,以程序设计能力为代表的计算机能力越来越受到企业的重视。学校应当对现有培养模式中的不合理部分做出调整,以此保证课程设计的科学性,促进学生程序设计能力的提高,帮助学生在激烈的就业竞争中获得专业优势。