首页 > 文章中心 > 学习编程计划

学习编程计划范文精选

学习编程计划

学习编程计划范文第1篇

关键词:少儿编程;教育学意义;编程思维;课程开发

人工智能时代对人的核心素养提出了更高要求,学习和掌握信息技术已经成为未来社会“数字化公民”的必备技能之一。信息意识、编程思维、数字技术越早培养优势就越大,开展信息技术教育应从小抓起。实施编程教育是世界各国加强信息技术教育和人才培养的重要内容之一,如何科学有效地实施少儿编程教育,是很多学者都在进行探索的问题。基于多年从事低龄儿童编程教学实践,结合相关理论研究,对少儿编程教育进行思考与探析。

一、开展少儿编程教育是社会发展的需要

少儿编程教育因技术发展而生,随社会进步而兴,有着广泛的社会背景和发展逻辑。

1.时代要求

编程教育包括少儿编程教育,有着广阔的时代背景,人工智能技术的飞速发展推动了人类社会加快进入人工智能时代。时展趋势对人的能力素养提出了全新的要求,也给教育改革发展提出了崭新的命题。国内外研究中“智能素养”概念的产生正是这种要求的客观反映。研究认为,智能思维是“智能素养”的构成要素,AI编程思维能力是其核心思维,也是人工智能时代人们必须掌握的核心素养。“在雅典时期,不具备读写能力的人被排除在权利结构之外,而未来不具备编程思维的人也有可能遭到时代的淘汰。”[1]语言表达虽然诗意,揭示的道理却令人深思。深入开展编程教育是培养编程思维能力的必然途径,同时现代计算机语言技术的发展也为编程和编程教育提供了支撑。单就少儿编程教育而言,从早期的Logo“海龟机器人”发展到现在的Scratch、CodeMonkey、Lego机器人,由此更加贴合少儿心智发展规律和认知特点,使实施少儿编程教育成为可能。

2.国家推动

我国和以美国为代表的西方国家都对信息素养的重要性有着深刻认识,都把编程教育作为信息素养培养的重要途径摆上了重要位置。早在4年美国即成立了计算机科学教师协会(CSTA),7年CSTA对CSTAK-12计算机科学标准进行了修订和[2],目标是使美国学生成为世界上计算密集型受过良好教育的公民,为未来职业做好准备。CS-TA提出的标准包括核心概念和核心实践两部分,其中核心概念侧重于内容领域,包括算法和编程(字母A表示)、计算机系统(字母C表示)、数据和分析(字母D表示)、计算机的影响(字母I表示)、网络和互联网(字母N表示)五个方面。随着人工智能时代的到来,算法和编程、数据和分析等标准的重要性显得愈加凸显。我国从19年起就设立了全国青少年计算机程序设计竞赛,后来发展为全国信息学奥林匹克竞赛,成为青少年五大学科竞赛之一。7年国务院印发的《新一代人工智能发展规划》指出,0年前后中国人工智能人才缺口将超过0万,在未来编程将成为孩子必备的基本技能,并提出中小学校要逐步推广编程教育。8年1月教育部将编程语言、算法等划入高中新课标,同年教育部的《教育信息化2.0行动计划》强调,要提高中小学生和教师的信息技术素养。浙江省落实步伐最快,在8年出台的信息技术课程改革方案中将编程语言Python列为信息技术高考内容,尽管此时的信息技术课程为“3+3”选考课程,但从中却可见教育主管部门对编程教育的日益重视。

3.社会响应

顺应时代要求,响应国家需要,编程教育得以蓬勃发展,并且形成了两种主流模式:一种是英美等国模式,把编程当作单独的学科来进行教育教学;另一种是芬兰、新加坡等国模式,以学科融合的方式进行编程教育。不仅面向大中学生,少儿编程教育也得到了很大的发展。美国著名数据统计公司HackerRank在8年的《7年开发技能报告》就对全球各个国家5—岁少儿编程教育渗透率做了数据统计,具体结果如图1所示。从图1数据来看,少儿编程教育在世界代表性国家中得到了很大发展,但也呈现出不均衡的特点,信息技术发达国家的少儿编程教育渗透率较高,以美国为最,达到了惊人的44.8%,我国少儿编程教育还处于起步阶段,渗透率仅为0.96%,仍具有极大的发展空间。与英美等国模式不同,我国少儿编程教育表现为社会培训机构感知敏锐、行动迅速,而中小学校则认识不足、动作缓慢。经过一段时期的实践,有的培训机构所开展的少儿编程教育课程已初成体系,具备了较大的应用价值。比如傲梦编程根据美国CS-TAK-12课程标准,针对中国6—18岁的孩子制定了阶梯式在线少儿编程课程体系[3](如图2所示),为少儿编程教育的实施进行了有益探索。

二、少儿编程教育的教育学思考

以教育学视角观照,实施少儿编程教育具备受众智能基础,主要价值在于发展少儿编程思维,且与少儿其他素养发展并行不悖。

1.少儿学习编程具备智能基础

人的智能包含多个方面,呈现为多元结构。美国著名心理学家和教育学家加德纳(H.Gardner)19年通过《智能的结构》一书首先系统地提出了多元智能理论(theoryofmultipleintelligences,简称MI理论),指出人的智能包括言语语言智能、数理逻辑智能、视觉空间智能、自然观察智能、音乐韵律智能、身体运动智能、人际沟通智能、自我认识智能等八种智能。不同年龄段儿童的多元智能发展程度不同,但4—5岁左右的幼儿在语言智能上已经能够描述事物的特征、细节和以往的经验;在视觉空间智能上能进行色彩分类,正确掌握半圆形、梯形等,并有创意性地运用形状;在数理逻辑智能上能认读数字并依两个指定条件将物品分类,会运用规律解决问题;在自然认知智能上能理解自然实验的意义,会把同类事物进行归纳等,这些都为少儿编程的学习提供了智力基础。美国学者(Kazakoff等,20;Sulli-van和Bers,6)研究指出,4岁左右的儿童能够掌握排序、并行编程、循环过程和条件语句等基本概念,而这些概念都是计算思维的核心概念,这些研究表明少儿具备学习编程的智能基础。

2.少儿编程教育的价值是发展儿童编程思维

