首页 > 文章中心 > 计算机程序开发培训

计算机程序开发培训

计算机程序开发培训

计算机程序开发培训范文第1篇

关键词:核心能力;程序设计;混合教学模式;线上线下

程序设计类课程是大数据智能化产业建设的基石,是承担培养工程开发技术、物联网技术、大数据开发技术、人工智能技术等创新应用型人才的支柱之一。大数据智能化背景下计算机程序设计课程主要包括C/c++方向、Java方向和Python方向。目前高校开设的程序类课程,C/C++方向包括面向过程的C/c++程序设计(基于函数),面向对象的C/C++程序设计(基于对象)和智能应用开发。Java方向包括JavaSE程序设计、JavaWeb开发和JavaEE开发。Python方向包括Python程序设计和PythonWeb开发课程。程序设计课程覆盖了大数据智能化应用专业基础课、专业核心课和专业方向课,是专业能力培养的支柱。与时俱进的程序设计类课程混合教学模式研究,是当前高等教学研究的热点。

1程序设计课程教学模式存在的问题

程序设计课程计算机类专业都在开设,但课程教学模式缺乏针对性。程序设计课程培养目标与专业大数据智能背景结合不够,线上线下教学整合的深度和广度不够。程序设计课程教学没有同大数据智能化创新应用型人才培养目标体系结合起来,没有同当前智能化时代需求和技术场景结合起来,没有同大数据智能化人才的知识结构结合起来,没有同专业课程结合起来,没有建立起适合大数据智能化创新应用型人才培养的线上线下混合教学模式体系。目前线下的程序设计课程教学模式,教学效果还存在一些问题。①课堂预习缺乏目的性。②教学活动互动参与性不强。③习题资源不够,测试操作不方便。④作业提交不及时。⑤作业评阅不方便。⑥学情统计、课堂统计和成绩统计缺乏数据支持,无法自动进行。⑦学生自学拓展缺乏平台资源。因此,大数据智能背景下程序设计课程线上线下混合教学模式构建是当前程序设计课程教学改革急需解决的重要问题。

2程序设计类课程线上线下混合教学模式构建

