软件开发基础知识合集12篇

时间:2023-06-25 09:23:07

软件开发基础知识

软件开发基础知识篇1

计算机软件技术的开发和稳定的发展,也能够为社会的发展和信息的进步做出很大的贡献,也能够对经济的发展提供着不可或缺的力量。这也需要更多热衷于计算机软件的开发的人才做出更多的努力与贡献,也需要对计算机软件的开发有着深刻的认识与经验,这才是计算机的软件开发与发展重要的基础,只有不断地努力才能在计算机软件开发的活动中发挥更好更重要的作用,逐渐地深入到人们的日常生活中,也使得计算机更加有利于人们的生活。

1计算机软件开发概述

随着社会经济的不断发展与更新,计算机的技术也在不断发展,虽然发展的历史不长,但是已经取得了明显的进步,都在利用着计算机的有利的效果和一些方面,计算机的开发和更大的进步是现在现在需要解决的问题,软件的开发与进步也是对社会有着不可或缺的力量,目前计算机也大概能按照使用者的需要执行各种需要的任务,是计算机的核心系统CPU将电路分成两种状态通路和不通路,并且和数学中的二进制有效地联合起来并执行使用者给的任务和命令,要想有效地实行使用者也必须采用二进制的方法,这是人机交流方面的一个重大进步,但是计算机也有一些缺陷是我们必须解决的,所以也是亟待解决的问题,然而的计算机研究人员在原来二进制的基础上再进一步地发展了和研发了高级计算机语言,这个方法是通过英语简化语言的方式,准确而又方便地实现了计算机器与人类的各种信息的交流,也进一步的方便了人们的生活和日常的工作。而目前是主流的VF和VB这两种可视化的编程语言的出现,让计算机的软件技术又在人类的发展历史上有一个里程碑,也使得平时生活中对计算机软件的开发技术感兴趣和有着深刻了解的人也可以简单地能控和致力于这些技术的发展,时代是进步的,技术也是不断发展的,也由此快速而又逐步趋向简洁的发展可以看出当前的计算机软件正在朝着更加有利于人们的方向发展,技术开发也在朝着简单有利的方向进行着,这是目前有利的一方面,还是需要更多的计算机研究人员们的不断努力。

2存在的问题

2.1计算机软件开发的特点

计算机的技术也在不断地成熟,随之而来的是软件的开发也是相当热门的门业与行类,伴随着计算机技术的发展计算机的软件技术也在不断地更新中,计算机的软件开发技术也在不断地发展中,就在短短几十年的时间取得了很大的进步并且目前仍有特别大的发展空间,在迎合人们生活与工作等各个方面的需要。新的计算机软件技术也在更新交替出现,目前已经存在的计算机的软件技术也在进行着不断地更新,因此,也毫无疑问地可以看出来计算机软件最明显的一个特点就是不断地交替,不间断,有着持续性。虽然目前有很多的计算机软件,但是随着经济的发展和社会的需要,新的计算机的开发软件也总是在顺应着人们的要求不断出现,也总是有不同程度的创新和发展,而软件的创新也是一个不间断的持续的过程,需要加以想象力并且很好的研究,但是对于已经存在的计算机软件不应该摒弃它们的作用,应该对其加以改革和创新,保持持续不间断的更新,才可以保证自身的安全性和其中的稳定性,就比如常见的也经常利用的Windows操作系统,作为一种现在的软件系统它就会定期地隔一段时间进行更新也会对自己的不足进行系统的完善,并且也会一些更新的消息可以自动进行更新,这也是其中的优势所在,软件的开发业在各个领域的运用中扮演着越来越重要的作用。另外,计算机软件技术开发的特点也是不断地随着经济的发展和运用以及社会生活在不断更新,计算机软件系统具有很强的针对性,对日常生活的需要和工作的各个方面都具有很大的帮助,也是它能够独立地发展成一门学科的关键所在。计算机软件的基础框架构架对于目前来说计算机软件的开发与设计已经成为了一个系统性的工程,对于软件设计的各个环节已经形成了一些固定的模式,所以在计算机软件开发的过程中最为重要的就是它的基础框架的构造与设计,只有选择一个优秀的基础框架这样才能够保证计算机软件开发的后面一些程序的编写,系统的维护和技术的拓展有着更高的利益和方便之处。因此在计算机的基础软件开发中和平时的活动中,必须首先确定计算机软件的基本框架,确定需要的基本目标,更有利于研究人员的开发,也能够为后继工作的编写提供给我们更多的便利。一个重要的问题是需要必须提高软件工程中的速度。

2.2计算机软件开发的过程

计算机软件的基础构架完成就需要进行一些编写工作,对需求分析工作已经认真的完成,就要进入最重要的环节,对于计算机的软件系统的实际设计环节,目前在这个过程计算机软件的研发人员最经常使用的C语言的编程,主要是因为它是高级语言,这种高级语言的结构性和它的基本框架都比较突出,所以被很多编程的人员经常使用,目前在软件编辑领域也出现了很多VF等可视化的编辑语言,但是人们大多还是使用C语言,也是因为软件设计的特殊性。一个重要的问题是需要必须提高软件工程中的速度,速度对大部分人来说都是一个重要的问题。对于基础框架的设计与利用是必须严格遵循一定的逻辑关系,计算机软件的设计是利用特定的逻辑关系必须对软件的内容进行严格的定义,而研发人员所必需遵循的特定的逻辑关系就是计算机软件技术开发中的基础的框架构造,因为计算机的基本框架的构造不仅能够决定平时运用这些软件时运行的流程和运行计算机的方式流程和速度等,还会对未来软件的维护和在发展产生更重要的影响,但是对于计算机的软件开发的基础构架不能是封闭式的,如果是封闭式的就不会具备这些基本的扩展能力,还有一个问题就是由于在编写程序的时候一些软件的系统的本身就比较复杂,这就需要研究人员的共同完成,这也造成了这个软件本身系统的庞大性,所以有时候在实际的编写过程中,那些本身庞大的软件在进行编写操作的时候会被分割成好几个编辑模块,在这些被分成细小模块的基础上就必须确立一个主函数,利用这些主函数对这些细小的模块进行管理,就比如在计算机系统软件在进行操作某个程序的时候,主函数就会对这些分散的编辑模块进行统一的调用,这样才能实现各个模块统一协调的工作,使得整个系统能够完整有序地进行,同时也提高了计算机软件设计的工作效率,加快了工作时的速度,正是因为多人的分工合作,才能更大地加快计算机软件系统的开发与工作状况。

2.3计算机软件开发的测试与维护

对于计算机中软件系统可以说是整个计算机系统中最重要的管理系统,计算机的系统会根据软件的系统进行各种工作。而目前对于计算机软件的基本框架基础应用最广泛的有3层:表示层、逻辑层、和数据层三层结构组成的基础的构架,在现在的基础框架中软件表示层、逻辑层和数据层分别对应着计算机软件系统的人机交互界面,逻辑关系和计算机语言区。这样对一个软件有了基本的基础构架,在后期进行维护的时候才能不伤害其他系统,仍可以使其他系统有条不紊地进行。一个优秀的软件技术的基础构架能够极大地提升在计算机软件的应用的效率和运行的速度。而当前的计算机软件系统的针对性也越来越强,所以在后续运用方面进行运行管理时应该根据自身的结构基础进行调用,面对目前计算机软件的开发形势与方向,研究人员必须进行一定的讨论最后再根据需求者的应用设计不同的适合客户发展的方面。这样既可以保证工作的方向性,也可对后部计算机软件的维护发挥一些重要作用,也可方便研究人员的设计工作。这些软件在进行编写成功后是不能马上投入到工作的,需要进行调试,一些研究人员的跟随,因为在其中可能会出现一些漏洞。根据各个软件的不同调试方法要利用科学的方法调试,也有益于后期的维护工作。

3计算机软件开发过程中的问题

3.1确立好计算机软件的基本框架

对于一开始的确立的框架结构必须选择科学无误的框架,才能有利于后期的一些编写的进行,计算机软件的研究开发人员必须进行准确无误的研究讨论,最后才可以确定客户需要,所以对于第一步的框架构造应该认真选取方案。

3.2完善程序编写数据

计算机软件技术开发过程中对于程序的编写的工作,根据第一步框架结构能够无误地进行,编写工作的进行跟从主函数的分配才使得各个工作有条不紊地进行,所以确实主函数,研究人员应该正确地讨论主函数的选用,才能使得主函数有利的支配于编辑模块,各个工作人员的分工才能更好地进行,对编写工作也有很大的方便性。因此在计算机的基础软件开发中和平时的活动中,必须首先确定计算机软件的基本框架,确定需要的基本目标,更有利于研究人员的开发,所以说建立基本的框架基础是首要目标。应该满足客户的要求进行软件的编写工作,而目前在日常生活中最常用于生活的是C语言,C语言主要特点是它的结构明显的突出,它的基础框架也是特别优秀的,也能够为后继工作的编写提供给更多的便利。一个重要的问题是需要必须提高软件工程中的速度,速度对大部分人来说都是一个重要的问题

3.3做好软件最后调试

最后就是完成后对于计算机软件的调试工作了,软件不能立即投入到使用中,需要进行严格的调试并认真地改正,满足客服的需求,在后期进行维护的时候才能不伤害其他系统,仍可以使其他系统有条不紊地进行。一个优秀的软件技术的基础构架能够极大地提升在计算机软件的应用的效率和运行的速度。这也方便后期对这些软件漏洞的维护,需要对大部分的数据进行研究工作,以保证计算机软件的有效进行,也可以防止后期漏洞的产生,也可以加快软件自动更新的作用。

4结语

随着当代社会经济的发展,计算机软件的开发技术已经深入日常生活中,也大大方便了平时的生活,成为了不可或缺的力量,编写的过程可能有些许的复杂,但是只要研究人员深刻的投入,所有问题都是可以解决的。

参考文献

[1]金红军.规范化在计算机软件开发中的应用[J].物联网技术,2016,(01).

[2]董海,叶永利.计算机软件开发的JAVA编程语言分析[J].数字技术与应用,2016,(01).

[3]许葵元.浅谈计算机软件开发中的分层技术运用[J].数字技术与应用,2016,(01).

软件开发基础知识篇2

中图分类号:G642 文献标识码:B

1引言

软件工程这一术语首次出现在1968年的NATO会议上。软件工程这一概念的提出,其目的是倡导以工程的原理、原则和方法进行软件开发,以期解决当时出现的“软件危机”。张效祥院士主编的《计算机科学技术百科全书(第二版)》将软件工程定义为“是应用计算机科学理论和技术以及工程管理原则和方法,按预算和进度实现满足用户要求的软件产品的工程,或以此为研究对象的学科”。

“软件工程”作为计算机科学与技术及相关专业教学计划中一门重要的专业基础课,其主要目标是,培养学生运用软件工程的原则、开发方法和技术进行软件的开发和维护。作为一门多学科交叉的工程学科,如何合理地构建软件工程本科教学知识体系,对于培养国家急需的高素质的创新型软件人才具有重要的意义。

为了满足中国软件产业发展的需要,北京大学积极探索和推进软件工程教育。在1984年,北京大学首次为本科生开设了“软件工程”课程,培养学生在软件工程学科的基础知识以及基本实践能力。同年,在国家科委的支持下,北京大学和复旦大学分别举办了共4期软件工程研究生班,教学以工程实践为主,聘用国际上一些计算机专家任教,先后培养了近200名软件工程人才;1988年北京大学计算机科学技术系试办软件工程的本科专业;1996年北京大学开始招收软件工程领域的工程硕士。目前,在北京大学软件工程领域培养的人才,大部分已成为我国软件企业和国际软件企业的技术骨干。

通过多年软件工程领域的教学实践,杨芙清院士提出“软件工程教育体系需要多层次、多样化。比如,在本科教育阶段,重点培养软件工程学科的基础知识、基本的实践能力。而研究生教育阶段,首先要培养扎实的理论基础、软件工程技术和方法,然后再根据人才需求和职业发展分为两种,一是学术研究型,二是工程应用型”。

针对北京大学本科学生的特点,一是基础知识扎实、自学能力强,二是毕业后大部分继续学习深造,攻读硕士和博士学位(根据历届统计,直保本校研究生的比例大约在50%~60%),这为软件工程教育课程体系的建设提出了新的挑战,即如何体现启发式和因材施教原则,如何适应持续培养“本-硕连读”学生的需要。

围绕以上问题,我们自1984年开设本科生“软件工程”课程以来,不断结合北京大学软件工程团队在大型“软件工程”科研项目上的丰富的研究和实践经验,结合软件工程领域最新的研究成果,不断对软件工程本科教学知识体系进行改革,在探索和实践的基础上不断充实和完善,以期创建具有北京大学特色的软件工程本科教学知识体系。