编程教育符合以儿童发展为中心的学生观、以生活实际为内容的课程观、以解决问题为方法的教学观[4],具有重要的教育学意义。但对不同年龄段的学生而言,实施编程教育的价值取向并不完全相同。就少儿编程而言,其根本目的并不在于系统学习编程语言、方法技巧甚至是问题解决本身,而在于通过编程实践过程来发展儿童的编程思维。Logo语言之父、建构主义学习理论的提出者派珀特(Sey-mourPapert)就指出,让孩子对电脑编程,而不是让电脑对孩子编程。编程思维也称计算思维(compu-tationalthinking),是指包含了问题表达及由计算机执行的一套解决问题的方法[4]。编程思维并不是计算机的思维,而永远是人的思维,能够帮助人们理清思维过程,忽略问题细节,抽象定义问题,通过筛选信息、制定策略、处理数据而最终解决问题。如前文所言,编程思维是未来智能素养的核心构成要素,实施少儿编程教育能够帮助孩子理清逻辑过程、理解问题,学会正确采取策略、科学设计路径,从而提高解决问题的能力。

3.实施少儿编程教育不影响少儿其他素养发展

有研究者认为,儿童世界中非逻辑比逻辑更重要、想象力比程式化更重要。这种观点本身没有错,但以此否定少儿编程教育,有“以并非对立的两个概念中的一方来否定另一方”的方法论局限,存在逻辑上的不足。事实上,少儿学习编程并非儿童生活世界的全部,他们的各项智能要素都在各自多彩的生活中得到发展。编程学习只是儿童生活“之一”的活动,少儿不会因为学习了编程而制约编程思维之外其他智能要素的发展,相反对少儿的认知能力有积极促进作用。东北师范大学博士生导师姜强等(0)通过实验研究指出,“编程作为培养高阶思维与计算思维的有效载体,对促进学生的认知发展、协作和自主学习有明显效力”,“研究发现,在可视化编程活动中,学生认知与计算思维的发展是相互映射的,且其发展方向具有一致性”,“多给学生提供锻炼高阶思维的编程实践活动,遵循认知水平和计算思维发展规律设计任务,才能实现利用编程进行计算思维培养的价值最大化”[5]。因此,实施少儿编程教育具有教育学理论基础,如何科学组织实施有待深入研究和实践。

三、少儿编程教育的实施路径

少儿编程教育已经具有了较为广泛的社会实践,但从广度和深度上看还处于初级阶段,无论是少儿编程教育自身还是有关管理乃至标准建设,都有待深入探索和实践。

1.加强教师队伍建设

我国少儿编程教育还处于起步阶段,无论是观念认识还是师资建设,与国外一些国家相比都存在较大差距,难以适应时展需要。当前,中小学校基本上没有配备专业的编程教师,主要依靠信息技术教师开展计算机科学知识教育,有的学校甚至连专业的信息技术教师都缺乏,只是由其他学科教师兼带施教,信息技术教学质量难以保证,遑论编程教育。有计划地逐步配备编程教师是抓当前、利长远的一项迫切任务,需要教育主管部门以前瞻思维积极落实《教育信息化2.0行动计划》要求,把中小学甚至学前教育编程教师配置摆上重要日程,大力加以推进。要分层次加强信息技术教师和编程教师队伍编程教育培训,引导教师队伍树立科学的编程教育观念,深入研究少儿智能特征和学习特点,提高分层实施编程教育的能力,避免采用面向青少年学生的教学方法而实施少儿编程教育,导致少儿编程学习无趣、无效,打击少儿学习编程的热情。此外,支持社会机构开展少儿编程教育是弥补学校不足的可行途径,应加强监督管理和培训引导,积极发挥校外编程教育机构的师资优势、资源优势,实现校内校外、线上线下协同发展,更好地满足少儿编程教育的时代要求和社会需求。

2.开发少儿编程教育课程

合适的课程是实施少儿编程教育的关键载体。少儿编程教育课程开发要围绕少儿编程教育的目的、根据少儿身心发展规律和学习特点来进行,主要考虑两个方面:一是编程语言的选择。计算机语言技术发展到今天,面向少年儿童的编程语言已经有很多,且各有侧重和优点。但少儿学习编程不是为了学习编程语言本身,而是以此为工具通过一定的教学活动发展编程思维能力,对编程语言只需掌握基本功能和操作即可。不同年龄段少儿具有不同的认知特点,应当选择适合当下年龄段儿童的语言进行编程教学。有作者根据自身实践和经验提出了各年龄段少儿学习编程的语言选择,建议4—7岁儿童学习scratchJr,7—12岁儿童学习scratch2.0离线版,岁以上少儿学习Python[6],这样比较科学合理。二是教材开发或内容组织。为促进以编程思维为核心的多元智能发展,激发和保持儿童编程学习兴趣,少儿编程教材或教学内容要体现游戏性、趣味性,让孩子在活动中发现问题、选择策略、发展思维。可以采用STEAM教育理念,依托绘本故事创建角色并以其经历为主线,围绕不同事件将科学、技术、工程、艺术、数学等内容融入项目程序,绘本故事力求与真实生活相结合,形成故事系列,体现课程内容的系统化和生活化,孩子既可以学到生活常识,感知情感、音乐、真善美等,也可以自然而然地了解编程工具,感受编程逻辑。此外,每一节内容应项目化,无需在乎是否运用了编程语言的同一功能,项目化的教学内容会让孩子在短时间内获得成功,赢得成功和得到认同更能激发少儿的编程学习兴趣,从而提升学习效果。

3.健全少儿编程教学场所

学习编程计划范文第2篇

论文摘要:现存的非计算机专业编程语言的教学弊端种种,本文提出了一种新的思路。即:使用VBScript语言在记事本中编写程序,在IE浏览器环境下来运行之,且通过实例论证该方法的实用性,使其真正为每个用户服务。

0引言

说起我国非计算机专业编程语言教学的走向,就不得不提到我国高等学校计算机基础教育发展的历史。我国的计算机基础教育始于20世纪80年代初期,从80年代初以来,高校的计算机基础教育大致上经历了三个发展阶段:80年代是起步阶段,90年代是规范阶段,进入21世纪,开始了第三阶段,即深化提高阶段。

计算机基础教育是指面向大学中非计算机专业学生的计算机教育,这部分学生约占全体大学生的95%以上。非计算机专业中进行计算机教育的目的是培养大批能使用计算机的人才,而不同于计算机专业的培养计划,可以说他们是计算机应用人才,学习计算机的目的完全为了应用,计算机只是作为一种现代工具来掌握,而不能当做纯理论的课程来学习。明确了这个培养目标,那就可以有的放矢。