大数据智能背景下,程序设计课程混合教学模式构建采用基于工程教育认证、新工科建设和课程群建设的思路进行研究与实践,坚持以成果为导向,以学生为中心,以持续改进为目标[1-2]。坚持以成果为导向,依据市场和专业发展需求,确定程序设计课程培养目标和课程培养的核心能力体系,构建课程知识体系和教学资源体系。坚持以学生为中心,强调以全体学生为中心制定课程群培养目标及配置教学资源,开展线上线下融合教学。持续改进,改革课程考评体系,建立多元测评系统,强调混合教学模式教学质量监控机制和持续改进机制,不断提升人才培养质量[1-3]。大数据智能化背景下程序设计类课程混合教学模式构建主要考虑以下问题。2.1构建程序设计课程培养核心能力的体系。程序设计课程教学模式构建,需应对市场需求的大数据创新应用型人才特征进行调查分析,结合工程教育认证和新工科建设发展需求,确定专业人才培养目标[4]。专业人才培养以“面向工程、项目驱动、能力培养、全面发展”为目标,依据培养目标确定毕业要求[5-6]。根据毕业要求对程序设计类课程培养的学生核心能力进行分类分层次打造。课程核心能力体系分为通识能力和专业能力。通识能力分为口头表达能力、沟通交流能力、团队协作能力和创新应用能力。专业能力分为识记理解能力、阅读修改程序能力、程序编写调试能力、程序逻辑思维能力、系统分析设计能力、系统开发能力、项目管理能力和自主创新学习能力。根据核心能力体系重构程序设计课程体系,明确课程具体培养目标和要求。大数据智能化背景下创新应用型人才培养计算机程序设计课程主要包括C方向、Java方向和Python方向。对语言方向的每一门课程知识体系进行研究与实践,明确与核心能力匹配的课程知识体系,与课程内容匹配的学生能力目标体系。2.2构建语言-课程-平台一体的程序设计课程体系,解决程序设计课程群建设系统性问题。根据大数据智能化背景下的应用型人才核心能力的培养要求,构建面向应用、面向工程、面向能力理念的语言-平台一体化课程体系[6-7]。大数据智能化背景下创新应用型人才培养程序设计语言选择主流的C语言、Java语言和Python语言。根据核心能力培养体系开设课程,一个语言方向统一开发平台,解决学生培养知识脱节,开发平台混乱的问题。开发平台的选择要符合市场主流,选择具有模块化开发、代码分层、功能分层的框架集成式开发环境,以便提高学生解决复杂问题的能力。C方向课程体系分为面向过程的C/C++程序设计,面向对象程序设计和智能应用开发,统一开发平台可选择DEVC++,MicrosoftVisualStudio和Qt。DEVC++是C/C++轻量级开发环境,侧重于算法,VisualStudio是Window集成式开发环境,侧重于项目开发,Qt是跨平台GUI开发环境。Java方向包括Java程序设计,JavaWeb开发和JavaEE企业级开发课程,统一开发平台可选择MyEclipse和IDEA。Python方向包括Python程序设计,PythonWeb和爬虫课程,统一开发平台可选择PyCharm。同时要解决语言方向课程知识的衔接问题,确定课程标准,明确教学目标。程序设计语言-方向-课程一体图如图1所示。2.3开发在线课程资源,解决线上线下融合教学问题以全体学生为中心,应是集中学和分层分散教学的统一。线下课堂集中教学,适合课程理论知识的讲解学习,线上教学适合课程实训指导和拓展。程序设计课程线上线下融合教学过程分为资源开发、课前准备、课堂教学、课程实验、课程设计和课程总结五个过程。整个教学过程,以学生为中心,采用“参与式、启发式、研讨式”教学方法,利用平台提供的签到、章节学习、讨论、选人、分组、抢答、作业、测试、互评、群聊、通知等教学手段,实施线上线下、课内课外融合的教学模式,充分发挥教师主导作用和学生主体作用,引导学生参与互动、自主学习、创新学习,调动学生学习积极性和主动性,逐步培养学生的专业通识能力、识记理解能力、阅读修改能力、程序设计能力、修改调试能力、项目开发能力和工程实践能力[1,6,7]。程序设计课程线上线下混合教学模式如图2所示。2.4构建程序设计阶梯能力训练平台,解决能力培养平台单一问题。构建程序开发能力训练平台是一项系统工程,涉及到思维、体制和管理问题。依据学生程序设计能力培养层次,构建与能力培养匹配的阶梯能力训练模型,解决能力培养平台单一问题是程序设计能力培养的重要保障。根据学生程序能力培养层次建立课程章节训练、课程设计项目训练、方向课程综合训练、程序算法竞赛、创新创业项目训练和开发竞赛训练的阶梯式训练平台。每个阶梯训练平台要有具体的目标、训练内容、场地保障和组织管理。课程章节训练主要在课堂,解决章节模块知识的应用问题。课程设计项目综合训练旨在通过项目形式进行课程知识的综合训练,解决课程知识的综合应用问题。语言方向课程综合训练通过理论和项目形式解决同一门语言前后课程衔接和知识综合应用问题。程序算法竞赛利用一种语言工具进行算法专题训练,比如查找排序、贪心和动态规划算法等。创新创业项目训练通过创新创业项目与程序设计课程结合,提高项目分析设计和开发能力问题。学科竞赛通过对创新创业项目培养,按照竞赛文件要求,完善系统功能和文档,提高项目开发能力。通过程序设计阶梯能力训练以培养学生程序设计核心能力,提高学生就业质量。例如C语言方向程序设计课程能力阶梯训练模型如图3所示。2.5考核方式改革,解决学生能力考核科学系统性问题。大数据智能化创新应用型人才程序设计课程考核,理论知识和实践能力考核要注重全面性、科学性,突出课程培养的核心能力考核。课程考核应建立标准化考核、过程化考核和能力考核的多元测评系统[1,7]。标准化考核利用在线平台,建立标准的试题库和试卷进行课程章节、期中和期末考核。过程化考核充分利用平台对学生学习全过程活动进行记录、跟踪和统计分析。能力考核从学科竞赛、创新创业项目和科技创新方面来进行,注重学生程序设计开发能力,创新思维能力及团队合作能力的考核。同时改革考核线下操作模式,利用平台对学习过程进行大数据分析,利用在线平台进行半自动或全自动的考核方式,提高学生学习效率和教师工作效率。改革老师单一的评阅方式,建立学生互评、小组互评和教师评阅的方式,合理地分配成绩权值,建立重能力考核的观点及理念。能力考核多从单元知识应用、课程设计、学科竞赛、创新创业项目和科技创新方面来进行,注重学生程序设计开发能力,创新思维能力和团队合作能力的考核。

3结束语

本文对大数据智能化背景下程序设计课程线上线下混合教学模式构建问题进行了研究。大数据智能化背景下程序设计课程线上线下混合教学模式,应结合专业背景优势和课程本身教学需求,从教学思维、教学目标、教学内容、教学保障和组织管理方面建立起适合专业发展需求的程序设计课程完整教学体系,以提高学生学习效率和老师教学质量,提升学生程序设计开发能力,培养大数据智能化创新应用型人才。

参考文献:

[1]李昱,郭晓燕,梁艳春.应用型本科计算机专业程序设计类课程教学模式改革与实践[J].计算机教育,2020.311(11):111

[2]高晓娟,牟莉,张旭风.程序设计类课程混合教学模式研究[J].商洛学院学报,2020.34(2):60

[3]杨卫明.创新应用型信息类专业实践能力培养模式研究[J].教学现代化,2019.6(88):21

[4]王晓芳,刘鹍,赵燕.工程教育认证背景下程序设计类课程改革探索-以济南大学为例[J].合肥工业大学学报(社会科学版),2019.33(4):134

[5]乔加新,梁后军,魏苏林.构建全方位分层次程序设计类课程创新教学体系-基于新工科理念下的计算机专业[J].黑龙江工业学院学报,2019.9:20

[6]吕娜,张琎,张芊茜,史桂娴.混合教学模式在程序设计类课程中的应用[J].计算机教育,2019.5:115

计算机程序开发培训范文第2篇

1依据课程内在联系