2软件工程本科教学知识体系

在软件工程本科教学知识体系的探索和实践过程中,我们一直遵循以下两条基本原则:(1)一是软件工程本科教学知识体系不仅需要体现先进性、系统性,而且选取的内

容需要有助于提高学生求解软件的能力,特别是提高学生直接参与软件开发实践和工程管理的能力。(2)二是选取的内容是基础性的、比较“稳定”的,我们向学生尽量介绍有关软件工程的国际标准和成熟技术。我们从以下几个方面来推动软件工程本科教学知识体系的不断发展和完善。

2.1充分利用科研实践经验

多年来,北京大学软件研究所承担了数十项部级科研项目(包括国家科技攻关计划项目、863计划项目、973计划项目、国家自然科学基金项目等)。其中,以研究软件工程开发环境为主要宗旨的国家科技攻关项目“青鸟工程”,对北京大学软件工程本科教学知识体系的构建影响最为显著。它是国家重点支持的软件产业的共性、基础性建设工程。从“六五”计划开始,历经二十个春秋,由北京大学牵头、中科院院士杨芙清教授主持了持续的科技攻关课题,其目标是以实用的软件工程技术为依托,建立软件产业基础,推行软件工业化生产技术和模式,提供必要的工业化生产手段和装备。

图1概括给出了“青鸟工程”动机、发展及研究内容。青鸟工程历经了国家 “六五”科技攻关项目“软件工程核心支撑环境BETA-85”、国家“七五”科技攻关项目“软件工程技术、工具和环境的研究与开发(SEP)”、国家“八五”科技攻关项目“软件工程开发环境(CASE)的标准化与实用化”、国家“九五”科技攻关项目“软件工程环境(青国际上令人关注的一支科研队伍。通过这些大型软件工程项目的实践,使教师提升了软件工程领域的知识,丰富了

图1青鸟工程动机、发展与研究内容

鸟CASE)工业化生产技术及系统(JB/SEIMS)的研究与开发”、国家“十五”973项目“Internet环境下基于Agent教师的软件工程知识体系结构。我们坚持教学与科研相结合,教师积极参加科研项目,从学习跟踪到自主创新,并的软件中间件理论和方法研究”等,取得了一系列重要的研究成果,在理论上不断创新,每年在国际重要刊物和国际会议上发表上百篇论文,理论成果覆盖了软件工程领域几乎所有的研究方向。北京大学软件工程研究团队已成为不断将这些科研成果和软件工程实践经验融入、引入软件工程的教学和实践活动中。

另外,北京大学软件研究所积极接收本科生进入实验室从事科研实践工作,这些学生可以应用最新的科研成果进行软件工程实践,并对科研成果提出相应的反馈意见。这样,通过科研项目极大地提升了学生的软件工程知识和技能。

2.2加强课程体系与教材的建设

北京大学软件工程教育长期研究和借鉴IEEE/ACM推出的软件工程规范。IEEE最新的软件工程知识体系SWEBOK(Software Engineering Body of Knowledge)将软件工程知识分解成10个知识领域,即软件需求、软件设计、软件构造、软件测试、软件维护、软件配置管理、软件工程管理、软件工程过程、软件工程工具与方法、软件质量,从而明确了软件工程学科的内容和体系。IEEE/ACM软件工程学科小组研究和公布了软件工程教育知识体系SEEK(Software Engineering Education Knowledge),将软件工程的本科教育分为10个知识领域,包括计算基础、数学与工程基础、专业实践、软件建模与分析、软件设计、软件验证与测试、软件演化、软件过程、软件质量、软件管理。这两个知识体系明确提出学生要有工程素质和专业实践能力,要有问题求解和工程管理能力,要有职业道德和相关法律的教育,要有书面和口头表达能力,要有交流和沟通的能力,要有国际交流的能力,要有组织和管理能力,要有纪律性和团队精神、主动性和创造性、为适应科学技术发展和学科变化进行自主学习的能力等。我们在课程体系的建设和教材的编写中,不断完善对学生以上能力的培养。

在软件工程本科教材编写和教学过程中,参照以上两个软件工程规范,关注软件工程课程知识体系的完善。通过多年的教学实践,给出了软件工程本科教材的基本知识结构,如图2所示。软件工程基本知识结构,基于对软件开发本质的认识,即实现问题域到软件解域之间的映射,紧紧围绕软件开发,讲解软件工程的生存周期过程;讲解有关过程、活动和任务的组织框架,即介绍一些在工程中常用的软件生存周期模型;讲解实施开发活动和任务的一些基本途径,包括结构化方法和面向对象方法,以及支持软件评估所需要的软件测试技术等;简单介绍作用于开发活动上的一些管理活动,其中重点介绍支持管理活动的一些基础性技术,例如过程创建以及成本、进度估算等。

图2软件工程基本知识结构

为了建设世界一流大学,培养出具有创造性的一流软件人才,我们充分地利用了北京大学软件工程科研队伍。这支科研团队在理论上的创新,给教材的编写和讲授提供了源源不断的新知识。在教材的建设中,不断总结新的知识和经验,编写了《面向复用的需求建模》、《构件化软件设计与实现 》和《面向复用的软件资产与过程管理》,这三本书是北京大学软件工程研究几十年经验的结晶,在理论上有许多创新、对教学和科研有重大的指导意义。在多年从事软件工程教学和科研的过程中,编写了《软件工程》,该书先后出版三版,每一版都增添了新的教学经验和科研成果。

我们不仅利用自身团队的经验,我们也充分吸取世界最新软件工程成果为我所用。我们先后翻译了《软件工程――实践者的研究方法》、《软件复用实践》、《管理软件开发项目》和《软件工程最佳实践项目经理指南》等经典著作,作为我们所用教材的补充。

这些教科书和参考书的编写和翻译有力地推动了软件工程课程体系的持续优化。例如,在《软件工程――技术、方法与环境》第一版中,在面向对象分析和面向对象设计两部分,我们讲授的是Coad-Yourdon方法,而到了第二版,我们介绍的是主流的UML和RUP。又如,在《软件工程――技术、方法与环境》第一版和第二版中,我们没有系统地介绍软件项目管理内容,而在第三版中,我们参考和借鉴了软件工程知识体系SWEBOK,引入了“软件工程项目管理概述”一章,进而加强了对本科生软件工程管理能力的培养。

2.3注重因材施教

北京大学的学生具有很强的自学能力,而且不同专业和不同层次的学生对软件工程知识的需求也各不相同。基于以上因素的考虑,我们设置了以下课程分别满足不同层次本科生对软件工程教育的需求,体现了因材施教的原则:

(1) 为计算机科学技术专业的学生在设置了“软件工程”课程,使学生系统地学习软件工程的基本思想和方法,培养他们从事软件开发、维护和软件工程项目管理的能力。

(2) 为二学位的学生设置了辅修“软件工程”课程,与计算机科学技术专业的“软件工程”课程相比,该课程在内容和难度上有所降低,主要培养学生的软件工程思想以及基本方法的应用能力。

(3) 为“电子信息科学类”专业、基础好、领悟力强的学生开设了“软件工程―实验班”。这些学生经过计算概论实验班以及数据结构与算法实验班的培养,具备了很强的程序设计技巧与能力。本课程不仅讲授软件工程基本思想与主流方法,而且主要通过实际系统的工程化开发,培养学生的软件工程素质和能力。

(4) 为研究生和高年级的本科生共同开设了一些先进软件工程技术或研究探索性课程,如“高级软件工程”、“方案工程”和“软件项目管理”。这些课程的开设,主要是使学生对先进的软件工程理论、方法和技术有一定的了解和掌握,培养学生从事软件工程研究的素养。

图2所示的软件工程基本知识结构体现了计算机科学技术专业设置的“软件工程”课程的内容体系,而辅修“软件工程”根据非计算机专业学生的知识基础和专业需要,对软件工程本科教材内容进行适当剪裁,“软件工程-实验班”依据其培养目标,结合实际需求,更加关注软件工程有关知识的应用。

3软件工程本科教学实践的探索

3.1启发式教学培养创造性人才

我们不仅在教材编写过程注意启发式教学,而且在讲授中更要突出启发式教学,让启发式教学贯穿教学活动的始终,这样很好地调动了学生学习的积极性和主动型,开发了学生的创新思维,培养了学生的创造能力。

我们从以下三个方面贯彻启发式教学原则:

(1) 教师授课中的启发式。教师讲授不是照本宣科,而是在深入备课的基础上提炼出重点、难点,拟好带有启发性的关键问题,在课堂上提出,让学生认真思考和讨论,老师有目的、有重点地做点评。例如,在讲授“软件过程”一章时,我们主要提炼出两个关键问题:①软件开发要做哪些映射-活动?②应如何正确地组织开发活动,形成求解软件的逻辑?让学生带着这两个问题去阅读、思索和讨论,从而得到对这一章节知识的深入理解。

(2) 学生登台讲授。这是调动学生学习主动性和积极性的极好方法。北京大学的学生基础好、自学能力强,并有一定的动手能力,这是他们登台讲授的良好基础。我们选择一些章节,在教师的指导下,让学生做准备,然后在小组或班级做讲授。学生准备的过程就是深入学习的过程,这样学习的知识掌握得更深透。一位讲过课的学生深有感触地说:“自己讲一遍胜过听别人讲三遍。”

(3) 老师解惑答疑。我们采用启发式教学充分调动了学生的学习积极性,并不能解决所有的问题。学生越愿意学习,越容易发现问题,提出问题。老师必须居高临下,采用讨论的方式,给学生以及时准确的回答,增强学生的信心,鼓舞学生继续向前攀登。

3.2加强课程实践培养动手能力

根据教材,我们设计了一些配套的课程实践课题,如结构化方法实践和面向对象方法实践课题,这样学生可以充分利用北京大学软件工程领域研究的各种软件开发环境(因为北京大学软件工程领域的研究成果覆盖了软件工程各研究方向),如青鸟面向对象建模工具JBOO、青鸟配置管理系统JBCM、基于软件体系结构的可视化建模和构

件组装工具ABCTOOL等,进行课程实践。软件工程课程实践要求学生采用“项目小组”的形式,结合具体的开发项目进行分析和设计,每组不得超过5人。每个项目小组选出项目负责人或项目经理,由其召集项目组成员讨论、选定开发项目。学生分工合作,学习软件开发小组的组织和管理,将项目开发各阶段的任务明确,熟悉软件开发环境,培养团队精神,共同完成该项目的开发任务。教师的主要任务是总体指导学生。学生在规定的时间内完成相应的课程实践,并对已有的科研成果进行反馈,从而进一步促进科研的发展。

从“六五”国家科技攻关项目的研究到目前的研究,我们一直利用科研促进教学,不断完善软件工程本科教学知识体系,在这个探索和实践的过程中,也培养了学生软件工程理论和实践相结合的能力以及创新性的思维能力,很多学生都说这正是北京大学软件工程教学知识体系和科研结合的独到之处,也是北京大学良好学风的体现。

4结束语

北京大学软件工程本科教学知识体系的建设和教学活动实践既参照了国际上计算机学科发展规范所提出的质量要求规范-软件工程知识体系SWEBOK和软件工程教育知识体系SEEK,又充分考虑了国家对北京大学的要求和希望,以及北京大学软件工程教学和科研团队,高质量的学生的特点,不断进行教材建设和教学活动的探索和改革,已经取得了一定的成果,对科研和教学起到了推动和促进作用。这种探索和改革还在继续进行中,我们相信未来会取得更理想的成果。

参考文献:

[1] 张效祥. 计算机科学技术百科全书[M]. 2版. 北京:清华大学出版社,2005.

[2] 杨芙清. 软件工程教育的思索与实践[C]//全国高校2007年软件工程专业教育年会论文集. 北京:高等教育出版社,2007.

[3] IEEE. Guide to the Software Engineering Body of Knowledge 2004[EB/OL]. /portal/web/ swebok.

软件开发基础知识篇3

一、优化教学内容,构建新型课程体系