目前各高校非计算机专业编程语言教学的现状是:学时是有限的,学习内容是繁杂的,由此对学生产生的学习压力不仅苦不堪言,而现实更是多数非计算机专业的学生在毕业后,对于大学期间学习的编程语言大部分是忘记,若想拾起来重新使用,也不是一件易事。如何解决非计算机专业编程语言教学和实际使用二者之间存在的矛盾这个问题,是我们每个从事高等计算机基础教育的老师不得不思考的问题。

1非计算机专业编程语言教学的现状

对于现存的高等院校非计算机专业编程语言教学的弊端,我们做以下几点分析说明:

(1)非计算机专业编程语言教学培养目标定位有误

对于非计算机专业学生进行的编程语言教学,应与计算机专业的学生有所不同。计算机专业培养的是计算机专门人才,将来从事信息技术理论研究、科研教学、系统开发等专业性的工作,而在非计算机专业中进行编程语言教学的目的是培养大批能使用计算机的新型人才,他们需要达到的程度仅仅是使用计算机这个工具。作为高等院校非计算机专业编程语言教学计划的制定者,对于专业和非专业要达到的目标一定要明确,否则有可能南辕北辙。

(2)非计算机专业的编程语言教学设置好大喜功

经过作者在国内各大高校做的调查,几乎各大高校对于非计算机专业编程语言教学一般从大学一年级就开始,陆续开有VB、C、FoxPro、SQL、C++、PB、Delphi、Java等,有的院校在高年级非计算机专业还开有计算机编程语言课程,美名其曰:多学点东西,增加就业砝码。

诚然多学点东西是不会有什么害处,但是不知道说这个话的人有没有想过:对于非计算机专业的学生来说,能有多少比例的学生在真正学这些开设的计算机编程语言课程,更多的恐怕是在各种考试之间疲于应付。当大家手捧毕业证书的时候,手拿四年所修的学分成绩单的时候,当大家面试应聘的时候,留在大家脑海中的计算机编程语言可能屈指可数,可以炫耀的可能仅仅是修过的计算机课程的数量。

作为从事高等教育的老师,我们不能为了这些表面的假象自欺欺人。如何在有限的学时内进行优化选择,使学生学到最需要的知识。当然不仅是指当前最需要,而且也包括今后踏上工作岗位,对于需要用到的计算机编程语言知识的时候也可以信手拈来,不用再重新学过。因此,对于非计算机专业的学生,我们应该敢于摒弃学习那些当前为了考试,今后根本用不多,仅仅是为了增加学分的计算机编程课程。

(3)系统本身庞大,掌握的知识有限,学不能使其精

对于现存的计算机程序设计的任何一门语言,如VB、VisualFox、SQL等,系统都是很庞大的。以一个简单的例子,VB为例来说明,VB采用的事件驱动的编程机制,提供了动态数据交换(DDE)和对象链接与嵌入(OLE)等技术。在数据库方面,VB具有很强的数据库管理功能,不仅可以管理MSAccess格式的数据库,还能访问其他外部数据库,如FoxPro、Paradox等格式的数据库。另外,VB还提供了开放式数据连接(ODBC)功能。

对于VB强大功能,我相信学过VB的用户,都是普遍承认的,这个不需要多说,但是对于这么大的一个系统,如何能通过简简单单的几个学时就能够完全掌握呢?即使说你上课的时候多么专心地听讲,多么用功地做笔记,都是无济于事的,非要通过系统地做上几个项目才能掌握一二,更不要说是对于仅仅是通过教材上的几个简单例子学习的学生了,这几乎是不太可能的事情。那么有没有学习起来比较容易上手的工具了,答案是肯定的。

(4)快速记忆,快速忘记

在高等院校里不排除有些用功的学生,学习每门功课都是用功之极,当然也不排除用功是为了在考试中拿个高分,争取奖学金的可能性存在。一个学期,说的更多一点一年对一门语言的学习,在短时间之内掌握某一项技能之后,一旦长时间不使用,肯定会生疏,这是人类不能抗拒的生理现象。而且目前高校里的学生学习的现状是:平时基本不看,考前拼命熬夜苦读,这种短时间内强迫大脑记忆的东西,肯定是经不起时间的考验的,尤其是在一个人不愿意学习这门功课的时候,这是自然规律。

假设你当时学会了VB,而且在大学毕业参加工作的时候也没有忘记,是不是说你就能很好地做自己的事情了呢?答案也是否定的,因为你掌握的是VB,而在工作单位的PC机上或许并没有安装VB的运行环境,这样是不是就为你的使用又出了一道难题。

有没有一劳永逸的工具,只需要简单的学习,而且不论在安装或者未安装VB运行环境的PC机上都能很好的完成自己想做的工作。通过作者亲身实践,本文中提倡的这个方法就可以达到这样的功效。

(5)支持知识产权保护

如何做才能既使用正版,又不卷入知识产权的纠纷中呢,这里我们提倡在高校中推广,使用VBScript脚本语言在记事本环境下编程,在IE浏览器中运行,就可以达到这样双重效果。

(6)程序交流困难

一个用户编写的程序如果仅仅是自己使用,这个时候程序的使用有一定的局限性,如果能够拿出去跟别的用户交流,就具有了更大的价值。假设有两个用户A和B,A在VB环境下编写了一段程序,在自己的机器上可以正常运行,当A把这段程序拷贝到B的机器上和B交流的时候,B机器上恰好没有安装VB环境,此时对于二者的交流可能存在障碍。

针对上述,我国高校计算机基础教育体制中存在的诸多问题,作者提出了一种新的思路。

对于一台安装了操作系统(WindowsXP、Windows2000Professional、WindowsME、Win98等)的PC机来说,拥有IE浏览器和记事本是再简单不过的事情,作者推荐给大家的就是使用VBScript语言来完成自己想要做的工作。下面我们通过例子来做进一步的说明,以此来演示如何更好的结合二者,使之发挥作用。

在数学或工程应用中,常常存在着大量的数值计算和数值分析问题,如:复合梯形公式、复合Simpson公式、Romberg求积公式等。通过编写简单的程序,就可以让计算机代替人类来做一些复杂的计算任务,在这里以数值计算中一个常见的问题来说明一下如何使用提倡的方法完成计算任务,这里以复合Simpson公式的计算为例。程序是通过输入给定的三个初始值:a、b和n,如图1所示。图2程序源代码

从上述源代码中可以看出:第一,VBScript使用的仅仅是VB中简单的程序设计思想的三种结构:顺序、选择和循环,不涉及复杂的结构,对于非计算机专业的用户来说是非常容易的事情。第二,在程序开始写了一个自定义的函数,在后面对该函数进行了调用,可以达到程序复用的作用。(2)将该文件保存为一个html格式的文件,如:a.html。