构建软件设计系列课程群构成学生程序设计能力的计算思维、算法设计、程序设计与实现和系统分析能力四个基本要素,关键是提高计算思维、抽象思维、逻辑思维的能力,一两门孤立的语言或算法课程无法完成,这需要从系统工程的角度进行整体设计,组合相关的系列课程构成相应的教学和实践系统,并有一个循序渐进的深入过程,这一过程一般需要经过知识的积累、程序设计课程学习、软件开发实践等不同的环节,也就是要经历启蒙入门,发展提高和开发应用三个阶段[2]。通过贯穿大学四年的程序设计类课程的学习,学生在程序设计启蒙入门、发展提高和开发应用的不同阶段都能够很好地达到各个阶段的教学要求,形成良好的学习习惯,循序渐进、潜移默化地养成程序设计能力。因此,依据程序设计能力不同培养阶段的教学规律,我们应选择对学生程序设计能力培养有着关键作用的课程组成软件设计类课程群,课程群的主要课程可由以下课程组成。1)启蒙入门阶段:计算机导论、程序设计基础、面向对象程序设计等。2)发展提高阶段:数据结构、面向对象程序设计、计算方法、数据库基础、软件工程、Java程序设计等。3)开发应用阶段:网络程序设计、数据库开发实践、医学信息学、信息系统设计、医学图象处理等。建设课程群的目的是把原本相对独立的课程在教学过程中有机融合,前后课程互相呼应,逐步深化,把学生引入门。在课程群内涵建设中,按“点—线—面—体”的思路构建课程群框架,即以每门课程的主要知识点为基础,把程序设计类主干课程串成前后有机衔接的教学“线”,在课程群的“面”上构建课内外相关的任务驱动学习激励机制,最终形成软件设计课程群的体系结构和系统化的程序设计类课程教学框架[4]。在具体实践中,从分析课程群每门课程的知识点入手,从知识点内涵、教学要求、教学策略以及与前驱知识点和后续知识点关系等多个维度建立课程群中课程的知识架构的点、线关系,进而形成相关课程知识点前驱、后续知识点互相融合汇聚的知识面和课程体系。在此基础上通过完善相关课程教学大纲,达到目标明确、层次分明、定位正确、强化基础、拓宽专业知识面的应用型人才培养的要求。

2建立基于混合式学习的程序设计课程群教学模式

混合式学习(BlendingLearning)将传统的课堂学习方式和数字化学习方式有机整合,根据程序设计能力培养的启蒙入门、发展提高和开发应用不同阶段教学特点,围绕程序设计能力的“算法设计与分析能力、程序设计与实现能力和系统分析、开发能力”的递进培养目标,从混合式学习课程导入机制、多元化的程序设计课程活动组织策略、课内外学习支持以及教学评价等四个教学环节,从启蒙入门、发展提高、开发应用不同阶段组织开展混合式学习[5-7]。2.1启蒙入门阶段从程序设计能力入门训练入手,其重点在算法设计与分析能力的培养。针对大一、大二学生程序设计启蒙课程主要有计算机导论、程序设计基础等;教学围绕基本知识点训练编程思路、算法设计与分析方法,引导学生入门;教学活动组织中侧重于以班集体为单位的理论和实验教学,同时结合程序设计竞赛、课程设计、大作业等开展课外编程学习;建立BB平台、开发上线ZCMUOJ(ZhejiangChineseMedicalUniversityOnlinejudge:浙江中医药大学在线编译)系统,使之成为程序设计阶段课外学习平台,把师生面对面及借助网络和BB平台的辅导相结合,通过检查平时程序设计作业完成情况和程序代码数量和质量,以及期末的现场程序设计实验考试,进行学习成绩综合评价。2.2发展提高阶段发展提高阶段重点在程序设计与实现能力培养,从软件工程的角度,研究从程序设计到软件设计能力培养。本阶段主要是针对大二、大三学生,主要课程有数据结构、面向对象程序设计、计算方法、数据库基础、软件工程等;该阶段的教学侧重在程序设计的综合性、整体性素养培养,综合相关课程设计任务,以设计性、综合性实验为主,重点围绕软件开发的完整流程开展实践,强调团队分工与协作;以小组协作方式为主,根据各课程知识间的依赖特性从课程群的角度组织开展课程设计与假期实践;同时,强化软件集成开发环境(如VisualStudioTeamSystem、Eclipse等),版本控制工具(如CVS等)等协同开发环境的应用;教师的角色也随之从“教”师变为“导”师,提供实践思路与方法的指导,引导小组成员协作学习、角色扮演、讨论交流;教学评价侧重于程序开发、文档撰写、软件评测、团队协作等多个角度,通过小组自评、组间互评与教师评价等方式综合考量。2.3开发应用阶段开发应用阶段重点在系统分析、开发能力培养,软件团队合作开发训练,基于常用团队协作软件开发平台的软件开发训练。针对大三、大四学生结合计算机应用领域,特别是我校医学领域信息开发的优势,从医学信息学的角度,开展跨学科的医疗卫生信息化项目开发实践。该阶段课程群主要课程有医学信息学、信息系统设计、Java程序设计、网络程序设计、数据库开发实践、医学数字图象处理等;该阶段以项目实训、企业实践为主,重点围绕医学信息工程软件开发、网络管理软件、数据库管理软件开发等以及软件测试等多种角色开展教学;以团队分工协作的方式开展课程设计、项目实训和科研项目开发,并与相关卫生信息化企业合作开展企业实践,组织学生参与医院信息化项目研发;由相关教师组成导师组,以客户经理、项目经理等角色给予项目团队方向、思路、策略的指导,教师参与并鼓励学生借助网络等相关资源共同研究解决完善相关问题;通过项目答辩的形式检查实训成果。

3以任务驱动的课内外程序设计推进机制