1.优化教学内容。计算机软件技术应用领域广泛,知识更新快,实践性强,既要求扎实而广博的理论基础又要求良好的实践动手和自我学习能力。针对这一特点,以计算机科学与技术本科人才培养方案为基础,以基本素质和工程能力培养为主线,以面向信息领域市场、面向区域经济建设为需求,坚持“基础、应用、实践”的原则,突出软件开发与设计的能力培养,在专业教学中强调理论与实践并重,知识、能力和素质协调发展,对教学内容进行了大幅优化设计。在基础能力方面优化了程序设计基础课程,新增了算法分析与设计、面向对象分析与设计课程;在软件设计高级理论方面优化了软件工程课程,新增了软件测试与质量保证、软件体系结构与中间件技术课程;在综合实践应用方面新增了Java程序设计、系统集成与项目管理、xml与电子服务课程。通过一系列教学内容的改革和优化,兼顾了软件设计理论的深度、广度和实用性,更加符合以软件设计能力培养为核心的教学主线要求。2.构建新型四层递进式课程体系。软件设计和开发是计算机科学与技术专业本科人才能力培养的核心和基础。通过深度剖析计算机软件设计能力的培养特点,总结以往教学经验,以培养学生软件设计能力为核心,构建了从程序设计基础到软件开发综合实践的四层课程体系,每层都有相应课程群以及阶段性培养目标。(1)基础理论层。以计算机导论、操作系统、数据结构、编译原理、计算机组成原理为核心课程群,目标是奠定计算机系统的基础理论知识。(2)基础训练层。以程序设计基础、数据结构与算法等为核心的课程群,目标是打牢程序设计基本能力,并初步掌握面向对象软件设计方法。(3)高级理论层。以软件工程、软件测试与质量保证、软件体系结构与中间件技术为核心课程群,目标是系统掌握软件体系结构、软件设计开发和软件项目管理的理论知识,为高级应用实践打下坚实基础。(4)综合应用层。以系统集成与项目管理、xml与电子服务、Java程序设计为核心课程群,目标是面向应用,全面提高软件项目设计开发的综合能力。四个层次之间环环相扣、互为基础、由低到高、循序渐进,逐步培养学生良好的软件理论素养和扎实的设计开发功底,为国家和社会培养合格的IT人才。3.强化实践能力培养,构建立体化实践教学体系。良好的软件设计能力不仅需要深厚的理论基础,也需要较强的实践功底。鉴于计算机软件技术具有实践性强、知识更新快的特点,我们设计了立体化三层实践教学体系,包括基础训练层、综合训练层、实践应用层。(1)加强课内实践教学,培养学生基本编程应用能力。基础训练层是由程序设计基础、数据结构、Java程序设计、编译原理和操作系统等课程的课内实验组成。在课程实验设计中加大了综合设计类实验的比例,减少了基础验证性实验比例。其中基础验证性实验与课堂讲授同步,加深对某个知识点的理解,紧跟老师引导完成练习。综合设计类实验对多个知识点进行综合训练加深对课程内容的整体认识,还需要提交实验报告。注重综合设计能力的培养。综合训练层是由程序设计基础、数据结构和软件工程等课程的课程设计组成。通过设计小型综合项目,培养知识的综合运用能力。课程设计的实施分为开题、系统设计、编码实现、系统测试、系统评价与验收,提交课程设计报告。要求分组完成,最后答辩评分、评优。我们对课程设计考核进行了改革,制定了具体的课程设计考核制度与考核方法,将课程设计考核变为答辩方式考核,包括小组答辩和年级优秀课程设计答辩两个过程和层次进行。(2)引导课外实践,培养学生创新思维能力。实践应用层是由各类大学生竞赛活动、大学生SRP训练项目、大学生创新计划、毕业设计、教师的科研课题、工程实训和软件开发小组等各种形式的实践活动为依托。通过各类竞赛,激发学生对软件设计的兴趣和主动性,鼓励学生积极参与教师科研项目、大学生创新计划、大学生SRP训练项目和毕业设计,培养和锻炼软件设计开发能力。

二、小结

围绕计算机基础、程序设计基础主线展开教学,使学生能够具有扎实的基本功,为高层次人才和创新能力的培养打下坚实的基础。对相关的课程进行整合,形成课程群,突破学期、授课教师、课程各自独立的局限,实现总体设计、综合布局、交叉穿插、协同配合的新模式。

参考文献:

软件开发基础知识篇4

软件工程是一门交叉性的工程学科,它将计算机科学、数学、工程学和管理学等基本原理应用于软件的开发与维护中,研究重点是大型软件系统的分析与评价、规格说明、设计和演化,同时也涉及管理、质量、创新、标准、个人技能、团队协作和专业实践等方面的内容。然而,软件工程开展近30年后,人们才对软件工程核心的知识体系达成共识。在国际上,ieee-cs和acm联合组建的软件工程协调委员会(swecc)发布了软件工程知识体系和推荐实践swebok2004[1],为软件工程职业实践建立了合适的准则和规范集,以作为产业决策、职业认证、课程教育的依据。基于swebok,swecc进一步定义了其中可以纳入教育程序的知识体系,包括本科生软件工程教育计划se2004中的seek、研究生软件工程教育计划gswe2009[2]中的cbok、软件工程职业道德规范和职业实践。

我国2002年启动了软件工程硕士培养程序。借助于计算机科学技术、数学、管理科学与工程诸多学科,软件工程已由计算机科学与技术专业下的一个学科方向,发展为一个独立的新兴交叉一级学科。但由于我国传统的高等教育注重科学研究能力培养,工程化人才教育开展时间较短,培养体系尚在不断改革完善,因此在很多院校中软件工程学科还没有脱离计算机科学与技术的范围,所培养的软件工程人才与工业界的要求尚有一定距离,整个硕士培养过程中,课程体系的设置是影响研究生业务能力和素质的重要因素,因此以企业需求为导向,以软件工程知识体系为核心,以训练实践能力的为目标的层次化软件工程课程体系改革对促进高等教育面向社会需求培养人才,全面提高工程教育人才培养质量具有十分重要的示范和引导作用。特别是在硕士生的培养上,对课程学习与学位论文的要本文由收集整理求一般是同等并重,合理的课程体系是高等院校保证培养目标和形成办学特色的重要手段。软件工程硕士的定位和其他学生不同,这为我们的课程设置、建设与管理提出了新的挑战。

通过对国内众多高校的软件工程专业培养方案和课程设置进行分析,将其分为以下四种主要类型[3]:

(1)完全独立型:将软件工程彻底从计算机科学与技术专业分离出来,作为独立的一级学科,课程设置上综合计算机、数学、管理科学与工程等学科,偏重于数学基础,但实践能力较缺乏。

(2)以计算机科学与技术主体课程为基础,以软件工程理论课程为核心,加强实践教学型。以计算机科学与技术的课程体系为主体,教学中突出软件工程的知识体系,加强实践教学,根据企业需求或者人才市场需要,按照工程思想进行实践教学,同时校企结合,试图在实践中摸索和学习软件工程的工程理念,但在进行实践之前的软件工程理论基础不牢固。

(3)实践加强型的计算机科学与技术课程体系,在这个模式下,课程体系基本和计算机科学与技术相同,只是加强了实践环节,学生在学习和就业方面没有脱离计算机科学与技术专业,工作中所学的工程理念需要自己去学习。

(4)其他类型,鼓励学生参加各种软件大赛,推荐学生参加各种证书的考试,获取各种软件企业证书。这种类型中,学生所学内容较多,但是正是为了考试而学习,基础不扎实,同时真正的工程实践能力不够。

因此我们认为,目前的软件工程还没有脱离计算机科学与技术的范围,无论是从传统计算机科学与技术专业与软件工程专业的区别,还是本科生与研究生的区别来看,针对软件工程硕士的课程体系建设和教学改革研究都是十分有必要的,同时也是迫切的。

二、生源基础分析

gswe2009对给出了软件工程硕士的三种主要生源:

(1)在职程序员,由于没有受到过正规研究生教育,有些企业的在职人员对理论知识匮乏,因此具有系统学习的愿望;

(2)其他领域的专业人员,由于软件工程职业的兴起,以及目前人才市场对该专业的需求,使得其他领域的专业人员想要加入软件工程的队伍;

(3)没有工作经验的本科毕业生,在当前就业压力下,许多本科毕业生毕业后选择继续深造。

在我国,软件工程硕士研究生多是没有工作经验的本科毕业生,正式由于这些大学本科毕业生的基础专业各不相同,使得软件工程硕士研究生的课程设置更加复杂和重要。

三、知识体系分析

2004年8月,有全世界五百多位专家教授推出的软件工程知识体(swebok)和软件工程教育知识体(seek)两个文件的最终版本,包含了软件工程核心类的知识领域、基础类或前导类的知识领域以及其他相关领域的知识。2009年, gswe2009中的教育知识体系cbok主要来源于swebok,同时也参考了seek2004、incose2003和haskins2007。与swebok2010同步,gswe2009包含了一个新的知识领域ka(职业实践)和四个关于教育的ka(工程经济学基础、计算基础、数学基础和工程基础),同时两个在swebok中没有出现的ka(系统工程基础和职业操守指导)被加入了cbok。此外,cbok还调整了一些知识单元和知识点[4]。gswe2009由准备知识、核心知识、大学特有知识、选择性知识和顶点经验所构成。其中的大学特有知识有学生的入学基础决定,在整个硕士研究生的培养过程中,主要为学生设置学习专业核心知识之前的准备知识以及在学生职业实践课程中所需要的选择性知识,而顶点经验需要学生在学习专业核心知识和进行职业实践的过程中积累,因此,课程设置中准备知识和专业核心知识的设置以及学习方式尤为重要。

四、课程设置分析

通过对软件工程知识体系进行分析,软件工程硕士研究生应具备的主要能力有:基础开发技能、团队合作技能、发现并解决问题技能、系统建模技能、文档撰写技能。我们将硕士研究生的培养阶段分为:理论知识学习、职业实践、论文撰写三个阶段。在前两个阶段中,我们给出了三单元课程、两步实践的方式,三单元课程分别是:必选课单元、必修课单元、自选课单元,两步实践有:模拟职业实践、实际职业实践。传统的理论学习和职业实践通常是完全分开的两个阶段,但在软件工程这个特殊的学科,我们将理论学习和职业实践结合起来,在进入理论学习第二单元的同时进入模拟职业实践阶段。理论学习三个单元具体设置如下:

(1)必选课:选择工程经济学基础(例如知识产权与法律、企业管理与文化、领导学、信息经济学 、市场营销学等)、计算基础(例如算法设计与分析、高级软件工程、高级数据库、高级操作系统、高级网络技术)、数学基础(离散数学 、组合数学、 工程数学、数值分析)等准备知识中的专业主干课程按学科分类作为新生入学的必选课,取代以往将某些固定课程作为所有学生的基础课的方式,方便根据学生大学所学专业来选择自己所欠缺的准备知识进行学习,是知识的储备阶段,在本单元根据学生所选课程的成绩作为给定学分的依据。

(2)必修课:将软件工程基础中的核心知识(例如软件体系结构、软件项目管理、软件质量保证与软件测试技术、软件系统建模原理和方法、基于cmm 的软件过程改进、软件开发方法、软件需求工程)作为所有学生的必修课,培养学生能够系统全面地了解软件工程的概念,旨在学生具有扎实的软件工程及相关专业基础理论,熟练掌握软件工程知识和技能,并且具备作为软件工程师从事工程实践所需的专业能力。在学习核心知识的同时,适当加入模拟职业实践的训练,根据学生的学习方向,将学生进行分组,进行模拟题目的训练,题目可以是各类大赛的题目、教师的科研课题以及学生自己选题,这是学生职业实践的第一步,培养学生基础开发技能、团队合作技能、系统建模以及独立创新技能,之所以称之为模拟职业实践,是因为这一步的实践题目并不是真正的软件工程课题,而是采用软件工程思想的实际课题,为下一步学生进入企业进行第二步的实际职业实践奠定基础,在本单元根据学生的课堂表现以及最后考核给出一部分成绩,另一部分成绩给出的依据是学生实践课题的完成情况以及在小组中的贡献程度,培养学生动手实践的同时,也提高了学生认识自我、团结合作的能力。

(3)自选课:学生根据自己对软件工程的理解以及通过对上一个单元所做题目的分析,选择自己所需要补充的基础专业知识,自行选择和学习,培养学生发现并解决问题以及自觉学习的能力。在这一单元中,导师根据学生所选专业知识的准确性以及学习之后对该软件工程专业的认识给出学生的成绩。

传统的课程设置一般都是先学习再实践,或者是边学习边实践的过程,前者学生在学习理论的同时没有实践练习,导致学生理论与实践结合得不好,后者在学习的过程中进行实践,锻炼了动手能力,但是学生往往不知所以然,只是按照老师的讲解去实践,对理论的指导作用理解不够,而我们通过上面学习-实践-学习的过程,学生不但对软件工程相关知识有所掌握,也具备了一定的实践能力,同时也培养了学生具有不断补充知识、总结自己、提高自己的意识和能力,在实践中体会到理论知识的作用,从而能够主动学习。在这个过程中,学生在学习软件工程核心知识的同时进入了职业实践的第一步模拟职业实践,将理论和实践很好地融合在一起,使理论的学习过程不再枯燥。

软件开发基础知识篇5