(3)运行该程序只需要双击该文件图标就可以在IE浏览器环境下运行,在指定的文本框中输入符合计算要求的数据点击确定就可以得到计算的结果,如图3和图4所示。

图4运行结果

3小结

通过上述例子我们可以得出以下结论:

(1)在记事本环境下,仅仅使用了一些简单的VBScript脚本语句就可以完成复杂的数值计算任务。VBScript是介于HTML语言和VisualBasic、Java等高级语言之间的一种脚本语言,它接近于高级语言的大部分功能,但却比高级语言简单易学。

(2)在运行该程序时,不像其他的程序设计语言需要经过编译或解释等步骤,以此来生成目标文件、连接文件以及可执行文件等,使用VBScript在记事本中编写的程序需要做的工作仅仅是双击该文件名,而不会生成其他的中间文件,这样就大大节省了系统的存储空间。

(3)在运行该程序时,对运行环境没有提出特别的要求,仅仅是需要一个IE浏览器。这对于拥有一台PC机的用户是轻而易举的事情。

(4)当你还在费尽心思考虑程序的在多台机器之间传递的时候,使用在此提倡的方法无需有这方面的顾虑。对于在任何一台PC机上编写的.html文件,你可以轻松在多台机器上拷贝和运行,而无需进行额外的路径配置等工作。

当然,我们提倡的这种方法并不是十全十美,如:对于需要大量使用界面图形来处理的问题,或者需要使用数据库的问题,该方法就有所欠缺,但是该方法对于仅仅是为了自己方便,进行一些数据处理来说,是再合适不过的了。

全社会的计算机普及高潮,为大学的非计算机编程教育创造了良好的氛围和外部环境,使广大非专业人员学习和使用计算机编程语言变得更加容易,如何使学有所用,使高等教育成为社会发展的推动力量,是高校非计算机专业编程教学面临的严重的挑战,这也是本文的初衷。

参考文献:

[1]施吉林,刘淑珍,陈桂芝.计算机数值方法[M].高等教育出版社.

学习编程计划范文第3篇

内容单一无趣,教学过程中使用的教材案例是刻板的案例,不仅约束了学生的创新思维,学生不能够按照自己的方法和观点参与课堂互动,而且C语言教学的效果也大打折扣,所以教学过程中案例的选择非常重要。由于学生C语言编程课程的基础参差不齐,有些学生对C语言抽象思维的理解非常困难,更不要说进行独立的编写程序。这同时也给老师的教学带来了困难,现阶段的C语言教学基本上是老师占用整个课堂时间进行讲解,时间紧迫,与学生的几乎没有互动,导致学生容易走进学习的误区。老师在课堂上比较注重单一知识点的讲解,没有把知识和现实运用相结合,应该把教材中的知识点和平常应用结合起来。然而在过去到现在的教学中,老师往往把重点放在了两种表达形式的不同上,而忽略了两个表达式相同的本质意义。这样的教学方式就造成了学生对知识点非常的了解,但是就是无从下手进行程序设计。实践环节的重视力度不够,C语言课程是一门技术类课程,在我们以后的工作,生活中的应用非常广泛,我们学习C语言是为了解决实际生活中的问题,最终的目的就是要回熟练的应用C语言进行编程。目前的教学过程中,我们更加侧重的帮助学生面对考试,其实,我们更应该加强学生编写程序能力的培养。忽略了应该加强培养学生的动手编程能力,导致学生会说不会做的尬尴局面。

二、C语言课程新的教学方案设计

(一)教学内容的重组首先,我们要选择一本适合大部分学生的基础的教材,该教材不是呆板木讷的传统教科书,我们应该选取生动形象的教学材料,结合多媒体教学手段,激发广大学生的学习热情,提高C语言课程教学的质量。老师要明确C语言与后续课程之间的关系,从而制定本课程的教学计划,另外,要根据社会需求对教学内容进行删除和增加,在课堂教学过程中还有在教学计划的基础上对内容进行微调。一个对教学内容重新确定,把知识的讲解和实际编程相结合,以及进行一些有趣的竞赛或者互动,这样可以加深学生对C语言的理解,提高教学质量,并且激发学生的学习积极性。

(二)教学过程的设计在本科教学中,C课程语言的教学大多开设在大一,学生基础普遍薄弱,没有系统的只是结构,所以教学过程的设计至关重要。首先要激发学生的学习热情,和对未知的好奇心,大部分学生在学习一门课程之前,大脑中都会闪现这样一个念头,学习这门课程对我有什么好处,老师在第一堂课时,应该直接明了的告诉学生学好C语言的好处,比如就业市场上对软件人才的需求缺口比较大,学好C语言可以增加就业的砝码,而且C语言是很多理工科专业的基础课程,在以后还会学习很多后续课程,在教学过程中,我们还有加强与学生的互动,及时的为学生答疑解惑。C语言的教学过程是一个由浅入深,循循渐进的过程,教学过程中应该从简单的语法学习入手,慢慢的积累知识,直到能自己独立的编写程序为止。

(三)C语言教学中学生和老师联系目前的C语言教学中,比较普遍的是课堂学习和上机操作相结合的教学方式,特别是在课堂教学中,呈现的是老师滔滔不绝的讲,学生麻木不仁的听的刻板画面,老师与学生之间的互动性差,缺乏有效的沟通和交流。而作为本科学生的第一门编写程序的基础课程,学生在学习中难免会遇到很多困难,有的学生上着上着就走神,或者就产生了放弃学习的心里。另外,在上机实验部分,老师要求学生进行的实践往往是老师课堂上讲过或者是指定的某些课后习题,学生往往很容易就能找到答案,导致学生遇到困难就放弃,寻找答案,无法培养学生刻苦钻研,独立解决问题的能力。首先可以通过案例带动教学,我们可以从简单的案例入手,再到一般的案例,最后到综合应用案例。其次,在课堂教学中,可以进行小组讨论加强团队合作,鼓励学生多提问题,这种教学方法提高了学生的团队合作精神,提高了学生协作解决问题的能力,在发现问题并和同学的讨论中,不但可以相互帮助解决问题,还增强了对概念的理解。还应该鼓励学生在课堂之余自学以扩展知识面,在未来的教学过程中应该采用多媒体投影和现在的板书模式相结合的教学手段。缺点是每页幻灯片包含的内容有限,不便于学生对前后两页幻灯片知识的联系,还有就是幻灯片变换速度快,基础差的同学跟不上老师的思路,而传统的黑板粉笔模式教学方法可以很好的弥补多媒体教学的这个缺点,所以把二种教学方法结合起来会达到意想不到的教学效果。在上机操作调试的过程中,尤其应该注意学生创新和思考能力,最终获得自己动手解决问题的能力。实践环节应该以巩固知识点为主线,结合趣味性和实用性,以循序渐进的任务驱动方式,达到提高自主编程能力的目的。