程序设计能力的培养,仅靠课内的教学是远远不够的,需要建立完善的课外程序设计学习机制,激发学生学习积极性和学习潜力,为此,我们主要采取程序设计类课程布置的课外大作业、课程设计任务以及参与教师实际科研项目开发等多种途径来驱动学生的课外参与程序设计能力训练,同时建立多种形式的验收讲评和评价激励机制,任务驱动与激励机制的结合是引导学生课外开展程序设计一种有效措施[8]。3.1启蒙入门阶段以程序设计竞赛为抓手在低年级学生的程序设计能力启蒙入门阶段,以实施课外程序设计竞赛为抓手,从程序设计能力培养与训练入手,根据程序设计能力的教学规律,建立不同难度、不同层次的课外程序设计训练和竞赛为主的学习激励机制;设计开发适合我校学生特点的ZCMUOJ系统,使之成为学生参与程序设计的主要学习支持平台。为了吸引同学参与课外程序设计,我们建立了周赛、月赛、学期比赛以及单挑赛等多种形式的程序设计竞赛机制,刺激学生的参与兴趣。平均每周组织一次程序设计周赛,每月组织一次个人单挑赛和团体月赛,每学年分别组织学院比赛和学校比赛,参与人员覆盖了计算机专业一二年级70%学生。以程序设计竞赛为主要抓手的程序设计能力培养使学生程序设计能力明显提高,低年级学生完成课程设计的编程难度和代码数量明显提高,学习程序设计的兴趣明显上升,特别是在ACM比赛中,我校2011年浙江省ACM程序设计竞赛中获铜奖三项;2011年4月,我校在ACM-ICPC亚洲赛区晋级赛福州站比赛中获铜奖1项,学校排名25位;在2011年9月第36届ACM-ICPC国际大学生程序设计竞赛亚洲区预赛大连站比赛中获铜奖1项。3.2发展提高阶段以课程设计为抓手大二和大三学生已初步掌握程序设计基础,需要提高发展程序设计能力,突出软件工程角度的软件工程化开发能力的培养。软件团队合作开发训练采用企业通用的集成开发环境和软件版本控制工具进行软件开发训练。此阶段主要采取相关课程的课程设计和二年级小学期的集中课程设计等多种形式实现程序设计。例如在“数据库开发”课程中,采用案例教学,启发学生开展课程设计,通过剖析数据库开发案例,详细展开需求分析、模型设计、程序设计、程序测试以及系统等各个环节的实现方法,引导学生从单一程序设计到较为复杂的软件系统开发的过渡,培养学生软件工程素养和软件开发能力。3.3开发应用阶段以项目开发为抓手大三和大四学生已经掌握了软件开发的基础,但需要更多的实际项目开发实践,以便迅速提高软件开发能力。对此,我们采取课程教学中的模拟项目开发和实际软件项目开发相结合的激励机制。针对全体学生,在后续的医学信息学、信息系统设计等课程中开展模拟软件工程开发全过程的程序设计。例如在医学信息学课程教学中,把完成一个医院信息系统子模块设计开发作为贯穿于整个教学过程的任务,要求人人都参与项目开发,并且要用软件工程的方法来实现项目开发。以班级为单位,开发医院信息系统的一个子系统,模拟实际项目开发,分层管理,班级设立项目经理和技术总监,负责项目实施管理和技术管理,3至4人为一组,设立项目组长,负责项目模块的开发,要求每组完成需求、概要设计、详细设计和软件测试四个文档,并且结合医院信息系统参观调研,完善需求分析和设计。通过课程设计,尝试对软件设计全过程,特别是软件开发团队的合作,这对提高同学们软件设计能力有很大的帮助。同时,在课程设计成果考核评价中,我们让项目团队中每个人上台宣讲自己所做的工作、演示系统,学生代表评分与教师评分相结合。自2005年级至2008年级,共五届490名计算机专业的学生参加医学信息学课程设计,共完成22个门诊或住院子系统,100个子模块。同时,通过公开招募考试等形式,召集一些软件开发能力较强或学习能力较好的学生参加寒暑假教师的实际科研项目开发,并使之形成班级软件开发的骨干力量,进一步带动整个班级的软件开发氛围。

计算机程序开发培训范文第3篇

关键词:程序设计;数据结构;算法;编码;调试

中图分类号:G642文献标识码:A文章编号:1009-3044(2009)33-9490-02

The Effective Strategy of Raises the Student Programming Ability

XIAO Han-peng

(The Secondary School of Nanyang, Nanyang 473000, China)

Abstract: This paper analyzes the design disciplines in the computer programming of the status and the knowledge and ability, combined with their many years of computer science teaching practice of teaching computer programming students an effective strategy.

Key words: program design; data structure; algorithm; coding; debugging

计算机科学是一种创造性思维活动,其教育必须面向设计。计算机的本质是“程序的机器”, 只有懂得程序设计,才能懂得计算机,真正了解计算机是怎样工作的。培养学生程序设计能力对计算机专业的学生来说不仅是培养职业技能的需要,也是培养大学生创造性思维的重要途径。学习程序设计语言可以培养学生运用算法来解决实际问题的能力,这种解决问题的方式是计算机所独有的,也只有通过对计算机的程序设计语言和程序设计方法的学习才有可能获得这种解决问题的能力。

1 程序设计在计算机学科中的地位

程序设计是利用某种计算机语言,编制完成某一特定功能的程序的过程,是涉及描述、开发及有效实现求解的一系列活动,是利用计算机实现自动化的重要手段。