矿山工程类技术人员是指与采矿工程密切相关的,如采矿、矿井建设、矿山地质、矿山测量等专业技术人员,他们是矿山企业生产运营过程中的主要角色之一,肩负解决生产技术难题和进行企业技术创新的责任,从事的主要是矿山工程设计、施工及岩层控制、矿体及其分布规律分析研究、矿图绘制、矿山生产技术管理等多方面的技术工作,矿山工程类技术人员的计算机知识水平和能力水平直接影响着企业的经营管理水平和安全生产水平。随着信息技术的深入广泛使用,计算机技术对矿山工程类技术人员已成为不可或缺的基础性知识,同时也是进行专业技术创新的工具。针对矿山生产技术特点,研究矿山工程类专业技术人员计算机

技术素质问题,对构建科学的矿山工程类专业技术人员培养体系,以及进行在岗培训与提高具有重要意义。

一、对矿山工程类技术人员计算机技术素质的基本要求首先应明确,作为汁算机技术的应用者.矿山工程类专业技术人员对计算机硬件知识的掌握,只需具备能正确使用和维护汁算机硬件的水平,其计算技术素质的要求主要是指对计算机软件的理解、掌握程度与使用能力。从软件的开发与应用过程可知,针对计算机软件的开发与使用,有四个不同技术层次的人群:1.进行软件工程理论研究与软件开发战略研究的软件科学家。2.针对应用实际,进行软件设计、测试的软件工程师。3.根据设计编写原代码制造软件及进行软件售后服务的软件工人。4.购买商业软件使用的用户。矿山生产要求矿山工程类专业技术人员,一方面能开发解决本企业生产中出现的特殊技术问题的软件;另一方面能使用通用软件解决矿山企业具有普遍性的技术问题。前者的特点是紧密结合矿山工程实际,具有特殊性,但不一定复杂,由于软件一般为解决特殊矿山工程问题的专门性中小型软件,因而需要自主开发,或是在通用基础软件平台上二次开发;后者解决的则是较复杂的矿山技术或管理问题,软件由有关的专业单位研发,矿山技术人员重在能熟练使用。由上述分析可知,矿山生产经营过程对矿山工程类专业技术人员的计算机素质提出的基本要求是:能进行中小型软件自主开发或二次开发,能熟练使用矿山用大型软件,同时也应能使用公共性通用工具软件,要求其计算机技术知识水平与能力水平,是介于软件工程师与高级软件工人间的水平,这与计算机专业人才的水平要求是有区别的。

二、矿山工程类技术人员应掌握的计算机技术知识矿山工程类专业技术人员应用计算机技术解决问题,主要集中在矿山工程的技术设计、生产与技术管理系统开发、数据处理如矿山测量计算、矿压数据分析、矿山变形观测与分析等、矿图绘制以及综合性的矿山地理信息系统开发等方面。因此矿山工程类专业技术人员掌握的计算机知识,应涵盖计算机通用知识、网络知识,具有强大计算、绘图功能和地理信息系统开发功能的基础平台软件使用知识,软件设计与原代码编写的基本知识等方面。其具体应掌握的内容包括:1.基础知识:熟练掌握主流操作系统及计算机网络方面的基本知识,计算机病毒清除与预防知识,对通用型常用工具软件能熟练使用。2.掌握auto cad及gis类软件的使用知识,这些大型基础平台软件是工程设计、矿图绘制、矿山地理信息系统开发方面的基础软件,掌握程度应达到能在其基础上开发适用于本企业特点的中小型应用软件的水平。3.掌握软件工程的基本理论,具有软件开发的基本知识与技能,掌握c及c十+编程语言,能自主开发矿山矿压数据分析计算、矿山测量计算、矿山开采沉陷、矿山变形观测与分析、矿产储量计算与管理、仪器设备管理等方面的中小型软件。4.掌握一些专用软件的使用方法,如矿图数字化软件、矿山工程中力学方面的计算软件等。

三、矿山工程类技术人员计算机技术素质的培养与提高根据霍州王庄煤矿在矿山工程类技术人员计算机技术素质方面培养与提高的体会,做好这方面的工作需采取多种方式。一是做好基础培训。对近年来的院校毕业生,其基础培训在校学习期间已完成,实践证明其计算机技术基础是比较好的。对计算机技术基础差的老技术人员应采用脱产培训的办法,并可适当降低要求,以达到能使用专业软件的水平;二是结合工作实践的培训与提高。在具备基本的计算机技术素质基础上,紧密结合具体工作中对计算机应用提出的要求,大胆鼓励专业技术人员屏弃传统手工作业方式,应用计算机技术解决工程技术问题。这实际上是一种自学+实践+探索的方法,它既可解决企业生产过程中出现的实际问题,也是加强和提高技术人员计算机知识水平的最有效途径;三是与院校及科研单位合作,提高在岗技术人员的计算机水平。可有专门培训,也可在与专家合作解决难度较大的矿山工程技术问题的过程中,提高矿山工程技术人员的计算机技术水平;另外,购进专业软件时,厂商提供的培训也是提高技术人员计算机应用水平的机会。

本文对矿山工程类专业技术人员在计算机技术素质要求、内涵及培养提高方面所作的讨论仅是基于基层工作实践的一点粗浅探索。矿山工程类技术人员的计算机技术素质对矿山现代化建设、提高矿山企业的经济效益具有重要意义,必须作为矿山企业管理的一件大事来抓。

软件开发基础知识篇6

中图分类号:G642 文献标识码:B

软件技术类专业是指在计算机类专业教学中以软件开发、软件维护、软件工程管理等为主要专业定位,或是在此基础上的专业领域软件开发专业(例如游戏软件开发方向等)。近年来,在计算机教育方面,软件开发类专业得到了长足的发展,特别是在规模上,随着全国35所示范性软件学院的建立,全国各地也办了类似的旨在培养应用型软件高级人才的软件学院。然而,目前不容乐观的是,软件人才的培养从数量上说似乎已经满足了软件行业的需要,甚至已经有些过剩,但是从软件企业传来的信息确是软件企业“不招应届毕业生”、大量软件企业找不到合适的人才。这个一个侧面反映了软件类人才培养,还没有从根本上适应市场的需求,培养的人才的合格率还太低。

目前,软件类专业的教学改革可以说是个热点,特别是教育部批准举办的35所软件学院都在教学改革上做出了很大成绩。然而,大多教学研究都停留在实践教学改革,课程体系改革等具体操作的层面上。对于软件教育的规律是什么?软件类专业与其他传统学科有什么区别?研究者大都没有给出系统的结论。

目前,软件人才培养方面的研究和实践,归纳起来有以下几个方面的改革趋势:

(1) 机制创新。国家示范性软件学院和各地方的软件学院都对软件学院教学计划的制定给予了较大的自由度。办学收费标准也较高,使得软件学院的硬件设施普遍较之普通院系优越,这样一定程度上提高了培养质量。文献[1-2]都对此进行了有益的探讨。

(2) 实践环节改革。普遍把到企业实习看作是提高人才能力的好办法。实际上一些重点院校的学生本身素质和能力就较高,直接到企业实习效果较好,而大量普通院校的学生直接到企业实习实际效果并不太好。文献[3-4]分别研究了这方面的改革情况。

(3) 本科教育职业化。把本科教育完全改造成技术培训,完全扔掉本科教育基本培养规格。应该说把软件人才培养向职业培训转化是对原来普通本科教育的一个极端化改革,但是如果没有正确的软件人才培养规律作指导,这种改革势必会造成软件人才理论不扎实、后劲不足,所以,需要在对软件人才培养规律的清晰认识基础上进行改革。

本文分析了软件专业与传统专业的区别,指出了软件专业与传统学科,教学规律和认识规律的不同之处,在此基础上提出了软件类专业教学计划和课程体系编制的指导性原则。希望通过本文能够为同行提供一个新的视角。

1软件专业知识体系、能力提高模式与传统学科的比较

专业教育对学生的作用可以归纳为两个方面,一是专业、学科知识体系的逐步完善,二是解决学科问题能力的提高。图1表示了学生培养过程中专业能力提高和知识能力提高示意图。

图1中虚线表示传统学科的知识水平能力水平提高在大学教育过程中的变化,实线是软件技术类专业的情况。

在学科领域中,传统学科知识体系已经比较完整,工程化设计、计算方法已经相对成熟。学生知识提高的过程与能力提高的过程并不是完全同步的。大学教育单从学科能力提高方面说,可以说是一个比较封闭的过程,也就是没有学专业课之前,几乎无法使用专业的知识体系解决问题,就是说,解决专业问题能力的提高很大程度上是从学习专业课开始的。但是,由于传统学科的设计、计算等都已经比较成熟,对于同一个问题的解决方法基本差别不大,所以在学科基础课学好的前提下,学生可以在很短时间内,就能使专业技术能力有比较大的提升。

软件类专业则不同。一方面,即使没有雄厚的专业理论基础,也可以学会基本的开发技术(专业技术),但是其开发能力、水平的提高,必须在继续学习专业理论且不断实践中得到提高,其提高是缓慢的。可以说是一个渐进的过程。学生入学一年级就可以直接接触专业方法(即编程),具有初步的能力,然后随着专业理论课程的学习,在掌握知识的同时,逐步提高解决问题的能力,和解决问题的质量。也即知识的积累和能力的提高是同步进行、相互促进的。

2对软件学科教学体系的新认识

传统专业知识体系一般可由三部分组成:即自然科学基础、学科基础理论、专业知识和方法。例如针对自动化专业,其自然科学基础包括数学、工程数学、物理等;学科基础知识包括电路理论、电机与拖动、电子技术、控制理论等;专业课主要包括两个方面,一是工程化的控制系统设计方法,二是具体的控制电路及设备的选择或实现技术。这个体系的特点是,专业技术课的学习依赖于自然学科基础(如数学)。专业课的学习依赖于专业基础课的知识体系。也就是说,传统学科的知识体系可以说成是金字塔形。

而软件类专业从大的方面虽然也可以分成自然科学基础、专业理论、专业技术,但是三者之间的关系却和传统专业有本质的不同。专业理论知识依赖于自然科学基础,专业技术能力一定程度也依赖于自然科学基础;专业技术知识的学习对于专业理论的依赖并不明显,而专业技术能力的提高却依赖于专业理论的学习。也就是说,学会专业技术知识并不依赖于太多的专业理论,但是学好专业技术,提高解决问题的能力,专业理论必不可少,并且起到不可替代的作用。

所以,要改革传统软件类专业的教学体系必须先从认识软件类专业和传统学科的差异着手,将自然科学基础、专业基础理论、专业技术课程的传统教学体系,改为自然科学基础、专业技术先行,专业理论适当延后的教学体系。

图2粗略地表示出了两种教学体系的区别。图中横坐标是每个学期的学时数,纵坐标是学生在校的时间。在新的教学规律指导下的新的教学体系应该适当地延后学习自然科学基础的时间。专业技术包括利用开发语言开发平台,后期是专业开发的实践。专业理论逐渐展开,用专业理论课的学习促进学生专业能力的提高。最终,学生的知识体系并没有残缺,但是在学习期间能力的提高更符合软件学科的教学目标。

不难看出,软件技术类专业人才培养与传统学科有着很大的区别。只有理解和遵循这些规律,才能更好地高效率地培养软件人才。这些规律必须反映到人才培养方案的制订中,否则,就不可能培养出符合市场需要的人才。虽然软件类专业目前已经多样化,建立在软件技术基础上的专业和专业方向很多,但是作为软件技术的核心能力和知识体系还是基本相同的。所以,软件类专业的培养计划制订,必须遵守以下原则:

(1) 自然科学基础课程宽厚原则。如数学是软件技术类专业提高逻辑思维能力的重要课程,并且线性代数、离散数学、概率与数理统计等课程都会对程序员解决问题提供灵感。所以,在本科教学计划中,应该把自然科学基础作为软件类专业的最主要课程,同时在开设时机上,要改变过去必须在前两年开设完毕的思维,可以分布在学习的各个学期。

(2) 以核心能力培养为主线,兼顾不同专业方向。软件技术类专业无论专业方向如何,其核心能力都是相同的。概括来说就是两个能力,即程序及软件设计能力和软件工程能力。这两个能力,一方面是软件技术能力,一方面是软件工程能力,软件工程能力也是以软件技术能力为基础的。所以,在进行培养计划制订的工程中,必须把核心能力的培养放在首位,然后通过适当的计算机科学、通讯原理、电子信息等了解性课程拓宽学生的专业领域。