(四)新的成绩考核制度除了在期末考试进行理论的考核外,还应该注意实际编程能力的考核,建立并执行创新鼓励加分制度,对那些在课堂勇于探讨问题,在编写程序过程中创新做得比较好的学生加分。提高C语言教学效果还应该注意在教学过程中相互间的探讨,在教学过程中以提高学生的编程能力为中心,让学生明白C语言课程的重要作用。这些方法使学生编写程序的能力,上机调试程序的能力和编程习惯得到有效的改善,显著的提高了C语言的教学质量。

三、结论

学习编程计划范文第4篇

一、课程安排探讨

1各高校相关课程介绍

对于电气专业本科的计算机编程教学,各高校的课程安排不尽相同。表1是国内电气学科知名院校及武汉大学电气本科教学中计算机编程相关课程(资料来源于互联网)。由表1可以看出,国内电气学科TOP3高校(以教育部2017学科评估结果为准)和武汉大学在电气本科教学计算机编程相关课程上大部分课程内容相同,分别是计算机程序设计基础(C语言程序设计)、微机原理与接口、单片机(嵌入式)开发。其中华中科技大学和清华大学安排了面向对象程序设计。这4所高校中,以华中科技大学电气本科专业的计算机编程课程最为深入全面。

2课程探讨

(1)计算机程序设计基础

“计算机程序设计基础”对于工科非计算机专业的学生,是大学一年级必选课程,属于通识教育类。本课程的教学目的是培养学生利用计算机处理问题的思维方式和程序设计的基本方法,是其他专业课的基础。通常在教学中,以C语言作为编程语言,讲授C语言的基本语法的同时,适当介绍数据结构中的初级内容,如链表、排序、遍历等。此外,还培养学生熟悉编译调试等基本技能。鉴于本课程是面向新入学的大一新生,其计算机编程技能基本为空白,因此,笔者认为,对于电气专业的本科生,本门课程采用C语言教学是恰当的,C语言的经典性这里不再重复,本课程笔者不建议采用面向对象程序设计(C++)来讲述,其原因见下节分析。

(2)面向对象程序设计

“面向对象程序设计”课程清华大学电气学科作为选修课,华中科技大学电气学科作为大一的必修课,成为“计算机程序设计基础”的替代课。面向对象程序设计思想在现代程序设计中使用很广泛,使用面向对象程序设计开发的应用,代码简练,可维护性好,开发效率高。面向对象程序设计(C++)和传统的面向过程的结构化程序设计(C)区别很大。尽管有人认为C++是C的扩展,其实C++从编程方式到代码风格都与C语言大相径庭。在面向对象程序设计(C++编程)中,不仅需要考虑算法设计,还需要考虑数据封装、类型,更需要考虑的是诸如:对象粒度的选择、对象接口的设计和继承、组合与继承的使用、C++的标准库使用(如STL编程)等等问题。而这些问题,对于非计算机专业的学生,学习难度太大,只有经过大量的编程实践而丰富经验的程序员对此才会有深刻的理解和正确的运用。尽管C++的创始人Stroustrup提倡不要先学C,而是直接学C++。然而,对于非计算机专业的本科生,本课程学时有限,大多数学生对于计算机编程是零基础,并且C++内容太多,难度大,因此,如上节所示,笔者建议,对于电气专业的大一新生,在计算机程序设计基础这门课程中,以C语言为编程语言教学为佳。面向对象设计的思想不仅是一种用于编程中的软件设计方法,而且是一种工程化规范。面向对象设计模式解决的是类的构建以及对象之间相互通信的组织关系,包括它们的角色、职责、协作方式等方面。比如,目前广泛使用的智能变电站就是以IEC61850标准体系为基础的,而IEC61850标准的核心思想和基石就是对电气物理设备进行抽象和面向对象建模,定义对象之间通信接口规范。通过上述探讨,本文认为,可以考虑将“面向对象程序设计(C++)”课程列为本科电气专业的后续选修课程。

(3)微机原理及接口、单片机开发、嵌入式系统

“微机原理及接口”是一门重要的专业基础课程,是学生学习掌握计算机硬件的入门课。课程的目的是帮助学生掌握微型计算机的硬件组成及使用;学会运用汇编语言进行程序设计;具备初步的开发软、硬件的能力,为学习其他专业知识及从事工程技术工作和科学研究工作打下初步基础。此课程以Intel8086系列(8086-80586)CPU架构为核心,结合汇编语言编程,讲述了中断、I/O、存储、并行/串行通信、AD/DA的基本原理。从表1可以看出,清华大学、西安交通大学、武汉大学三校的电气专业都将此课程作为必修课程。华中科技大学也将此课程作为“二选一”选修课程。“单片机开发”Top3校都作为电气学科选修课程。该课程主要讲述MCS-51系列单片机及其指令系统、单片机的I/O扩展及应用、单片机的定时与中断系统及单片机的程序设计等内容,通过学习使学生基本掌握单片机的硬件构成、软件组成及一般的程序设计技巧。编程通常以汇编语言为例讲述,当然,也可采用C语言讲述。事实上,“单片机开发”课程的大部分基本概念和“微机原理及接口”课程重叠,二者的汇编程序开发也有异曲同工之处,因此,建议将该课程和单片机开发作为“二选一”选修课程。“嵌入式系统开发”在西安交通大学和武汉大学的电气学科均作为选修课开设。该课程主要讲述ARM系列平台架构和Linux系统下的软硬件系统开发,通常以C语言讲述。在目前的实际硬件开发应用中,使用ARM系列平台相对于单片机更为常见,适用性也更加广泛。因此,对于这三门课,建议“微机原理及应用”和“单片机开发”,作为二选一课程,“嵌入式系统开发”作为选修课程。

(4)数据结构