计算机学科主要是系统地研究信息描述和变换的算法过程,包括它们的理论、分析、设计、效率、实现和应用。可以这样说,一切算法的基本问题是“什么能被自动化”以及“如何有效地自动化”。这个自动化的过程就是程序设计的过程。

程序设计语言是人们学习计算机的最基本的工具,也是人们学习计算机基础与应用知识的基本课程。通过学习,使学生掌握程序设计的基本概念、基本知识和基本方法,养成良好的程序设计风格,得到一定的程序设计训练,具备初步编写程序解决实际问题的能力。程序设计也正是有形表达抽象思维的方法,在程序设计过程中贯穿阅读判断、分析思考、工具利用、抽象表达、综合创造等多项技能,是理论、抽象、设计和应用的综合能力培养过程。因此程序设计是计算机学科教学的重要内容之一,对计算机专业人才素质的培养至关重要。

2 程序设计的知识和能力构成

根据循序渐进的原则,与程序设计有关的教学内容主要有:计算机基础知识和操作、程序设计语言和基本的程序设计方法、最基本的数据结构及其基本算法、常用的算法设计方法等。在学习这些知识的同时,必须与能力的训练有机地结合起来。程序设计能力表现在以下几个方面:

1)自然语言能力。要有较强的运用自然语言描述现实事物的能力,只有运用背景知识正确且清晰地陈述问题及其求解目标,才能确定程序的功能。

2)数学描述能力。程序设计是为了告诉计算机做什么和如何做。这就需要利用定义、定理、公式、函数等数学工具把问题形式化,建立数学模型。

3)数据结构设计能力。选择合理的存储结构,在计算机中表示数学模型,是程序设计的一个重要方面。

4)算法构造能力。好的程序由精心构造的、好的算法构成。给出问题求解的离散化计算过程,是程序设计中最具有创造性的工作。

5)程序编码能力。用某种程序设计语言表达算法,尽管这种能力往往被认为技术含量不高,但也需要对程序设计语言的熟练掌握和对算法设计的深刻理解。

6)程序调试能力。程序调试能力是一种专业综合技能,需要对程序设计语言和程序结构有深刻的理解,需要熟练的操作技能,需要会设置测试数据和设置程序断点,这些都有待于学生在实践中逐步积累经验。

可以说,程序设计能力的高低很大程度上反映在驾驭自然语言、数学语言和计算机语言的能力上。这3种语言是人们毕生有用的3种通用智能工具。前两者是后者的基础,良好的英语和数学训练是学好程序设计语言和培养程序设计能力的重要基础。

3 培养程序设计能力的有效策略

知识的价值在于运用,知识的运用需要技能,而技能的形成则依赖训练。程序设计知识的学习和能力的培养需要各方面的知识基础,它是一个系统的教育训练过程,需要多个教学环节的紧密配合才能完成。

1)明确教学要求

程序设计语言课程一般是为应用性教学而设置的,因此,课程的教学不仅仅是传授知识,而且应该强调应用性,应该以培养学生的能力为主。程序设计语言的内容比较丰富,在教学中如果面面俱到,必会耗费较多课时,而且教学效果不一定好。因为过分强调程序设计语言的系统性和完整性就可能会转移学生对课程重点的注意力,关键在于教会学生如何正确运用程序设计语言编写程序,训练实用编程能力。所以必须突出重点,突出应用性,侧重教思想,即把程序设计语言的基本思想、基本环境、基本概念、基本知识和基本方法教给学生,使他们在学习中对硬件、软件环境、程序设计的基本思想和基本技巧,所学程序设计语言的基本概念和使用方法以及编程技术有一个比较全面的感性认识,从而提高解决实际问题的能力。

2)打好数学基础。严格的数学训练是程序设计能力的基础,学习和加强排列与组合、数列、数学归纳法等离散系统的数学方法对提高程序设计能力尤为重要。问题描述和建立数学模型是程序设计的前奏,数学归纳法、穷举法、构造证明法等证明技巧是算法设计方法的基础。

3)强化英语水平。程序设计语言的符号系统以英语为基础,程序设计文档语言首选英语。英文资料是计算机最新和最大的技术资料来源,英语水平是我国软件产业发展和参与国际竞争的制约因素。

4)重视阅读训练。从某种意义上来说,程序设计是用程序设计语言和方法进行的一种写作。可以想象,如果学生没有阅读过一份完整、规范、有实用价值的标准程序,即使记住了有关语言的语法规则,也不可能写出像样的程序。所以,大量阅读、分析、修改和扩充典型的算法和程序,是提高程序写作能力的有效途径。而这个重要学习环节往往未得到应有的重视,缺乏配套的程序设计阅读分析教材。教师应经常指导学生阅读程序,理解程序,提高学生分析程序的能力。

5)注重算法设计,突出数据结构内容。瑞士科学家、PASCAL语言和MODULA-2语言的发明者沃思(Wirth)教授提出了著名的公式:程序=算法+数据结构。这个公式表达了程序的实质,说明对于一个程序设计问题来讲,算法与程序设计是紧密联系的,绝不能脱离数据结构去讲解算法设计。程序设计语言的教学应该结合数据结构的基本内容。对于同一个计算问题,选用不同的数据结构,其算法大不一样,算法的优劣程度也不同。因此,要教会学生对不同的问题选择合适的数据结构。在整个程序设计课程中,必须强调算法设计方法,通过不断的算法设计训练,使学生切实掌握迭代、枚举、递归、分类等常用算法设计方法。