(3) 专业技术课程先期教学原则。这是和传统学科区别最大的一个原则。软件技术课程的学习一般来说并不依赖于软件理论课程,所以,软件技术课程可以先期进行学习。软件技术专业的技术课程很多,各种开发平台、开发语言,不可能在学校都进行学习。那么就只能选其中的一种语言一个平台,并且要彻底学会。具体选择哪种平台和语言反而并不是很重要(如果能兼顾毕业时就马上能用到的技术更好)。因为掌握某种开发平台、语言不是学生的核心能力,软件设计能力才是最重要的。很多本科教育的研究者担心只学习一个技术会使得学生专业面太窄,在计算机技术发展迅速的今天很可能所学的技术在学生毕业时已经成为陈旧的技术,导致学生不能适应社会的需要。这样的研究者忽略了一点,能力需要通过大量的开发实践才能锻炼出来,要进行能力的提高就必须依托一个载体,这个载体就是某一个具体的技术。学会了一个技术以后,就可以在不断的开发练习过程中,提高软件开发设计能力,提高快速适应不同语言和工具的能力。同时在实际工作中提高其社会活动能力、社会责任感、与人沟通的能力、合作能力、系统分析能力等,而这些能力与开发平台和语言是完全无关的。

(4) 专业技术理论适当延后原则。需要说明的是在这里我们使用了专业技术理论,而没有使用专业基础课的说法,这是因为,我们常说的传统专业的专业基础课与软件技术理论课有本质的不同。它不是解决学习专业技术课程的必备基础,而是为将软件设计得更好的理论指导。计算机专业的教师都会有这样的体会,教授软件工程、数据结构、编译原理等理论性较强的课程时,有一定编程经验的学生总是能够收获更大。也就是说,学生必须先会设计程序,才会对怎么才能把软件设计得更好感兴趣。所以,培养计划制订中一定要把这些理论性较强的课程放在学生基本掌握了一些平台和技术以后再进行,这样就可以有效地利用这些课程提高学生的软件设计和软件工程能力。

(5) 加强实践性环节改革,把实践性环节作为提高学生能力的关键环节。能力只能在实践中的得到提高,虽然很多软件学院都在开展实践性教学改革,但是大都没有摆脱“课程设计+毕业设计”的模式。实际上,培养计划的大部分课程都是为了培养学生的软件设计能力和软件工程能力,所以,片面地验证某一门课程的所学知识的所谓课程设计,并不能全面地提高学生的程序设计能力,每门课程的课程设计都是在低水平上的重复内容。所以,改革实践教学环节,要在增加实践环节时间的同时,改革实践环节内容,要使学生的设计能力随着知识水平同步提高,实践环节内容和要求一定要随着学习时间不断提高。

(6) 产学结合,提高学生的软件工程能力。这几年,软件教育方面,大多数学校也都注意到了产学结合的重要性。但是,到底通过产学结合到什么目的,却并不很清楚。笔者认为,软件设计能力的提高必须靠软件设计实践本身来提高,企业中的实际工作更多的是软件工程的能力,是非技术的。例如团队精神、工程规范、软件质量控制等,不到实际的软件生产第一线,是很难有体验的。所以,和企业的合作一定要在学生具有了一定的程序设计能力基础上进行。当然不排除在学习过程中,通过企业参观等方法提高学生的学习兴趣。

3结论

软件学科的工程化水平和其他学科相比还远远不够,软件学科的认识规律与其他学科有着很大的不同,目前的软件本科教育沿用了传统学科的培养模式,给人才培养造成了很大的影响。本文所提出的一些思考和原则已经在笔者所在学校的培养计划编制方面得到应用,起到了一定的作用。今后还需要继续按照这些原则不断改造培养计划,努力使我国的软件人才培养能够得到突破性改革。

参考文献:

[1] 黄细良,骆斌. 坚持机制模式创新 办好国家示范性软件学院[J]. 中国高等教育,2004(4):42-43 .

[2] 汪琳琳,焦慧敏. 软件学院办学模式初探[J]. 重庆邮电学院学报,2005(3):437-439.

软件开发基础知识篇7

基础软件产业化瓶颈

20世纪80年代,计算机业的蓬勃兴起带动系统软件产业迅猛发展。微软英特尔联盟很好地适应了“一台机器,一颗CPU,一套软件”的垂直型产业发展模式,迅速发展壮大。微软通过“与硬件捆绑”,实现了每台PC都装有Windows系统的梦想。

近年来,苹果公司借助软件服务网络化的趋势成功地推出了APP Store的运营模式,其核心是将苹果的iOS系统化整为零,嵌入到iMac、iPod touch、iPhone和iPad中,配以新颖的运营方式,使互联网成为软件开发、部署与运行的平台。此举打破了原有产业发展格局,也使苹果的业务实现了爆炸性增长。

我国基础软件产业化离不开两条路径:一是军用,即应国防所需提供可靠、安全、高效的产品和服务,这需要不断提升产品和服务的技术水平,强调专业化以适应现代战争中愈加复杂的情况和问题;二是民用,体现出大规模工业化发展背景,这条路一直是国产基础软件厂商的软肋,在这一市场,我国基础软件企业长期面临着Wintel格局和开源软件两头挤压。

国产基础软件要实现产业化突破,首先在观念上要改变。英国科学家李约瑟提出:中国曾有非常先进的四大发明,但是为什么牛顿式的工业革命没有在中国诞生?这是中国学术界讨论了半个世纪没有结果的“李约瑟问题”。

其实,“李约瑟问题”的本质是“科学技术”与“生产力”的关系问题。从概念上来讲,这本是两个不同层面的东西,但人们往往误认为拥有“科学技术”就拥有“生产力”。我们经常以我们有四大发明而“骄傲”,却很少有人为它为什么没有化为生产力而“反思”。

面对火药发明的科技成果,我们用它来做节日庆典的“礼炮”,外国人则用它来做侵略的“枪炮”,获取财富;面对指南针发明的科技成果,我们用它来“看风水”,外国人却用它来做航海工具,开拓新航线,发展海外贸易。显然,我们检验科技成果是否有用的标准与国外不同,并没有将生产力作为其衡量标准。

为什么中国缺乏把“科技成果”转化为“生产力”的动力?因为缺少一套规范框架下可度量的科学技术体系,这也是过去人们常讲的“发展软件,三分靠技术”的原因所在。解决不好这个问题,即便有互联网、云计算这样的产业浪潮,人们同样可能与机遇失之交臂。

只有从产品、知识、营销体系全面推进,建设以科技成果转化为衡量标准的创新体系,才能发挥制度创新的力量,推动公司各业务单元成为产业化的主力军。

产业化创新体系的构成

“创新型国家”建设的出发点是推动经济增长方式由“粗放型”向“集约型”转变,简单地说就是建设效益高、成本低,这也是我们做基础软件研发和产业化的初衷。那么从“粗放型”到“集约型”转变的分水岭是什么?是对知识成果转化成生产力的策划和精确度量。

软件和信息服务是智力密集型产业,随着技术的升级、管理的进步和市场的成熟,产业化的成功不再是单靠哪一种因素就能达成,是需要融合科技成果、生产力和市场需求等多方面因素的集成创新。美国系统工程专家霍尔(A. D. Hall)于1969年提出了研究系统工程的“霍尔结构”,借助该理论中的“三轴法”,中标软件提出了以“知识(业务需求)、产品(科技成果)和营销(生产力)”为核心要素的基础软件产业化创新体系。知识、产品和营销分别代表基础软件产业化的三个维度。

三个维度互动,形成推动产业化的良性循环。产品(科技成果)和营销(生产力)结合,形成以生产力度量为指标提升产品研发和服务解决方案,解决从产品到市场收益的问题;产品(科技成果)和知识(业务需求)结合,形成业务需求指导下的技术和产品推广思路,使战略目标更为清晰;知识(业务需求)与营销(生产力)结合,改进总体架构设计,推动业务发展模式变革。

产业化创新体系建设要从“哲学层面”走向“操作层面”,从“总体规划”走向“WBS(项目管理中的工作分解结构)实施”。要将技术和产品变成产业化成果,必须审时度势,依靠自己的力量找到解决产业化问题的切入点。具体到工作层面,不论规划、执行还是项目管理,各部门的工作都必须具有可操作性,即要抓住可执行、可考核的东西。建立一套满足“工作推进、合作共赢、市场开拓、资本运作”需要的工作推进机制,这样才符合组织行为的基本准则。

产品维(科技成果)以客户需求为导向,包括立项论证方案设计、产品研发、产品适配、定型维护和更新换代等关键环节。

知识维(业务需求)推动基础软件产业化始终与应用服务相结合,从“数据信息知识智慧”逐层递进。数据指客观事物的属性、数量、位置及其相互关系等的抽象表示;信息指数据所表示的内涵;知识是以各种方式把一个或多个信息关联在一起的信息结构;智慧指知识的集合与智力的综合。

营销维(生产力)以营和销为立足点,“营”强调自顶向下的顶层设计,“销”强调真抓实干。具体体现在通过评估客户需求,找准细分市场和定位,制订营销计划,改善传播渠道和媒介,建立客户信任,最终提高客户满意度。

产业化创新体系建设

国产基础软件产业化是一项系统工程,需要以创新体系建设为统领,以科技成果产业化方法来指导产品的研发和服务的提供。产业化创新体系中的“体”,是与产业化过程相适应的体制、机制、规范等内容的建设;产业化创新体系中的“系”,是辅助产业化的工程架构思想、创新方法和行业知识库。

在创新体系建设中,要充分发挥自身能动性,融合已有科技成果和广大市场人员的聪明才智,整合营销资源,做好以下几方面工作,并以此作为创新体系建设的切入点。

知识维:推动行业知识管理与国产基础软件结合,通过在医疗、政务、能源(电力)、教育等行业积累知识,以咨询规划和运维为切入点推动国产基础软件在重大行业中的示范应用,组织公司培训宣贯ITSS服务标准,提升运用企业架构(TOGAF/FEA)和创新方法(TRIZ)的水平。

软件开发基础知识篇8

1研究背景及意义

培养既懂技术又懂管理的软件高级人才,是各软件学院追求的目标。对软件学院的学生来说,项目实践能力、自学创新能力、团队合作能力和交流表达能力是其职业生涯中所不可或缺的。如何开设学生在校期间的实践课程,对学生进行软件开发基本技能训练,使学生在学习了软件开发技术相关领域的理论知识后,能够充分地锻炼这些能力,顺利就业,并在此后的职业生涯中有所建树,各软件学院针对这些问题都在进行积极的改革与探索。

对于大多数软件学院,制定合理的、适用于软件开发技术快速发展的实践教学模式面临的问题主要有以下两点:

1) 学生实际掌握的软件开发技术水平参差不齐。新入学的工程硕士超过半数来自非计算机专业,这些学生具备相应的专业领域知识优势,但在软件开发技术所必需的软件基础知识方面却存在不足。

2) 软件开发技术包括语言、开发工具及其所使用的开发方法。同时还需要掌握与软件开发技术相关的专业基础知识,以及要了解所开发程序的实际运行平台。各层次、各方面的大量实用产品和技术的推出,以及软件工程硕士的学制短和学科基础差别大的现实都给学生入门学习和系统掌握软件开发领域的核心知识带来巨大困难。

因此,研究和探索一种以动手实践为主导、融合多门传统课程、符合软件工程思想的软件学院实践教学模式,将为软件工程相关知识的进一步学习,提供坚实的理论基础和技能保障。本课题的研究内容,将为软件工程硕士实践教学模式提供借鉴意义,同时,也可为软件相关专业高年级本科生的软件开发技术能力培养提供参考。

2研究内容及主要观点

2.1研究范围和研究目标

本文研究的实践内容和模式主要针对于新入学的工程硕士,是根据软件学院工程硕士入学时掌握的软件开发技术水平参差不齐,部分学生缺少开发设计软件所需要的基本编程能力、基础核心支撑课程知识点的实际情况提出的。我们希望通过大量的实例强化训练和有针对性的讨论辅导,为学生顺利学习、理解和掌握“专业方向领域的知识点”打下坚实基础,为提高学生分析问题、解决问题的能力提供技术平台支撑,具体目标如下:

1) 通过该实践课程的学习,向学生灌输高质量程序设计的观念,使学生具备实际的编程能力,具备学习新语言的基本素质。

2) 通过该实践课程的学习,使学生在熟练掌握语言技能的同时,深入理解算法、数据结构以及与平台(Windows和Linux)有关的进程和网络编程的基础知识,并能够自觉关心软件质量,包括软件的正确性、效率、易用性、可读性(可理解性)、可扩展性和可复用性等。

2.2主要观点

本实践课程强调学生的主体地位,教师的指导作用,采用讲座、小班讨论和实验相结合的方式进行。通过一门常用语言(C++)和两个常用平台(Windows和Linux),培养学生综合运用已学知识的能力,使其深入理解程序工作的本质,为以后解决各种大型实际问题打下坚实的实践基础。实践课程的基本构成是:9次×3小时讲座+6次×3小时实践讨论+实验。

实践内容按专题组织,以C++作为程序设计语言、以Linux/Windows为实践平台,共设置涵盖编译原理、数据结构和算法、操作系统和网络编程等核心基础课程在内的9个专题。每个专题的课程形式包括讲座、实验、实验报告和讨论课4个环节。实践内容的研究、确立和整合围绕以下指导思想进行:

1) 通过动手实践深入理解软件开发基础理论。

2) 提取核心知识点,压缩课时,消除各传统课程之间的隔阂,以适应软件工程硕士学制短和学科基础差别大的现实要求,讲座内容以“专题”进行。实践的题材包括练习、实验和典型案例分析等,实践的手段包括一读、二写、三总结。强调程序设计规范,确保技能的系统性和规范性。

设置讲座的目的是要把各专题核心知识点的来龙去脉介绍给学生,使学生对目前程序设计的关键技术和基础知识有个整体印象。因为虽然目前软件设计技术种类繁多,但究其本质,还是超不出软件工程的基本思想。学生在学校不可能完全熟悉每一项技术,但理解常见技术的应用背景和发展原由却是进行相关应用的前提。

设置实验的目的是让学生通过阅读经典代码和自己动手编程去深入理解程序的工作原理,并通过总结做到举一反三。在熟练掌握基本的编程技巧,学会规范化编程的同时,系统地掌握相关的基础理论知识。

设置讨论课的目的是要解决学生基础差别大,相当部分学生基础薄弱的问题,实现个性化教学和辅导。课程讨论分小组进行,每组10~15人,每专题每小组两小时。讨论课主要用来解决该小组学生在自学和实验过程中所遇到的疑难点,并通过讨论这些疑难点,有针对性地对该小组学习作出总结。

为了便于大家的学习和沟通,学院网站为实践课程设立专门的文档下载、上传区和讨论区。学生可以下载与实践相关的各种文档、案例、讲座内容以及经典参考书目;学生也可以通过上传区提交每周的作业,包括编程源代码和实验报告;学生还可以在该区域进行重点、难点的讨论,提出好的建议,便于课程的改进和课程内容的及时更新,做到与时俱进。

9次讲座内容如表1所示,6次实验课的内容如表2所示。

2.3实施原则

为了使实验课的实际效果落实到实处,学生真正能够从中获益,提高软件开发的基本技能,实践课程的执行和实施必须遵循如下4个原则:

1) 一种语言,两个平台,分专题训练[1]。

软件工程实践以C++为基础,因为相比目前流行的C、Java和C#,C++既是面向对象编程,又具有Java和C#不具备的指针和引用等和内存管理相关的比较直观的技术,同时C++在操作系统、设备驱动程序、视频游戏等领域相比上述语言也存在优势。两个平台为Windows或Linux。考虑该实践课程的主要目的是“学生的计算机领域核心的基础知识的掌握和提升”,知识面涉及编程语言、算法、数据结构、操作系统、编译原理和网络等各个方面,实践内容以“专题”进行,同时也要求实践指导老师具有丰富的项目实战经验。

2) 个性分块和统一指导相结合[1]。

所有学生根据具体基础条件分为15人左右一组,设立小组长。各小组根据自身条件,进行强制集中练习,从而保证上机和实践时间。每周各小组具体的训练内容由指导老师根据小组的具体情况分别指定。学生必须在完成老师指定的任务后才能自行决定训练内容。学生也可对指导老师提出学习内容变更建议,但须征得指导老师同意。

3) 分散训练与集中讨论相结合[1]。

学生在每周针对各小组举行的讨论会上可以提问相关问题。指导老师要回答相关问题并对学生上周的作业数量和质量进行评定,并根据小组所有学生的具体情况指定相互帮教的计划,布置下一周的练习内容。指导老师在学生的整个实践过程的作用是指导、监督并对其中的每一个环节进行考核打分,及时发现问题,及时总结解决,确保所有环节落到实处,不流于形式。

4) 坚持考核评审的原则。

考核采用平时成绩与期末笔试相结合的方式,其中平时成绩占总成绩的40%,笔试成绩占总成绩的60%。平时成绩由指导老师根据平时实际情况给出,主要依据是学生每周完成案例代码和实验报告的质量,笔试侧重于代码阅读、设计能力以及基础概念和原理的理解和掌握。

3结语

通过整合课程内容、强调学生自学和教师辅导相结合的方法,我们在有限的课时内达到了补习软件基础知识和学习面向系统软件开发技术的两个教学目标。学生的反馈调查显示本课程体系得到了学生的高度认可和肯定,取得了一定的成效。但是整个软件市场中依然存在着企业招不到合适的高级软件人才,毕业生就业难的供求矛盾,面对软件开发技术知识体系更新换代快的特点,如何培养能够适应市场发展,具有创新意识的高素质软件人才将一直是我们探索研究的重点。

参考文献:

[1] 覃文忠,万金友. 关于软件学院实施“项目驱动”教学模式的探索[J]. 计算机教育,2004(4):57-58.

[2] 南京大学软件学院工程硕士培养方案[S]. 南京:南京大学软件学院,2006.

[3] 北京大学软件与微电子学院工程硕士培养方案[S]. 北京:北京大学软件与微电子学院,2005.

[4] 张广军. 微软院校课程体系设计理念[R]. 北京:北京航空航天大学软件学院,2005.

[5] 北京航空航天大学软件学院软件工程硕士培养方案[S]. 北京:北京航空航天大学软件学院,2004.

[6] Michael L. Scott. Programming Language―Pragmatics[M]. 裘宗燕,译. 北京:电子工业出版社,2005.

[7] Randal E. Bryant. Computer Systems―A Programmer’s Perspective[M]. 龚奕利,译. 北京:中国电力出版社,2004.

[8] Kenneth C. Louden. Programming Language―Principles and Practice[M]. 黄林鹏,译. 北京:电子工业出版社,2004.

Exploration of Practice Model in Software College

SHEN Xue-ping, YUAN Cang-zhou, WANG Hua-feng

软件开发基础知识篇9

一、引言

科学技术的飞速发展,使计算机技术在社会生活各个领域得到了广泛的应用。计算机软件技术基础是高校计算机基础教学中的重要内容,随着《关于进一步加强高等学校计算机基础教学的意见暨计算机基础课程教学基本要求(试行)》 的出台,国家对计算机基础教学提出了新的要求,即打破传统教育模式,以人为本,学生为主体,造就既精通本专业基础知识,又能掌握计算机应用技能的复合型人才,达到素质教育的培养目标。

计算机软件技术理论,是学生学以致用的基础,其涉及的知识面广、概念多、原理复杂和抽象,理解上会有一定的困难。因此,从计算机教学出发,对计算机软件技术基础课程教学知识体系、教学模式和教学方法等进行深入的分析和研究,寻找科学的教学方法,全面提升学生软件开发应用技能和解决实际问题的能力,为学生终身可持续发展提供更为广阔的空间,就显得尤为重要和迫在眉睫。

二、计算机软件技术基础课程教学特点和教学目的

计算机软件技术基础课程既是集计算机网络基础、操作系统、数据结构、软件工程以及数据库等多门专业课为一体的综合课程,涉及面广,内容相对独立,也是一门理论与实践结合性较强的课程,其线性结构、非线性结构、图、查找、排序等数据结构与算法之间关系复杂。教学中,应针对应用实例,对编程中常用的算法给予重点讲解,对典型数据结构数据元素的集合关系以及基本运算展开教学研究和深入的讲解。

计算机软件技术基础课程的教学目标,是用科学的方法引导学生,通过课程学习,既掌握计算机软件技术基本理论知识、具备开发应用软件所必需的软件基础知识、懂得高级编程语言知识、丰富编程技术和基本算法,又熟练运用程序设计的思维和方法,使其软件素质得到提高,抽象思维能力,灵活运用高级语言进行程序设计和动手编程解决实际问题的能力得到加强。

三、计算机软件技术基础课程教学现状分析与对策研究

(一)现状分析

基础知识不扎实。学生计算机知识较薄弱,尤其是该课程是以概念多、抽象而复杂的“C语言程序设计”为基础的学科,理论知识多、应用层面的内容相对较少,学生难以理解的同时,感觉枯燥乏味,产生畏难情绪,加重了思想包袱,严重影响了学生的学习热情。

教学方法单一。缺乏先进的教学理念的指导,教学策略上缺乏创新,沿袭着“你教我学”的教学模式,学生始终处于被动学习的地位,积极性受到压抑,自身创造力和潜能未能得到有效发挥,知识传输与能力培养相互割裂。

课时限制。该课程知识点较多,课程学时安排较短,教师偏重基本理论讲解,学生在短时间内难以消化吸收包括数据结构、操作系统等繁杂的基本概念,而程序设计和调试技巧等实践性较强的部分往往因课时限制只能点到为止,学生无法体会课程的乐趣,更无法进行深入研究,严重影响了教学目标的实现。

(二)对策研究

明确教学目标。摒弃传统教学方式,倡导以学生为中心,注重学生知识水平和技能的培养。教师应对计算机软件技术基础有一个全新的定位,在对教材知识点内涵与外延正确把握的基础上,精心设计和巧妙安排学生易于接受的课堂教学活动,准确驾驭计算机软件技术基础课堂教学,将“任务驱动法”、“合作学习法”等优秀教学方法组合运用,创设探究情境,激发学生的学习热情,使其对操作系统、 数据结构、 数据库技术等功能和运用产生浓厚的兴趣,不断提高学习能力。

丰富课堂教学手段。以“任务驱动法”为代表的互动教学法,是上世纪80年代后逐渐发展成熟的实践型教学方法,是国内外运用较多的、先进的教学理念。它是让学生在“做中学”,通过学生的参与和体验,在完成任务过程中主动地去分析和思考问题,加深对知识的理解和感知,共同探讨解决问题的方法,进而达到对知识、技能的理解和掌握,既增强了知识点的融会贯通,也强化了学生主动积极的学习意识。

巧设学习情境。软件技术基础课程教学目的,是让学生打破常规,启迪思想,通过探索、实践,掌握理论知识并能灵活地加以应用。“情境教学”正是基于这一先进思想的教学方式。如学习语言编译时,使用“栈”可实现函数过程的调用。当计算机输出数据打印时,打印机速度慢,为解决这个问题,教师安排学生们分组讨论,最终在操作系统中设一个打印队列,将打印任务逐个完成,避免了数据丢失或打印次序混乱。任务进行过程中,学生们热情高涨,积极思维,体会知识的奥妙,深刻认识到了这门课程的意义和作用,同时小组成员团结协作,焕发出可贵的集体智慧,在目标实现过程中体验成功带来的巨大喜悦。

构建良好师生关系。教师传道授业,是学生学习的组织者和倡导者,更应成为学生的良师益友,将抽象的、枯燥的软件技术基础,用实用化和情趣化的现代教学思想巧妙呈现,产生共鸣、碰撞智慧的火花,使学生充分感受学科魅力,从而启迪心灵,放飞思想。当学生暴露出畏难或厌烦情绪时,教师应给予最大限度的宽容和理解,并用科学的思想加以引导,鼓励他们打破常规、迎难而上,与学生共同完成知识点的跨越。

四、结论

综上所述,打造充满生机和活力的计算机软件技术基础课程教学,是新时期高校教学的需要,也是实施素质教育的关键。只有对教学现状进行深入的分析和研究,采用科学的方法正确梳理教学思路,将优秀的现代教学思想融入计算机软件技术基础课程教学,优化教学过程,才能实现教学相长,不断提高计算机软件技术基础课程教学的实效。

参考文献:

[1] 龚正良等.计算机软件技术基础[M].北京:电子工业出版社,2002.

[2] 孙亚杰.计算机软件技术基础课程教学探讨[J].科技创新导报,2013(6):168.

软件开发基础知识篇10

实训是一种新的实践教学形式,最早在职业技术教育中开展,其目的是解决毕业生走向职业岗位时达不到岗位要求的问题。由于职业教育的定位是面向岗位的职业技能教育,培养生产一线的操作人员,所以实训教学以系统地训练岗位技能和技术运用为主。近几年,高校为了解决毕业生由于不能适应工作岗位技能要求导致就业不畅的问题,加强了以培养学生实践能力为主的实践教学改革。许多院校的软件工程类专业(方向)在学生进入实习之前,增加了实训教学环节。由于对实训教学目标定位的认识不同,导致在实训的时间长度、内容、要求和管理上有很大差异,对实训教学的研究和建设投入不足。本文结合我校计算机科学与技术专业(软件工程方向)人才培养的实践,以及我们对本科软件工程实训的认识,介绍我校软件工程实训的目标定位和对相应课程体系的探索、实践情况。

1软件工程人才培养课程体系

我校是以教学为主,培养应用型人才的地方本科院校。我校的计算机软件工程人才培养定位是:“掌