“数据结构”作为计算机学科的核心主干课程,主要讨论各种数据组织中数的逻辑结构、存储结构以及有关操作的算法。其中一部分基础知识如串、链表、排序、遍历等在“计算机程序设计基础”课程中已有讲述。对于电气专业的本科生而言,掌握“计算机程序设计基础”中讲述的相关数据结构知识即满足本专业的程序开发设计,鉴于电气学科计算机课程的课程数目及课时有限,“数据结构”课程可以不考虑作为电气学科的选修课。

(5)Matlab编程及仿真

该课程主要讲述Matlab建模仿真基础,主要有m语言编程、Simulink建模。Matlab具有强大的科学计算和可视化功能,编程效率高、易学易懂。其开放式可扩展环境,特别是所附带的三十多种面向不同领域的工具箱支持,使得它在许多科学领域成为计算机辅助设计和分析、算法研究和应用开发的基本工具和首选平台。对于电气学科的学生,无论是本科生还是硕博生,Matlab平台是做仿真的入门工具和第一选择。在本科阶段很多主干课程,如自动控制、信号与系统、数字信号处理、电机学、电力系统分析等,以及后续的本科毕业设计和硕博阶段的学习,都要大量使用Matlab建模仿真。因此,笔者认为,对于电气学科的本科生,“Matlab编程及仿真”这门课程的开设非常必要,可以作为选修课、甚至作为必修课。

二、计算机编程课程开设及教学重点

结合前面的分析,考虑到电气学科的专业课程较多、学时有限,笔者推荐如表2所列的计算机编程类课程组合。在大一阶段,建议“计算机程序设计基础”以C语言为编程语言教学,这门课是电气专业本科生接触到的第一门编程课程,是后续专业课的基础。在这门课的授课过程中,笔者认为不必将重点过多集中在琐碎的语法上,更重要的是让学生培养起良好的编程习惯,掌握编程的基本技能,比如变量的命名、全局变量、局部变量的安排,多模块的组织、程序的调试技巧等。在大二阶段,可以安排“微机原理与接口”“单片机原理及应用”(2选1)以及“Matlab和系统仿真”(选修)三门课程。在“微机原理与接口”“单片机开发”这两门课的教学中,不必过多强调汇编编程,重点要放在对基本概念的理解,如中断、I/O等。在“Matlab和系统仿真”授课中,要讲清Matlab编程和C语言编程的区别,让学生尽快从熟悉的C语言过渡到Matlab。对于电气专业的学生,可在仿真上结合电气专业的特点,针对性地讲述电气相关理论仿真建模方法。大三(下)或大四(上)可以开设“嵌入式系统开发”作为选修课。让学生掌握ARM平台的架构,熟悉Linux平台开发环境,在课堂或者课后要求学生设计具体的硬件开发案例。

三、结语

学习编程计划范文第5篇

关键词:计算机软件类;人才培养;核心能力;能力培养

根据国家统计局9年统计数据,当年我国信息传输、计算机服务和软件开发等行业就业人员5万人,其中,%左右从事计算机软件相关行业,如软件系统销售、软件系统使用培训,甚至软件公司的内部服务,其工作实质上并非软件开发;15%左右从事软件系统的后期测试、代码维护等工作;只有不到5%从事专业的软件开发①。软件技术专业核心能力就是软件开发,也就是说,软件技术专业的首要培养目标就软件工程师。软件工程师具有独立的软件设计开发能力,能够独立完成一款软件或其中某个功能模块的设计开发工作[1]()。软件开发工程师需要具备以下核心能力:软件项目管理能力、面向对象的程序设计能力、软件测试能力、数据库应用技术开发能力、实际项目开发能力等。软件开发工程师是我国目前急缺的一类人才,但目前这类人才培养存在短板。本文拟从一线教师的视角,谈一谈如何提升我国计算机软件类人才核心能力培养的质量和水平。

一、我国计算机软件人才培养存在的缺陷

大多数普通高等学校的人才培养中,计算机专业人才的培养与社会的发展是不相适应的。一方面,社会急需大量的计算机人才,另一方面,高校计算机专业培养出来的学生,并不能适应岗位的需求,不能适应社会的发展。调查表明,当前企业中既有通用的软件、工具,也有根据自身特殊的专业需求和技术要求定制的操作平台。而大多数高校的计算机专业,其培养目标比较宽泛,针对性不强,只是提出了“培养应用型创新人才”之类的目标,实际进行课程设置时,却没有根据具体的市场需求进行细化培养方向和目标。这样就使人才培养与市场需求相脱节,不能实现有效的对接。这也是造成学生就业难,就业后适应不了工作需要的主要问题之一。

(一)课程结构不完整

任何专业、行业都有自己的知识体系,反映在学校教育上就是培养不同专业、行业的人才就需要设置相应的课程体系。在现代,学科高度分化、专业化、专门化,而实际工作能力却需要多学科知识理论的支撑。高校培养计算机软件类人才不能与短期培训一样,只重视当前流行的语言编程能力的培养,不应简单强调开设与编程能力直接对应的课程,而应当构建以培养编程能力为核心的课程体系。但不少高校为了使学生快速掌握编程能力,在尚未开设计算机程序设计课程的相关前导课程时,第一学期就开设计算机程序设计课程,而英语、数学、软件工程、计算机网络等课程往往是分不开的,这就将计算机软件编程置于悬空孤立的境地[2](68)。这样做实际上是欲速则不达:计算机学科是从美国发展起来的,计算机编程语言通常都是英语,没有一定的计算机英语基础,连简单的计算机命令都写不出来,简单的变量也无法规范命名,大量本是自己命名的变量自己也很难弄清其含义。数学是逻辑思维的代名词,没有一定的数学知识和数学思维能力,就无法编制计算机程序,至多不过是大量命令的堆积,很难编制出具有实际应用价值的程序。软件工程课程主要介绍软件开发的基本思路、方式和方法,为编程提供理论指导,没有理论指导,程序设计就是盲目的,工作效率低下。而成熟的软件产品是要在网络平台上运行的,没有基本的网络知识,就难以设计出适应网络环境的软件产品。总之,课程体系不完整导致学生相关知识体系不完整,严重影响计算机软件类人才的培养质量,导致毕业生实际工作能力不足,发展后劲不足。

(二)能力培养不扎实