6)更新教学内容。计算机学科是一门综合性学科,而且程序设计语言的应用领域在不断扩大和发展。因此,在教学中应结合专业的特点和教学的要求,将软件工程的思想方法贯穿于整个教学过程,介绍程序设计语言的最新发展和应用,重视面向对象程序设计方法的引入,搞好教材内容的更新。如图形程序设计、下拉式或弹出式菜单、计算机病毒防治等等。这样不仅能把最新的知识和最新发展动态充实到教学上来,大大丰富了教学内容,而且使学生加深对程序设计语言的理解和掌握,保持对信息技术和专业的兴趣,及时跟上信息技术日新月异的发展趋势,在今后工作中保持领先地位。

7)采用先进教学手段。用传统的课堂教学方法讲授动态的算法和数据结构是十分低效的,像排序、递归等抽象动态的内容讲解就常常是费力不讨好。应该根据课程特点,采用先进的现代教学方法,如直观教学方法:利用挂图、教具等讲解,以及计算机辅助教学(CAI)和计算机辅助学习(Computer Aided Learning,简称CAL)进行教学,通常开发利用与课程内容与教学特点相适应的多媒体课件进行教学。它们是讲解算法和进行程序设计训练的最佳教学平台,既能增加学习的趣味性,又可利用图形的直观性帮助抽象和动态过程的理解。

8)加强实践环节,强化创造性思维能力培养。在教学中,常常听到学生提出这样的问题:“程序设计语言有什么用?”,有的学生还反映:“程序设计语言并不难学,就是不知道如何应用?”一些学生学到了一定的科学知识,但上机动手水平低。这种现象与普遍忽视实践环节有关。为了扭转这一局面,在整个教学过程中,必须强调实践环节的重要性,充分安排上机实践时间,加强系统训练和实践能力的培养,强化创造性思维能力培养。根据课程特点,在教学中,采用案例驱动教学,进行兴趣引导;在实践中,可以精心组织一系列由易到难、由浅入深、配套衔接、结合学科学习、有一定设计技巧的程序设计作业,最后再安排一次综合性强、有一定难度的课程设计实践,对学生进行项目训练,提高学生应用能力。通过上机作业和课程设计的完成,使学生独立思考,各显才干,总结经验,培养他们的动手能力和编程能力,以及分析问题和解决问题的能力。

4 结论

总之,培养学生计算机程序设计能力的方法和途径很多,但是编程序不难,编好程序不易。作为教师,必须从培养学生编程思维的角度出发,按照以上策略认真进行编程知识的教学和技能的培养,加强实践,提高学生科学思维的能力,真正学会程序设计的真本领。

参考文献:

[1] ,王楠.浅谈程序设计语言课程教学方法[J].吉林大学学报(信息科学版),2005(S2).

[2] 徐进华.提高学生程序设计能力的几个措施[J].计算机时代,2005(11).

[3] 李凌.浅谈高级语言程序设计课堂教学方法[J].淮北职业技术学院学报,2005(04).

计算机程序开发培训范文第4篇

编程 实训教学 程序设计

对于多数学生而言,在学习了程序设计语言后,除能应付计算机等级考试外,不能应用计算机语言去解决实际的问题,而社会对人才的需求要求学校所培养的学生不仅要具备较扎实的理论基础,而且要具备相应的专业技能和素养,具有解决实际问题的能力。要具有解决问题的能力首先应该掌握计算机语言的理论基础,然后是把计算机语言作为工具来解决实际问题。理论知识的获取无疑要通过理论课堂,应用能力要靠实践,现在的计算机语言课程设置也都是按照“理论+实践”模式,那为什么学生学过语言课后普遍认为不会写程序,不会应用计算机语言这个工具呢?本文在分析计算机语言教学存在的问题以及各个环节对学生学习的影响情况的基础上,通过优化综合实训的组织方式,让学生更好地利用程序设计综合实训的机会,锻炼学生综合程序设计的能力。

一、实践教学现状

1.实践教学的目标

通过实践教学使学生加深对理论知识的理解掌握;培养学生的基本技能和专业技能,使学生具有较强的实际操作和创新能力;培养学生良好的社会公德、责任意识和敬业精神,培养实事求是、严肃认真的科学精神、探索精神和创新精神,提高综合分析解决问题的能力,塑造初步的创新能力。

2.目前实践教学的各个环节及对学生的影响分析

实践教学由课堂实践教学、综合实训、课外实践活动以及毕业设计环节组成。

课堂的实践教学针对教学内容的,内容相对单一,缺乏综合性;课外实践教学对于程序设计来说锻炼机会较少;毕业设计的完成往往是专业知识的综合训练,要求学生已经具备一定的程序设计能力,能够通过程序设计解决实际的专业问题,因此,在校阶段的综合程序设计实训尤为重要,要通过综合实训锻炼学生进行程序设计的综合能力,为专业服务。

二、理论课注意调整学生对课程的认识

