计算机本科生编程能力与软件能力的培养

时间:2024-01-10 点赞:51150 浏览:104974 作者原创标记本站原创

本文是一篇实践教学论文范文,实践教学相关函授毕业论文,关于计算机本科生编程能力与软件能力的培养相关硕士毕业论文范文。适合实践教学及软件开发及课程设计方面的的大学硕士和本科毕业论文以及实践教学相关开题报告范文和职称论文写作参考文献资料下载。

摘 要:编程能力和软件能力是计算机专业本科人才必备的能力,也是他们未来职业生存和发展的基础.文章根据计算机专业本科生培养要求和社会对计算机人才的期望,对培养两种能力的理论课程体系和实践教学体系进行研究,针对编程能力和软件能力,分别构建相应的理论课程系列,并从“夯实基础、提高能力、面向应用”3个层次,构建两种能力的实践教学体系.

关 键 词:编程能力;软件能力;课程体系;实践教学体系

0引言

可持续发展教育观认为知识、能力、素质是构成现代教育三方面的内容.高等教育应该是以能力培养为中心的教育,要围绕能力的培养来实施教育教学.本科生的能力包括较强的学习能力、创新能力和专业能力.

对计算机科学与技术专业的本科生来说,能够编写规范的程序代码是最基本的专业能力,但从社会的需求来看,计算机专业人才仅具备良好的编程能力远远不够,还应该具有软件系统开发等各方面的能力.软件开发的复杂性要求从事开发的人员能站在系统的全局角度看问题,并用工程化的方法分析、解决问题,也就是我们所说的软件能力.一直以来,由于计算机科学与技术专业的性质和认识上的局限性,教学上一般比较侧重对学生编程能力的培养,而对软件能力的培养重视不够,使得不少学生存在着软件开发就是编写程序代码的错误观点,或者意识到了软件能力的重要性,却缺乏软件开发必须具有的工程观、系统观.

编程能力与软件能力之间存在着密切的关系:编程能力是计算机人才应该具备的最基本的能力之一,也是软件能力形成的基础;而软件能力是真正能满足社会需求的能力,是一种更高标准的要求,能促进编程能力的提高和完善.我们在教学中,不仅要注重学生的编程能力培养,还要有目的地培养学生的软件能力,这不仅符合计算机专业培养要求,也符合社会对计算机人才的要求.而能力培养不是一两门课程或一两个教学活动就可以实现的,需要一个“养成”过程,必须循序渐进,用明确的系列课程构成相应的训练系统,使学生在修养中形成一些良好的学科习惯,潜移默化地养成学科优秀人才所要求的能力.因此,针对计算机专业的特点,以这两种能力的培养为目标,我们在理论课程体系、实践教学体系建设等方面上做了一些研究和实践.

1理论课程体系的构建

按照能力培养的要求,课程应该是成系列的,是有利于各种专业能力逐渐形成的渐进系统.针对编程能力和软件能力,我们分别构建了两种相应的理论课程系列:编程能力培养系列课程和软件能力培养系列课程,如图1所示.编程能力培养系列课程侧重于培养学生掌握本学科要求的计算思维方法、算法设计策略和技术,能够熟练应用至少一门高级程序设计语言,具有良好的代码编写习惯,此外还要具备面向对象思维能力;而采用工程的概念、原理、技术和方法来开发与维护软件是软件能力的体现,因此是软件能力培养系列课程的侧重点.这两大课程系列形成一个渐进系统,帮助学生完成由编程能力到软件开发能力的提升.

从编程能力提升至软件能力是一个循序渐进的过程,因此这两个系列中的多门课程之间,知识上既有前导后续的关系,程度上也有迭代式加深的关系,甚至可能有些课程部分内容是重叠的,需要教师清楚该课程在整个能力培养体系中所处的地位,从而在教学内容选择上各有侧重,在教学要求上各有不同.

1.1编程能力培养系列课程


针对编程能力的培养,我们进行了以下4个系列课程建设,分别是计算思维能力培养系列课程、算法系列课程、程序设计与实现系列课程、面向对象设计理念培养系列课程.

计算思维能力包括形式化、模型化描述和抽象思维与逻辑思维能力等.此系列的课程主要由一些数学类和计算模型类的课程组成,包括高等数学、离散数学、线性代数、工程数学、计算思维与问题求解、形式语言与自动机等.对一般本科生而言,计算思维能力难以在短时间内养成,需要一个渐进过程:由单一具体的实例计算,迁移到一般的、形式化的类计算/模型计算,实现思想境界的变化.在时间上,需要适当延长数学类课程的教学周期,将连续数学、离散数学、类计算/模型计算3部分内容按阶段分开安排,从第1学期一直延续到第6学期.

算法对于计算机专业的本科生是非常重要的.算法系列课程主要帮助学生建立算法的慨念,掌握算法设计策略和技术,并具备算法分析能力,主要有数据结构与算法、Matalab与数值计算等.

程序设计与实现能力要求学生至少掌握一门高级程序设计语言的基本思想和方法,具有分析、学习和实现高级程序设计语言的能力,主要包括编译原理、高级语言程序设计、数据库系统等课程.如高级语言程序设计课程c语言,能使学生掌握基本的编程基础及模块化的程序设计理念.

如今面向对象的编程是主流,无论使用何种面向对象的语言,其精髓都是面向对象的思想,因此掌握面向对象思想比掌握语言本身更重要,如对继承、多态、重载等面向对象概念的理解,对面向对象基本原则的掌握等.面向对象设计理念培养系列课程包括面向对象技术引论、面向对象语言程序设计等.