在我们的计算机软件人才培养过程中,只注重了计算机软件编程知识的学习,并没有去注重计算机软件程序设计能力的培养,包括对要解决的问题进行需求分析、解决问题的方案分析和设计、不可预期问题的处理等等,不能设计出一个巧妙的解决方案,就不可能成为我们所说的真正的软件工程师。培养计算机专业人才的实践能力,需要从课程实验课程设计到毕业设计,最后到专业实习,一步步地不断的积累经验,一点点地提升他们的实践能力。在日常的计算机教学中,就可以采用实例教学的方法,经常性地设置一些小的、合理的实践情境,可以给学生提供更多的学习机会,更快更好地培养他们解决实际问题的能力和创新能力,同时也可以激发学生的学习兴趣,让他们更加喜欢这个专业,进行主动的学习。

(三)教学脱离实际

教学理论向教学实践转化,回到实践、指导实践、接受实践检验、修正和进一步发展等等活动过程,其实就是我们近年来热烈讨论和实行的教学改革实验,同时也就是教学模式的生成过程。只不过我们一些同志一方面兴高采烈地赞赏和参与教学实验,一方面却又在那里消极议论:教学理论脱离实际。而没有把这两件事情联系起来,没有意识到:教学实验的兴起和教学模式研究的开展,正在切实地解决教学理论脱离实际的问题。国内外任何一个教学实验,无不体现了理论向实践转化和进一步发展的过程。例如,规模很大的自学辅导实验,就是根据教师指导学生学习书本知识的理论,学生应该作为教学主体的理论,学生学习具有个别差异的理论等,第一步提出教会学生自己读书以达到培养自学能力和提高教学质量的目的。第二步设计特殊教材或自学提纲、课的类型、教学方法,以及教师和学生活动的安排。第三步付诸实施。最后,对学生学业成绩和能力进行分析评定。这样,有关的教学理论不仅转化为实际活动,指导教学获得实际效果,而且生成了自学辅导教学模式。

二、强化计算机软件人才核心能力培养的设想

计算机程序设计由两部分构成:基于某种编程语言的语法+算法。语法是基础,是基于某种编程语言的书写规则,按照既定的规则进行书写才能不被认为是错误的。算法是灵魂,是指一个问题的完成解决方案,包括对问题的分析、解决方案的设计、问题的解决处理,是解决一个问题的方方面面,和具体的编程语言没有必然的联系,重要的是体现分析和解决问题的能力。

(一)完善课程结构

在学校三年内的任何学期,学生都可以选择修习选修系列中的基础类、实用类、拓展类、第二外国语类等课程,以丰富学习内容,拓展学习领域,发展学习兴趣。成绩优秀且学有余力的学生,可提前完成必修课程和选择性必修课程,获得参加考试的资格。基础相对薄弱的学生,可以统筹规划学校三年内必修和选修课程的课时和学分,适当延长必修的时间,也可以通过修习选修课程系列中的基础类课程补习英语基础知识和基本技能,确保达到毕业要求。在完成必修课程后,有升学愿望的学生可以在大二和大三年级继续修习选择性课程,为专升本作准备。学校应根据学生的不同能力水平和学习需要灵活设置和安排英语课程。因此课程设置要站在以学生为中心、以学生为本的基础上,符合学生发展的策略和要求,灵活安排英语课程。教师应指导学生和家长客观评估学生的学习能力,学生应根据其能力和意愿进行选课,并根据考试规定及时间安排,决定何时参加考试。

(二)上好专业基础课,打好理论基础

以软件技术专业为例,专业基础课包括:信息技术、HTML5+CSS3响应式web开发、JavaScript程序设计、图形图像处理、数据结构、Java编程基础、MySQL数据库技术、Python程序设计基础、计算机网络技术。专业基础课主要指上面谈到的知识体系的底层支持,包括编程语言的基本语法和思想。当学生有了牢固的基础知识以后,也会更加容易地突破自己的技术和成长瓶颈。我认为在技术领域里其实是不存在量变可以达到质变这么一说的。量变达到质变也是说只要我努力多写代码就能成为架构师,技术就会有一个质的突破,其实并不是这样的。即使你代码写得再多,如果不懂得背后的技术原理,不懂得科学的学习方法,不进行归纳总结输出,是永远无法达到质变的。所以必须学习和打牢基础理论知识,如果总是只学习一些浮于表面上的东西,当技术形式发生一些变化后,你会发现之前学习的知识已经用不到了,又得重新学习,而在技术世界里变化又是非常快的,所以很多人都迷失在不停的学习技术形式之中,这也是造成一部分人感到焦虑的原因之一。上层的技术实现都是有背后的理论基础作为支撑的,因为这些理论基础都是抽象和归纳,比如不管是Java还是其他的一些开发语言,只要只用TCP/IP协议,用的都是一样的原理,不同的只是技术实现形式上的差异,你只要打牢基础理论知识,抓住本质原理,不管它技术实现形式上如何变化,都能很快掌握它。上好专业技术课,首先要在课堂上重视。专业基础课一般都是低年级开设,所以上课的时候,要以日常化的形式去讲专业的知识,以讲清楚思想为第一目的。课下要布置对应的作业,作业以实践作业为主,难易程度稍高于课堂内容最好。其次,组织阶段性测试,让学生明白自己学习效果,及时查漏补缺,在不断进步的过程中,培养学生学习兴趣。

(三)强化综合实践课教学

以软件技术专业为例,综合实践课包括:An-droid应用开发、Vue.js前端框架技术、SpringBoot框架技术、uni-app项目实战、JavaWeb项目实战。综合实践课程是基于学生的经验,密切联系学生自身生活和社会实际,体现对知识的综合应用的实践性课程,是指人才培养方案中规定的、集中在一段时间进行的计入学分的专业性实践教学活动。加强综合实践是高职高专的特色之一,根据科目制定不同的实践课程,可以是阶段性实践课程,可以是学期学年实践项目,可以是毕业设计等多种形式。根据软件技术专业的特点,普通专业课采用一半理论一半实践,边讲边做的模式。把每个案例细分为多个任务,做出每个任务的详细说明和解决方案,让学生在规定的时间内完成,小的项目可以单人完成,大的项目可以多人以团队协作的方式完成。除此之外,还有专门的实践课,比如项目案例课,项目实战课,比如智慧医疗案例,包括远程探视、远程会诊、自动报警、临床决策、智慧处方等模块,每个模块都可以看成是一个独立的小项目,想完成整个项目需要一个月或者两个月的连续讲解和实践过程。组织学生从组团队开始,完善需求分析,分析功能模块,分析数据存储,实现代码,代码测试与,完成整个流程,充分体现了学生们对知识的综合应用。毕业前的论文答辩课,论文答辩的前期也是老师带少数学生做项目,也就是现代师带徒的形式。一个老师带领两三个学生,或者做企业的实际项目,以实际项目作为毕业论文的基础,或者带学生一起做科研,以高校科研作为学生论文的基础。