心理作用对学习的影响非常重要,学生对于计算机语言类课程的评价大多数是一个字“难”,普遍感觉课程很难,会把这门课当做一个独立的学科来对待,本人认为这样对学习语言课是不利的,计算机语言和我们日常讲话说的“汉语”是一样的,都是交流的工具,只不过汉语是人和人之间交流的工具,而计算机语言是人和计算机之间交流的工具,我们学习计算机语言,目的是和计算机进行交流,就如同我们学习英语,是想和不会说汉语的人进行交流和讨论一样,那我们要和计算机进行交流和讨论,就需要计算机明白我们的意图,计算机如何知道我们想要做什么呢,就是通过约定好的计算机语言来表达我们的想法,所以计算机语言是表达我们人类想法的工具。只有让学生从根本上明白计算机语言在日常生活中扮演的角色,才会更好地建立让计算机帮助人类解决问题的思维模式,才会更好地应用计算机语言转换自己的思想,才会意识到只有通过多编程多练习才能熟练使用计算机语言这样的工具。

三、调整课程设置模式,加强课内实践环节

目前,计算机语言类课程教学安排大多采用“2+1”的课程模式,也就是每周2个学时的理论课和1个学时的实践课,实践课的安排一般采取“两周一次”的方式,即每两周才上一次实践课,每次课2个小时。例如,对于结构化程序设计的语言来说,三种控制结构会在2~3次课完成,但是学生会用控制结构处理实际问题需要多练习多编程才能建立这样的思维模式,对于刚开始接触计算机语言的学生,应该针对每一种结构(例如选择结构)给出多道练习题,让学生通过自己写程序来解决实际问题,这样才能建立遇到同一问题多种解决路径的实际问题时,会自然而然地想到采用选择结构。但是按照“2+1”的课程设置模式,课内实践的时间不足以保证对单一知识点的很好掌握。因此,加大课内实践的时间是有必要的。近几年,我们将网络工程专业c/c++语言课程调整为“3+2”模式,每周有实践课,每周的理论课中增加对实际问题的分析和实验课前分析,学生对单个知识点的掌握程度明显提高。

四、程序设计综合实训的组织和实施

进行程序设计综合实训是要求综合运用所学的知识解决实际问题,增强对程序设计的理解并体验团队的合作精神。因此对于综合实训的内容安排、指导以及考核都要以综合实训的目的为核心。

1.综合实训的内容安排

学生能编出具有完整功能的实用程序时,会具有强烈的成就感和自豪感,这是最好的原动力,可以很好地激发他们的潜能,使他们的算法设计能力、程序设计能力和程序调试能力得到快速的提升,因此确定一个能激发学生兴趣的题目很重要。

关于内容的安排有两种方式:

一是在一系列现有题目中选择。我们编写了程序实训指导书,在书中列出了24个题目供学生选择,这24个题目分数据库管理、游戏设计、图形、算法设计等分类,学生根据兴趣自己选择实训题目。

二是根据不同的专业学生自己选题。鼓励学生根据本专业所学专业课,自己选择在专业课中要解决的问题,然后通过程序设计实训过程来完成。这种方式需要学生提前写一个报告,包括简单的选题内容,以及准备采取的方法,指导老师根据报告决定该选题是否能作为实训选题,并且提出补充建议。

2.综合实训的指导方法

综合实训采用结对编程的模式,两个学生选择一个选题,互相合作,共同完成。整个过程要以学生为主体,因此指导老师的作用是引导学生自己查找资料,鼓励学生通过多种途径解决出现的问题。

3.成果考核和成绩评定

考核是督促学生学习的一种手段,因此考核必不可少。一个完整的实训过程必须要有总结报告,总结能使学生发现收获和不足,为以后的进一步学习打下基础。

(1)实训结束要求提交的资料

完成题目的基本要求,提供正确的源程序;

提交实训报告,实训报告符合要求,给学生一个实训报告的模版,其中包括实验内容、设计步骤、程序流程、主要算法设计、总结与体会等。

(2)考核方式

按照平时考勤、程序源码、实训报告三方面,按照2:3:5的比重考核打分,最终成绩实行优秀、良好、中等、及格、不及格的五级评分制。

五、总结

从多个年级学生的实践结果来看,加强课内实践,重视综合实训,并且严格实训组织和内容选择,不仅能提高学生对程序设计的兴趣,极大加强学生的实践动手能力、解决问题的能力,也较好地培养学生的创新精神。

参考文献:

[1]李凌.“程序设计实践”课程教学怎么做[J].计算机教育,2006,(8).

[2]李丽琼,刘彦宾.从培养创新能力入手改革程序设计实践教学[J].遵义师范学院学报,2006,(8).

计算机程序开发培训范文第5篇

本文结合目前信息与计算科学专业的实际情况,对如何提高学生的软件开发能力进行探索与研究,以求能够在有限的教学时间内最大程度地提高学生的计算机实际应用水平及提升软件开发能力,从而培养社会适用型人才,拓宽就业口径。

关键词:

信息与计算科学专业;软件开发能力;实践教学;就业

1研究意义及问题分析

在认真分析就业市场发展的新形势下,高校数学院系迫切需要采取有效的措施去解决数学本科生的就业问题。切实做到专业设置与社会需求相对接,目前,从已毕业的数学专业的就业方向看,从事软件开发行业的人居多,而其中约有80%左右的学生是去市场上软件开发方向培训班培训过的,为了节省学生的时间和费用,数学类专业有必要设置具有特色软件开发方向课程模块,培养学生的软件开发能力。根据就业市场所需积极进行数学类专业软件开发方向人才培养的研究与实践。提高数学本科生的综合竞争力切实帮助学生找到合适的就业出路。信息与计算科学专业软件开发能力培养旨在培养具有软件开发背景的综合性数学人才;使得数学与计算机专业的有机结合,形成一套独具风格和特色的教育培养模式,给用人单位明确地显示数学类专业学生在从事软件开发时的优势。数学系的学生到软件企业中大多作软件设计与分析工作,这部分人才在软件开发行业紧缺,而计算机系的学生做程序员的居多,原因就在于数学系的学生分析推理能力、逻辑推理能力强,数学思想的建立比计算机系学生强,这是数学专业学生从事软件开发的优势,也是培养数学专业学生软件开发能力的意义所在。