1.2软件能力培养系列课程

学生的软件能力主要体现在对软件系统的认知、分析、开发与应用能力上,既要具有系统的眼光和观点,对系统结构、部分与整体、不同级别的抽象等有深刻认识,也要具有工程的知识,了解工程的概念、原理、技术和方法,以及这些在软件开发维护中的重要作用.对此我们进行了以下3个系列课程建设,分别是软件工程系列课程、系统开发系列课程、工具软件应用系列课程.

软件工程系列课程包括软件工程导论、高级软件架构、UML模型分析、软件测试、软件成熟度模型CMM等.通过这些课程的学习,学生能深刻理解软件工程概念、原理和技术方法,熟悉软件开发周期中每阶段的任务,包括需求分析和建模、软件设计和实现、软件评审与测试、人机交互界面设计、软件项目管理等,并认识到软件开发是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目.系统开发系列课程侧重于项目开发,强调抽象与高级实现.有面向对象应用程序开发项目、电子商务应用程序系统开发项目、使用XML的企业应用开发、Web设计与编程、现代电子系统设计、CRM客户关系管理系统.通过某些行业领域较大型的项目开发树立学生的整体观,培养学生的系统眼光,使他们学会考虑全局,按照分层模块化的基本思想,站在不同的层面上把握不同层次上的系统.

了解和善于使用工具软件能帮助开发者提高工作效率,改进工作质量,工具软件应用系列课程除了包括与软件开发密切相关的软件工程CASE工具,还包括了一些通用软件应用课程,如办公自动化、多媒体技术与应用等.

2实践教学体系的构建

实践教学是培养学生能力的另一个重要环节,实践教学体系是一个与理论课程体系有机结合,又相对独立的完整体系,贯穿于人才培养的全过程.要将实践教学体系作为一个系统来构建,适当地追求系统的完备性、一致性、健壮性、稳定性和开放性.按照能力培养循序渐进的原则,我们以理论课程体系为基础,从夯实基础、提高能力、面向应用3个层次上,构建了两种能力的实践教学体系,如图2所示.图中灰色进度条代表各个实践教学环节对编程能力和软件能力培养的覆盖范围.

课程实验是对应于某一门课程设置的,实验内容与该课程理论教学内容紧密结合,侧重学生对课程各个知识点的掌握,规模一般比较小.设置了实验的课程有数据结构与算法、高级语言程序设计、数据库系统、编译原理、多媒体技术等.

课程设计更强调综合性、设计性,复杂度也高于课程实验,是引导学生将知识用于解决实际问题的第一步.我们将课程设计分为两种:一种是要求学生独立完成的,如程序设计课程设计、数据结构与算法课程设计、编译原理课程设计等;一种是以小组为单位完成的,如数据库原理课程设计、软件工程课程设计等.后者比前者规模更大,从工程化的角度出发,强调小组成员分工合作.

将实践教学活动扩展到课外一方面可以补充教学总学时的不足,更可以让学有余力的学生进一步仔细、深入地研究问题、解决问题.因此,我们鼓励学生参加各种课外实践活动,如组织学生参加省级、国家级的各种学科竞赛,组成多个兴趣小组,参与各种社会技术服务等.

多门课程的综合设计一般放在高年级,由系统开发系列课程中的某一门牵头,如电子商务应用程序系统开发项目或CRM客户关系管理系统等,给出多个可供选择的题目,学生根据情况选题.多门课程的综合设计规模更大、对学生要求更高,通常涉及多门课程知识,既需要程序设计、数据库知识,也需要软件工程知识,还要了解某些行业领域的专业知识,比较接近社会的实际需要.

生产实习通过让学生直接接触专业生产实践活动,能在一定程度上让学生从社会科学研究和生产实践中体验需要学什么,并真正能了解、感受未来的实际工作.生产实习一般安排在专业课学习期间,或者课程学习结束后毕业设计之前.对于大四的学生,甚至可以将生产实习与毕业设计有机结合,缓解毕业设计时间不足的问题.

毕业设计在整个实践教学体系中综合性最强.学生进行毕业设计时,已经完成整个教学计划中所有课程的学习,完成其他各类实践.它承担着培养学生综合应用所学知识和掌握的技能,分析和解决实际问题、独立工作、团队协作等能力的任务.同时对学生在4年学习中所获得的知识掌握情况、学习和接收新知识和新技术的能力以及解决实际问题的能力进行检验.

整个实践教学体系体现了循序渐进的要求,既有基础性的验证实验,也有设计性和综合性的实验或实践环节,在规模上有小、中、大,难度上有低、中、高;内容上既有基本要求,还有更高要求,并通过更高要求引导学生进行更深入地探讨,体现实验题目的开放性.另外还强调实践环节与实际的紧密结合.

3结语

编程能力和软件能力是计算机专业本科创新人才必备的能力,也是他们未来职业生存和发展的基础.加强学生程序能力和软件能力的培养不仅符合计算机专业对人才专业能力的要求,而且也满足就业市场对人才专业能力的期望.

研究不仅有益于信息科学技术学院计算机人才专业能力培养模式的创新,一定程度地丰富计算机教育领域关于人才专业能力培养的理论认识,而且在提高学生程序能力、软件能力,提升学生专业素质和社会竞争力上有着十分重要的现实意义.

相关论文