(四)因材施教,分类培养

针对不同生源的文化基础和特点,要因材施教。从备教材,到备学生,在具有一定招生规模的专业中实施分类培养。将培养方向分为技术提升型、技术应用型和现代学徒制型。技能提升型以继续提升学历层次培养为主,技能应用型以促进更好就业为目标,现代学徒制是校企合作的模式。每个学生的基础不同,对未来的规划也不同,应该根据学生的特点,为每个学生制定出适合自己的长期计划和短期计划,比如技能提升型,应该加大数学和英语等公共基础课的教学课时和学习难度,尽可能地和专升本考试接轨,和本科的基础要求接轨,帮助学生在专科阶段为升学做好准备。而技能应用型和现代学徒制班,他们未来都是要毕业即就业的,就业就是他们的长期规划,但依然应该根据学生的特点,为他们制定短期目标,比如有些学生逻辑思维不太好,我们可以让他们学习图形图像处理,学习前端设计。有些学生基本功好又勤奋,我们给他制定第一学期,学习好一门面向对象的程序语言,假期开始依托“蓝桥杯”往年赛题,开始研究算法;第二学期根据学生的学期情况,推荐优秀学生参加比赛,还有部分学生达不到竞赛水平的,通过努力学习;第三学期还有机会,争取人人有事做,竞赛常态化。还有一部分学生,年龄小,对自己的未来没有规划,就要多和他们聊想法,观察他们的日常上课情况、作业完成情况,根据初步判断,为这些学生制定一个简单的基本能完成的小任务,让他们在实现一点点计划后,强化兴趣爱好和自信心,后期再跟踪这些孩子的心理想法,随时调整计划。按照“基础扎实、知识面宽、能力强、素质高”的人才培养模式,让学生从入校开始就有明确的目标,根据目标调整自己的学习重点,形成因材施教、分类培养的人才培养模式,在提高教学质量上取得较好的效果。

(五)实施“岗课赛证”融通一体化教学

“岗、课、证、赛”是指结合专业对应岗位设置课程,尤其是专业核心课程的设置,同时将职业资格证书考试课程与专业课程教学相衔接,做到课程与考证相结合,课程与职业资格证书融合,同时以赛促教,以赛促学,提升学生的动手能力与工作岗位的实战能力。有目标才会有学习的动力,才能不断超越自己。通过“岗课赛证”融通一体化教学,给学生更多的选择和更多的目标,使学生明白,学习不仅仅是为了期末考试,更是为了未来走上工作岗位做准备。课程和职业证书深度融合,深化教育教学模式改革,使企业的新技术、新技能及时进入专业教学内容,进一步增强职业教育的适应性。同时职业院校教师要主动提升素质、积极融入实践项目。以移动应用开发专业为例,有如下核心课程:用户体验设计、HTML5+CSS3、Java程序设计、JavaScript程序设计、数据库原理及应用、移动应用开发、Vue.js前端框架技术、SpringBoot框架技术、微信小程序技术、软件测试技术、Android高级开发技术。根据分析,该专业对应岗位有以下几种:移动Web工程师需要以下课程:用户体验设计、HTML5+CSS3、JavaScript程序设计、Vue.js前端框架技术。Android工程师需要以下课程:用户体验设计、Java程序设计、移动应用开发。小程序工程师需要以下课程:用户体验设计、HTML5+CSS3、JavaScript程序设计、Vue.js前端框架技术、微信小程序技术。软件开发工程师需要以下课程:Java程序设计、数据库原理及应用、SpringBoot框架技术、Android高级开发技术。前端工程师需要以下课程:用户体验设计、HTML5+CSS3、JavaScript程序设计、Vue.js前端框架技术、微信小程序技术。软件测试工程师需要课程:软件测试技术。产品经理需要课程:用户体验设计。高职高专认可的比赛有:全国职业院校技能大赛移动应用开发赛项和世界技能大赛移动应用开发赛项,需要以下课程:户体验设计、HTML5+CSS3、Java程序设计、JavaScript程序设计移动应用开发、Vue.js前端框架技术、软件测试技术支持。世界技能大赛商务软件解决方案赛项需要以下课程:用户体验设计、HTML5+CSS3、JavaScript程序设计、Vue.js前端框架技术、Java程序设计、数据库原理及应用、SpringBoot框架技术支持。“挑战杯”和“中国软件杯”大赛需要以下课程:用户体验设计、HTML5+CSS3、JavaScript程序设计、Vue.js前端框架技术、Java程序设计、数据库原理及应用、SpringBoot框架技术支持。和本专业相关的证书有:华为的移动应用开发证书需要课程:移动应用开发和鸿蒙技术。联想的移动互联网应用开发证书需要以下课程:移动应用开发、Android高级开发技术。腾讯的安卓应用开发证书需要以下课程:移动应用开发、Android高级开发技术。东软的JavaWeb应用开发证书需要以下课程:Java程序设计、数据库原理及应用、SpringBoot框架技术。腾讯的微信小程序开发证书需要课程:微信小程序技术。工信部的Web前端开发证书需要以下课程:用户体验设计、HTML5+CSS3、JavaScript程序设计、Vue.js前端框架技术。由于计算机技能大赛的内容大都来自平时课程基础知识,但高于和难于课程基础知识,是对基础知识的灵活运用,所以通过竞赛的选拔,可以带动一大批学生加深对基础知识的理解。同时教师为了掌握竞赛系统,也必须熟悉和掌握大赛系统的规则、题库,因为这些都有助于教学内容的改进、教学方法的更新,真正做到课程为岗位设置,课程为比赛和考证服务,实现“岗课赛证”融通一体化教学。培养计算机软件人才最根本的是要培养学生用程序设计的思维去分析和解决实际问题的能力,使他们能够设计开发出具有实用价值的应用软件。单靠计算机程序设计课程或编程技术课程等与计算机软件人才核心能力直接相关的课程培养不出这种能力,单靠知识理论灌输同样也培养不出这种能力。必须让学生掌握足够的相关知识理论,并通过大量实际训练,有针对性地培养学生的软件项目管理能力、面向对象程序设计能力、软件测试能力、数据库应用技术开发能力、实际项目开发能力等核心能力,才能成为相关行业企业合格的、高质量的计算机软件人才。

参考文献:

[1]周法国,高文超,张帆.面向应用与创新的计算机软件人才培养模式探讨[J].软件导刊(教育技术),7(11).