握计算机科学与技术学科的基础知识与技能,具有一定的工程技术基础和较强的实践动手能力,具有创新精神、竞争意识和良好的团队合作能力,能够适应技术进步和社会需求变化,能够从事计算机应用软件开发与管理的高素质软件工程人才”。根据国家对本科人才培养“宽口径、厚基础、强能力、高素质”的总体要求,和教育部高等学校计算机科学与技术教学指导委员会的软件工程专业规范[1],我们构建了简称为“211”结构的课程体系,它主要包括大学基础教育、专业教育、职业技能与技术应用教育、综合素质培养四大板块。即在大学一、二年级,用两年的时间进行大学基础教育,包括人文社科、身心健康、工具(外语、计算机、文献检束等)、专业基础等,以学生长远发展需要,提升基础知识层面和综合素质,为后继的专业课程学习做铺垫为目标;三年级进行系统的专业教育,以专业核心知识和基本能力培养为主,以提升学生专业知识层面和专业基本能力为目标,同时开启必要的专业方向课程,为后继的职业技能培养做铺垫;四年级进行面向岗位的专业职业技能培养和技术应用创新教育,以学生就业为目标,其主要的教学形式是实践教学。课程体系结构如图1所示。

图1人才培养课程体系结构示意图

2目前国内软件开发实训存在的主要问题

目前国内开展软件实训的机构主要有三类:企业或软件行业协会投资的社会培训机构;由政府、企业等多方投资建设,独立运营的实训机构;校企合作共建的实训基地,这中间又有两种,一种是以学校投资为主,实训基地建在校内;另一种是学校进行必要的投资,实训基地建在企业。实训开展形式主要有三类:1)学校将实训委托给社会培训机构或企业,由他们负责学生实训教学;2)学校与社会培训机构或企业合作,派出实训指导教师与承担实训教学任务的机构共同实施实训教学;3)由学校自己组织在校内进行实训教学。由于承担实训任务的主体各自的利益目标不同,各自的擅长不同,实训对象所拥有的基础不同和各自对实训的理解不同等多种原因,造成目前软件实训存在以下主要问题:

1) 实训的内容体系设计单一,通常只要求通过训练掌握某项具体的开发平台技术,追求的是程序代码的实现。

2) 用于实训的软件开发项目小,软件开发过程的控制与管理、软件质量控制与保证、团队的合作与协调等软件工程的重要内容和思想体现不出来,使得学生在实训之后,没能体会到软件工程的特点和重要性。

3) 实训指导教师的软件项目开发经验少,工程素质不高,同时缺乏相关的教学经验,不能保证软件工程的思想、技术、方法和要求在实训中得到贯彻落实。高校教师在软件开发的工程能力和经验上缺乏,而来自企业的指导教师在软件工程理论和实训教学方法上存在明显不足。

4) 实训所需的工具、平台等条件不足,不能保证实训目标全部实现。

5) 实训的团队合作、团队目标管理往往被忽略,这使得经过实训之后,学生的团队意识,与人沟通、协调、合作的能力没有明显的提高。

6) 实训中学生对新知识、新技术学习的能力培养没有得到应有的重视和训练,鼓励创新的机制和措施不够,这使得经过实训之后,学生除在具体某项技能方面有所收获之外,在学习能力、技术应用能力、接受新事物和创新意识等方面收效甚微。

3软件工程实训课程体系建设

实训是一个综合、系统的工程,其目的是提高学生的知识、技术应用能力,积累工程实践经验,从而提高职业技能,实现从学生向职业工作者的转化。对于以上存在的问题,我们认为师资、课程体系是核心和基础,实训项目是关键,在干中学,在学中干是行之有效的方法。以下仅就软件工程实训课程体系的建设进行探讨。

3.1目标定位

课程体系反映了对人才培养的知识和能力要求[2]。本科软件工程型人才的实训定位应该从软件开发企业的岗位要求、学生职业发展空间、初步能够适应多种岗位需要等多方面考虑。从学生初次就业的岗位看,软件开发人员的主要岗位有程序员、测试员等。这类人员需要有良好的理解设计和程序的能力,能够在一种开发平台上熟练地进行规范的程序设计和相应的程序测试,能够清楚自己所做工作与他人工作之间的关系,理解自己所做工作在整个(或局部)设计中的作用。从职业发展空间看,软件开发人员经过2~3年的实际工作锻炼,应能够承担软件工程师的角色,承担必要的分析、设计、任务分解、技术指导、协调和管理任务。所以,本科的实训目标定位既要面向现实,又要给学生发展的潜力和意识。我校的软件工程实训的目标定位是提高软件开发程序实现技能,提高软件工程知识、技术应用能力,积累软件工程实践经验,实现从学生向软件职业工作者的转化。具体要求是:

1) 熟练掌握一种软件开发平台及相关技术,能够用它们进行规范的程序设计。

2) 掌握软件测试的方法,初步能够设计测试方案,用测试数据集完成相应的软件测试工作。

3) 理解软件生命周期中各环节的主要概念,初步掌握各环节的主要工作、所采用的技术和实施方法,初步掌握有关工具的使用,能够用它们完成相关的分析、设计工作。

4) 了解软件开发的过程控制、质量保证和管理的方法和特征,理解它们的重要性。

5) 理解团队及各种角色的作用,掌握交流勾通、协调合作的必要方法,形成团队意识。

6) 形成快速学习专业知识和技术的能力,查阅相关技术资料(含英文资料)的能力。

7) 了解、体验软件企业的工作环境、形式和要求。

3.2构成原则

实训以项目为载体,以软件开发的工作流程为驱动实现知识、技术、能力和素质的全面提高。实训课程体系作为实现实训目标,制定实训计划的基础和核心,应坚持以下原则:

1) 以企业实际需求为导向,以能力培养为核心,以学生适应软件技术岗位为目标,以职业岗位技能为重点,兼顾长远发展。

2) 注重知识、技术、能力、素质的协调发展,使学生通过实训既学习了知识和技术,又提高了应用知识、技术的能力,升华了自身的素质。

3) 以职业技能训练为重点,突出技术应用能力培养,强调在应用中创新,通过解决问题来体现技术和人的价值。

4) 课程体系应具有开放性、灵活性,能够即时反映软件技术的发展。

5) 课程体系要与人才培养方案的课程体系衔接,有明确的应用软件开发领域,体现自身特色。

3.3课程体系内容

我校的计算机专业软件工程方向人才培养计划课程设置以计算机科学优先,接着是软件工程基础和软件开发平台技术基础课程,将软件工程的技术与方法、软件开发的管理、软件开发平台技术的深化、职业综合素质等方面的课程统一综合到实训课程体系中;以互联网应用软件开发为平台,以管理信息系统和电子政务/电子商务为应用领域。实训过程以软件项目开发工作流程为主线,内容涵盖项目开发的全过程,保证学生能够体验到软件开发的全过程。实训以职业技能和技术应用为重点,教师讲解不超过总时间的20%。软件工程实训课程体系如图2所示。

1) 在实训之前开设软件工程与技术基础课程群。它主要是为学生进入实训之前奠定必要的技术、

图2软件工程实训课程体系示意图

工程和应用领域知识基础。主要课程有软件工程导论、面向对象设计方法、信息管理系统设计与开发、C#语言程序设计、.Net架构程序设计(或Java语言程序设计、J2EE架构程序设计)、XML语言、Linux操作系统(或Unix操作系统)、电子商务、电子政务等。

2) 开发技术平台课程群。它是在.Net开发平台(或J2EE开发平台)基础之上进一步深化、细化有关技术,提高在开发平台上的软件实现能力的一组课程。主要课程有人机交互与界面设计、数据库程序设计、数据接口程序设计、Web Services设计、应用安全程序设计、动态服务组合、新技术介绍等。

3) 软件工程技术与方法课程群。它是一组提高学生软件工程意识、技术和方法的课程,是学生今后向高层次软件职业人员发展必备知识和能力。它培养学生具有软件工程的理论知识,能够应用它们指导软件开发的实践。要求学生掌握常用的需求分析与设计工具,具备一定的软件分析与设计能力,了解软件开发的管理过程和技术。主要课程有:软件需求分析、软件设计与体系结构、软件详细设计、软件测试与质量保证、软件过程与管理、软件分析与设计工具等。

4) 职业综合素质课程群。它是一组提高学生非技术方面的综合素质的课程。它培养学生团队意识、沟通合作能力、专业资料获取与专业外语应用能力,使其具有良好的职业道德和一定的工程经济概念,了解现代软件企业的运行与管理。主要课程有团队激励与沟通、工程经济学概念、信息社会与职业道德、软件成熟度模型与软件企业管理等。

在课程体系中,开发技术平台课程群是学生实习、初次就业体现自己的技术和能力的主要内容,同时它是更好地理解、掌握软件工程技术与方法中诸课程的基础。所以,它是实训的重点。软件工程技术与方法是中、高级软件职业人员必备的知识和能力,需要在大量的工程实践中去提高认识和积累经验。它在实训中以体验、领悟为主,重点是训练分析、设计的方法和相关文档的规范表达。职业综合素质课程群的知识对于学生步入社会,在职场上取得成功很重要,并且它是实训取得成功的基础性知识,要贯穿整个实训过程。

3.4评价指标

实训所包涵的内容和重点是实训成功的核心和

基础。为了科学评价与不断优化实训内容与重点,通过向行业专家咨询和实践,我们初步建立了一个实训课程体系评价指标体系[3]。它主要由职业技能、工程实践、专业知识和职业综合素质几个方面构成。评价指标体系如图3所示。

图3课程体系评价指标体系

4结语

我校从2005年开始,通过与微软合作,引进微软职业技术教育课程,开始在计算机本科教育中用一定的时间进行职业技术教育。通过对两届学生的教学实践,我们感到微软职业技术教育课程相对本科人才培养存在着软件工程方法、技术方面内容薄弱,而微软

开发技术内容过细的问题。2007年,我们通过对有关教学内容的调整补充,整合成软件工程实训。实训大大提高了学生软件开发技术的掌握和应用能力,增强了学生的就业能力和质量。2007、2008届参加软件工程实训的学生,90%以上到软件开发企业就业。学生的知识结构、技术水平和能力、综合素质等得到企业好评。

参考文献:

[1] 教育部高等学校计算机科学与技术教学指导委员会. 高等学校计算机科学与技术专业发展战略研究报告暨专业规范(试行)[M]. 北京:高等教育出版社,2006:12.

[2] 舒蔚,万常选. 计算机专业程序设计课程体系架构的研究与实践[J]. 吉林大学学报:信息科学版,2005(8):1-4.

[3] 韩春燕,高晓兴,姜慧妍,等. 软件工程专业课程体系优化方法研究与实践[J]. 计算机教育,2009(4):70-73.

Research on Curriculums in Software Engineering Training

YUAN Lei, HUANG Jian, NING Bin

软件开发基础知识篇11

中图分类号G206.2 文献标识码A 文章编号 1674-6708(2013)107-0134-02

随着信息技术的发展和互联网的普及,以高速互联网、移动网络、数字广播电视、IPTV等为载体的数字媒体迅速发展。数字媒体技术专业是一个以计算机技术为主,艺术为辅,技术与艺术相结合的新兴专业。教育部于2004年正式批准设置数字媒体技术专业,至今已有100多所高校新办或改办了数字媒体技术专业。[1]重庆大学软件学院立以软件工程为基础,结合数字媒体新技术,培养能胜任软件系统分析与设计、数字媒体产品创作及编辑、数字内容传播、数字娱乐等领域的理论研究和应用研发工作的数字媒体技术专业人才。作为数字媒体技术重要应用领域的游戏开发近年来一直保持高速发展势头,国内从事动漫游戏自主研发的企业越来越多,国产游戏份额越来越大,自主研发的力量越来越强,培养复合型游戏开发人才的需求在不断增长。游戏设计与开发作为数字媒体技术专业中一个非常重要的方向,在课程设置上要结合当前的产业发展需要和行业发展需求,加强专业基础,加强不同学科间的交叉和渗透,重视动手实践能力的培养,注重创新能力的培养,为应用型、复合型、创新型人才的培养打下坚实基础。[2]国内很多高校在游戏人才的培养教育方面做了大量有益的探索,分析了培养现状及存在的问题,提出市场对游戏软件人才的需求及能力素质模型。[3]重庆大学软件学院开设了多门游戏相关课程,并与公司企业合作,结合实训实习以及创业实践等多种方式,培养游戏产业所需人才。

1 基础理论知识教学

数字媒体技术专业的游戏人才需要扎实的理论基础知识,具体包括数学基础、计算机基础、软件工程基础、数字艺术基础、数字媒体技术基础。

1.1 数学基础

数学基础为游戏开发提供数学和应用数学的理论和科学支撑,进行数字媒体的获取、处理、存储、传输都需要大量的应用数学知识。游戏中的数字图形的表示、生成、处理,游戏中音频图像视频的处理,游戏的算法都离不开数学基础的支持。重庆大学软件学院数字媒体技术专业的学生必须学习高等数学、线性代数、概率论与数理统计课程。