2信息与计算科学专业特点与特色课程设置

信息与计算科学专业人才培养应该尊重数学学科教育的发展规律,强化学生数学基础,着眼于学生的就业,瞄准社会对数学类人才的规格要求,注重应用技能的训练与培养。在专业定位上,坚持:强化数学基础,兼顾专业类别,突出因材施教,培养综合能力的办学原则。根据就业市场所需积极调整专业设置,把办学规模和专业设置与市场接轨。2.1设定该专业软件开发方向人才培养的目标:学生不仅能进行数学理论研究,同时会运用计算机工具,更主要的是他们能将两者有机地结合起来,将理论与实际紧密结合,进行软件开发、信息管理与处理等。这是既有别于数学专业又有别于计算机专业的特色。突出数学专业学生的思维优势。

2.2加强师资队伍建设。采取“稳定、培养、引进”相结合的方法,培养一批既懂数学又懂计算机的教师队伍,为专业教育质量提供师资保障。

2.3理论教学培养学生计算思维和算法设计分析能力:通过开设数学分析、离散数学、高等代数、概率论与数理统计、数值分析、数学模型等课程,培养学生的计算思维,使学生具备建立数学模型和解决实际问题所必备的数学知识和抽象逻辑思维能力。数学上功底扎实,在软件编程上的优势尽显,项目的设计模式格外地优化,程序逻辑条理也格外地清晰。因为数学可以培养人的逻辑思维能力,而程序设计需要很强的逻辑思维能力。所以无论从事什么具有扎实的数学基础是必要的。

2.4构建合理的软件开发方向的课程群,培养计算机应用软件的开发能力:通过开设高级语言程序设计(C语言)、数据结构、面向对象程序设计(C++与Java)、算法设计和分析等课程,有针对性地培养学生掌握算法设计与分析的方法,使学生熟练掌握常用算法、掌握算法设计与分析的方法和步骤,通过开设数据库原理及应用、软件工程、数据库编程,加大学生综合系统设计开发,使学生掌握中小型软件系统的架构、算法分析和设计能力,掌握软件系统分析与设计的方式方法,提高学生综合系统编程能力。

3软件开发实践教学体系研究与实践

改变传统的教学模式,培养学生的实践能力。包括:与行业人员合作的教学方法、案例式教学、精讲多练、机房授课、项目式考核等。整合实践教学内容,探索基于学生就业竞争力的实践教学体系;加强和完善实践教学条件:包括专业实验室建设、长期稳定的校外实习基地建设。丰富实践教学内容。做到把课堂搬到企业去,把理论用在实际。针对目前软件开发方向应用广泛的语言,信息与计算科学专业重点开设C语言、C++、Java、软件工程具有适应市场的竞争力的课程。这些课程能很好的与就业市场对接。我院已经有合作的校外实习基地—达内科技培训机构大庆分部;哈尔滨承德培训基地。大一实践课程设置:19周至22周,实践课程以Java程序设计为列。校内60学时的Java基础教学,边教边练,随堂消化。使学生掌握Java语言的基础知识,熟悉Java类库中最主要的类,掌握和面向对象程序设计的基本原则和特点。“Java技能实习”通过几个Java小项目的开发,培养学生Java编程能力,加深学生对Java语言的基础知识和面向对象程序设计的理解;大二已有Java基础的学生去达内实校外训基地,由校外指导教师指导项目实战。做到校内校外的课程安排有机结合,不脱节。同时通过走访已经毕业的学生的工作单位,了解当下的就业形势。充分发挥信息与计算科学专业学生的专业能力。大三暑期,学生实训走出去,去一些公司实习,让学生体会到学有所用。为大四就业打下经验基础。

4结束语

针对信息与计算科学专业的特点,结合办学思想和培养目标,特设置了该专业的计算机类课程,调整了教学内容,将数学知识和数学思维融入软件编程,体现专业特色,改革了教学模式与考核方式,并注重培养和考核学生的实践创新能力。通过两年的教学实践表明,对于信息与计算科学专业计算机类课程的改革思路是行之有效的,激发了学生学习计算机类课程的兴趣,开发了学生的潜能,提高了学生的编程能力和解决实际问题的能力。扩大了本专业学生就业面,培养出有一定数学基础和实践能力的从事软件行业的人才。实现推动数学类本科专业快速发展。

参考文献

[1]董立华,刘艳芹,数学专业创新性应用型人才培养的探索与实践[J].衡水学院学报,2012.

[2]方木云,戴小平,培养学生软件开发能力的软件方向课程群建设[J].安徽工业大学学报,2007.

[3]杨韧,基于体系建设的数学类专业实践教学改革[J].实验室研究与探索,2013.

[4]孙善辉,芦伟,以就业为导向的数学本科专业学生创新能力的培养[J].宿州学院学报,2012.