1.2计算机基础

游戏开发是以计算机技术为依托,结合计算机图形学、数字图像处理技术才得以实现,因此掌握计算机学科的基本理论、方法、工具是数字媒体技术专业学生所必须具备的。具体课程包括:信息系统基础、程序设计基础、数据结构与算法、数据库原理与设计、计算机组成与结构、操作系统原理、计算机图形学、数字图像处理等。

1.3 软件工程基础

软件工程是计算机科学的理论和技术与工程管理的原则和方法相结合,研究如何科学有效地进行软件产品的定义、设计、开发和维护。游戏作为一个产品包含文化创意、艺术设计和软件开发。游戏程序的制作就是一个软件开发过程,也一样遵循软件产品从可行性分析、需求分析、设计、实现、测试、维护升级一整套流程。所以作为基础,数字媒体技术专业需学习软件工程导论、软件需求分析、软件项目管理、软件测试理论与方法、软件体系结构与设计模式等课程。

1.4 数字艺术基础

软件学院数字媒体技术专业本科生来源于理科类高考生,缺乏艺术相关基础。而游戏是一个典型的文化创意、艺术设计和软件开发相结合的产物。游戏软件开发过程中需要与剧情创作、美工设计、音频视频制作的人员协作。游戏软件开发自身也需要一定的艺术修养,了解媒体艺术领域知识,成为技术和艺术相结合的复合型人才。在教学中安排了数字艺术导论、色彩与平面构成、数字摄影摄像、数字作品创意策划等课程。

1.5 数字媒体技术基础

游戏开发作为数字媒体技术在应用上的一个重要方向,需要数字媒体技术基础的支撑。具体开设有数字媒体概论、数字化音视频技术、DirectX图形程序设计、网站策划与Web程序设计、虚拟现实技术、移动多媒体应用开发等课程。

1.6 游戏相关课程

游戏开发是一个应用性很强的技术,所以数字媒体技术专业本科生游戏开发能力的培养采用课堂教学与实践教学相结合的模式。首先在课堂上讲授相关背景知识、技术基础,对以后在游戏的设计和开发过程中需用到的工具、方法加以系统地讲解。开设的课程有数字动画与游戏设计、游戏引擎分析与设计、游戏中的人工智能。

2 实践创新能力培养

采取分层次、分阶段、循序渐进的模式,由浅入深、由简单到综合、课内外结合,并通过开放式实践教学,鼓励学生自主立项,充分调动学生学习的积极性和主动性,培养学生的工程实践能力。依托学科,分步导向,构建实践教学体系。

2.1 课程实验

用于巩固和加深学生对于特定理论知识点的理解程度的实验。根据课程教学计划,在专业课程中安排与课程同步的验证性实验。在专业基础实验室开展计算机图形学、数字图像处理、多媒体技术等软件工程方面,及素描、速写、色彩等人文艺术方面的基础训练。在实践教学过程中,学生会获得绘画、摄影摄像、数字媒体制作、计算机图形图像处理、动画设计、游戏开发以及音视频后期编辑、虚拟现实技术与人工智能技术应用等方面的专业知识。

艺术基础素质的培养:通过艺术赏析、绘图和绘画、形态构成基础、视觉传达设计等系列课程的学习和实践,培养学生的艺术欣赏和艺术理解能力。

基本程序设计能力的培养:通过程序设计语言和面向对象程序设计、数据结构、软件技术基础、Java程序设计等系列课程从浅入深完成学生基本程序能力的培养。

数字媒体前期制作能力的培养:通过数字媒体与数字艺术、多媒体技术、平面设计与摄影摄像、计算机图形与图像处理等系列课程培养学生对数字媒体技术专业有充分的认识,具备多媒体技术和计算机图形图像处理的应用能力。

动漫游戏设计能力的培养:通过动画设计、动画制作、游戏概论等系列课程使学生掌握动漫游戏前期的设计与制作的基础概念和技术。

2.2 课程设计

要求学生采用特定的系列技术,运用已有的知识模拟系统分析、设计和实施的过程。采取团队实践的手段,遵循软件工程原则,是用面向对象方法,进行中等规模的应用开发。结合数字媒体技术专业培养计划进行计算机绘图课程设计和数据库课程设计。

在课程设计中,依据项目的大小,可以安排学生独立完成,或者分组完成,培养学生在项目开发过程中的合作交流能力。从小项目开始锻炼,为以后走入职场打下基础。

另外加入数字媒体技术方向的课程设计,使学生能够掌握和应用数字媒体作品制作和数字娱乐软件开发的各种专业知识和技术。学生按照指定的实践教学计划要求选择课题,提出设计方案进行讨论,最后在教师指导下完成课题。学生必须提交书面设计文档,学生也参加对于课题完成质量的评价,并最终以小型报告的形式提交课题。培养学生运用专业知识进行数字媒体作品的制作和数字娱乐软件的开发。

2.3 专业实训

实训环节着眼于,在未走出校门的情况下,在学院内部构造一个与在企业里实习相类似的工作环境,针对在校学生项目实战经验缺乏的突出问题,设计制定了合理的实战训练过程。基于一个具有一定规模的实际应用项目,是用主流的开发环境,采用符合软件产业界标准的软件过程规范,进行半封闭式企业化管理,让学生能够切身经历一个完整游戏项目开发的过程,培养和提高学生的实战技能和团队合作能力。

实训过程由软件企业具备丰富的项目开发经验的开发人员或学院教师指导,并带领学生在项目开发团队中扮演不同的角色,与团队其他成员共同完成实际项目。并在此基础上增加对学生职业素质以及求职技巧的培养,让学生具有更强的核心竞争力,能够在目前日益激烈的社会竞争中凸显自己的实力,能够使学生的毕业实习实现“零适应期”。

学生通过在实习基地或工程训练实验室中的实习活动体验游戏的制作工作,增加游戏作品创作和制作工程经验及团队精神的培养。专业实训安排在不同的学期末或者学期开始,集中2-3周时间完成,具体安排见表1。

2.4 工程实践

数字媒体技术专业的工程实践主要是指在短期或较长期培训之后,学生在实习单位直接参与企业实际课题的研发,在实践中进一步巩固所学知识,增强创新意识,培养动手能力和专业技能,提高就业竞争能力。部分学生到工程实践教学基地完成,部分学生在国内外软件公司完成。工程实践可以与毕业设计结合起来,一同开展。

3 结论

游戏人才是兼具数字媒体技术与艺术修养的复合型人才,须具有扎实的应用数学、计算机科学、软件工程的理论基础,和丰富的编程开发经验,掌握游戏这种特殊产品的创作开发技能。相较欧美日韩等发达国家,我国游戏产业起步较晚,但正在迎头赶上。高等学校在进行科研创新的同时,也要密切联系社会,与相关行业沟通交流,共同探讨符合产业发展的游戏人才的培养。

参考文献

软件开发基础知识篇12

在我国高等院校非计算机专业开设大学计算机基础课已经近三十年了,它为推广信息化技术、培养复合型人才做出了巨大的贡献。但是随着计算机学科的理论和技术地飞速发展,大学计算机基础课的教学内容严重滞后,本文探讨了存在的一些问题及其改革尝试。

1 大学计算机基础课教学内容和教学体系存在的问题

大学计算机基础课教学内容主要包括计算机基础知识、操作系统、办公软件、计算机网络基础、Internet应用、多媒体技术、数据库技术、程序设计基础。知识点多、内容繁杂,有些知识过于陈旧。计算应用已经深入到社会的方方面面,计算机发展历史、计算机分类和应用介绍等低级陈旧的知识还充斥在教材中。大学计算机基础是为一年级文理科新生开设的一门公共课,文科学生不需要了解计算机组成原理和工作原理、数据在计算机中的表示;不是所有理科学生都需要这部分知识,主要是利用计算机进行过程控制时需要,并且大学计算机基础课中讲授的内容仅仅是一点皮毛,但是应用型本科院校的新生接受这些知识很困难。个人电脑已经成为人们学习、工作和生活的电子工具,生活中的电子设备比比皆是,人们只要会用即可,很少去了解它的组成原理和工作原理,所以计算机组成原理和工作原理、数据在计算机中的表示应从大学计算机基础中删除。Internet改变了人们学习、工作和生活的方式,应用Internet技术是大学生必备的技能。“计算机网络”的教学内容主要包括:计算机网络的分类、体系结构和局域网的组成、分类以及组网技术,对于学生来说既难于理解又没有实际应用价值,实用的Internet应用技术反而比较少。

根据学生的学习基础,对于教材中偏重于原理性知识地介绍,理解和接受都有一定的困难,极大地打击了学生的学习积极性。教材内容完全根据知识体系结构来组织,没有考虑教学体系结构,也增加了教学的难度。大学计算机基础教材很多,内容大同小异。开篇的计算机基础知识内容陈旧、枯燥,其中原理性的知识难于理解。随后的操作系统基础知识,对于没有计算机专业基础的学生来说太抽象,例如软件系统、操作系统的概念,由于学生没有具体地编写程序的体验,只能机械地背诵和接受这些枯燥的术语。操作系统实验受制于知识内容的限制,只能一招一式地练习,例如文件和文件夹的操作非常重要,学生只能反复地练习建立、删除和重命名文件夹,机械地重复使学生失去学习兴趣。紧接着的办公软件内容,基础好的学生认为中学学过就不认真,基础差的学生几乎不会使用,给组织教学造成了极大的困难。多媒体软件和网站建设内容,每一个部分都需要开设一门课程学生才能掌握,学生学习积极性很高,但是由于之前的教学内容已经占据了大量的课时,只能浅尝辄止,有限的课时所讲授的知识很难使学生掌握这部分内容。综上所述,教学内容的选择和体系结构组织上的不妥,是造成学生学习该课程积极性不高的重要原因之一。

2 大学计算机基础课教学内容和教学体系改革探索

针对大学计算机基础课教学内容存在的问题,对教学内容进行了重新整合。根据知识相关性将教学内容划分为三个模块:(1)计算机软硬件基础、操作系统、办公软件和程序设计基础;(2)计算机网络基本概念和Internet应用技术,数据库技术,网站建设,信息安全和计算机病毒;(3)多媒体技术。

第一个教学模块的体系安排为办公软件、程序设计基础、计算机软硬件基础和操作系统,指导思想是以办公软件为点,程序设计基础、计算机软硬件基础和操作系统基本概念为面,以点带面,依托办公软件的教学融合相关的基本概念,突出知识的直观性,降低抽象程度,便于学生接受。教学过程中依托办公软件操作步骤的讲解,引出菜单以及单击菜单的实质讲授程序设计的基础知识;提出问题“计算机如何存储输入的文字”,通过引导学生解剖Word软件的操作过程,讲授计算机硬件系统的基础知识;计算机可以自动地为人类处理许多问题,这是任何其它电子设备所不具备的、计算机独有的特征,也是一个现代人所具有的基本常识,分析这种现象引入操作系统的概念,讲授有关知识;最后,引导学生通过分析、综合概括得出计算机软硬件系统的组织结构以及相关知识。虽然学生在中学的信息技术课学过Word软件,但是对于程序设计和操作系统等基础知识基本上不了解,通过以上的教学改革措施不仅使学生学会了操作,而且理解操作步骤的实际意义,达到了知其然也知其所以然的效果,学生的学习积极性被极大地调动起来,枯燥和抽象的名词术语和概念与操作步骤联系起来后具体了,便于学生理解和接受。由于办公软件的操作重复性大,便于训练学生使用计算机的技能,办公软件教学结束后全部学生都能熟练地操作计算机,操作系统的实验内容就不成为教学难点了。

第二个模块的教学从即时通讯软件(例如QQ聊天软件)和收发邮件的学习开始,学生的学习兴趣非常大,结合具体操作讲授计算机网络的有关理论基础。带领学生登录我院图书馆网站,结合查找文献资料的教学讲授数据库技术的基础知识,紧接着进行建立网站的实验教学,时间安排上将理论知识的讲授与操作实验进行有机结合。教学过程中结合浏览网页对学生进行信息安全的教育,讲授计算机病毒的有关知识。通过以上教学的实施,学生已经能够熟练地操作计算机,也具备了必要的理论基础知识,第三个模块的教学基本上没有难点了,主要进行了培养学生自学能力和利用网络查找学习资料的探索。

3 结语

教学内容的取舍和体系安排是否得当,是保证课堂教学质量的重要一环。应用型本科院校招收的新生,接受抽象理论知识的能力相对来说比较弱,根据这个特点对大学计算机基础课程的教学内容和教学体系进行了一定的改革,极大地激发了学生的学习兴趣,有效地提高了课堂教学质量。

参考文献

[1] 张小莉.构建面向应用的大学计算机基础课程教学体系[J].重庆工商大学学报(自然科学版),2008(6):68-70.

友情链接