时间:2023-01-16 19:22:52
引言:寻求写作上的突破?我们特意为您精选了4篇软件工程专业课程范文,希望这些范文能够成为您写作时的参考,帮助您的文章更加丰富和深入。
课程建设是专业建设的核心内涵,课程设置及其教学质量反映了一个专业的教育理念、办学特色和人才培养质量。我国软件工程专业教育可以追溯到2001年底国家推出的示范性软件学院计划,该计划中的专业定位是面向软件产业培养高素质的工程型软件实用人才。2011年2月,国务院学位委员会正式公布修订的学科目录,把软件工程新增为一级学科,这充分说明了软件工程学科在国家战略层面上已经提升到一个新的高度。虽然,我国1900多所高校中有近200所院校开设了软件工程专业,但是,软件工程的专业教育现状与软件工程的技术发展差距较大,市场对人才的需求仍存在较大缺口,适应产业市场不断发展的软件工程专业建设工作依然任重道远。
1 职业技能结构分析
软件工程专业教育同样面临着两个问题:一是培养什么样的人(即市场需要什么样的人才),二是怎样培养人(即高校的教育内容和培养模式)。在软件产业迅猛发展过程中,虽然高校招生规模不断扩大,但是制约企业发展的人才问题并没有得到有效缓解,尤其是中高端人才的矛盾还很尖锐。究其原因,一方面,大型软件企业对中高级技术和管理岗位人才需求量很大、要求也很高,这类人才通常需要3-5年的工作经验,有两个以上的项目经历;另一方面,高校教育和市场需求脱节,每年大量进入就业市场的计算机类毕业生很难直接符合企业要求,有些毕业生需要经过社会培训机构或者软件企业培训,有些毕业生甚至放弃了本专业工作。
在软件企业中,合理的软件人才结构应该是金字塔型的,塔的顶部是高级开发和管理人员,中间是相当规模的系统分析和设计人员,底部则是大量的基础程序员(也称软件蓝领)。这样一种合理的人才结构是软件企业的期待,更是对教育部门提出了人才培养的具体要求和明确目标,毕竟大量的软件人才是需要经过高等学校的学历教育。一个软件专业毕业生走出学校之后,其成长过程基本上遵循学习实践再学习再实践的模式。进入软件企业,在初始的工作岗位上,首先通过短期培训,从事初级的技术开发工作;经过一段时间的技术实践,逐步提高其职业技术水平,成为中高级工程师;通过更高级别的培训,使其承担更为重要的技术和管理工作。可见,大学生在校期间除了专业知识学习外,从事职业的技术能力和适应工作的职业素养培养十分重要。
软件工程是指导软件开发和维护的一门工程学科,换言之,采用工程的方法、技术、工具和管理手段,以期开发出低成本高质量的软件产品。从这个定义可以看出,软件人才大致可以划分为技术型和管理型两类。从产品的技术角度看,不仅有产业标准和行业规范,而且项目的施工和管理有一套技术文档,这就是软件工程规范。从项目的管理角度看,分工协作是软件产业市场的总趋势,项目团队的分工合作是现代软件工程的一个重要职业特点,因此,软件工程专业的人才培养不仅要求具有专业知识,还需要有职业技能和职业素养。
软件工程专业的专业知识可分为基础知识、专业知识和专业理论,职业技能可分为基本技能、专业技能和综合技能,职业素养可分为基本素养、职业素养和综合素养。在专业教学中,强调专业知识中的核心基础知识,不求全面知识,知识教学内容必须与技术发展同步更新。把职业技能分为特定技能、通用技能、核心技能3个层次,其中核心技能具有普遍适用性,在职业生涯中受益终生。在职业技能训练中,按照软件的阶段划分,制定不同阶段所要求的职业技能。如编码阶段,要求有规范代码书写、单元测试能力,教师或项目经理要善于观察、发掘、培养新人;根据学生的各自特点,通过固化训练或交叉培养其设计、编码、测试、文档书写等能力。在学生的职业能力成长过程中,关注哪些学生是技术型的,哪些是项目管理型的,哪些是技能操作型的。由于高校不是企业,企业也无法承担高校的职能,通过校企合作的项目实训,围绕学生职业能力训练,明确企业和高校的职责分工边界。在职业素养训练方面,着重训练学生的交流表达、文档写作、分工合作、敬业奉献等能力和精神。在教学过程中,明确软件工程专业的职业素养边界,坚持“任何人都有用”的原则,关键是用到何处。比如刁钻苛刻的人用到测试上,勤奋好胜的人用到技术攻关上,豁达人缘好的人用到项目协调上,条理规矩的人用到设计上去。
2 专业知识体系裁剪
软件工程学科是从计算机学科发展而来的,经历了从软件、软件开发技术、软件工程到软件工程教育的一个发展历程。国内许多高校参照了IEEE-CS的软件工程知识体系指南SWEBOK2004,该指南给出了软件需求、软件设计、软件构造、软件测试、软件维护、软件配置管理、软件工程管理、软件工程过程、软件工程工具和方法、软件质量等10个关键知识域,指出每个知识域的教学内容。此外,SWEBOK分析了软件工程职业特征,认为软件工程学科与计算机科学、管理科学、数学、项目管理、质量管理和系统工程等学科相关。这说明该专业需要开设一些相关学科的基础课程,但是要确定软件工程与相关学科之间的知识公共边界,要对相关课程进行内容裁剪。
浙江师范大学软件工程专业教学计划的规定如下:专业毕业最低总学分为170学分,其中通识课程50学分,学科平台课程1分,专业核心课程31学分,专业方向课程30学分,基础性实践课程5学分,提高性实践课程31学分,创新性实践课程4学分。围绕人才培养目标,构建了“通识课+学科平台课程+专业核心课程+专业方向课程+实践课程(基础性、提高性、创新性)”体系,其中“学科平台课程+专业核心课程+专业方向课程”构成了专业知识体系。该计划是在调研其他兄弟院校,如浙江大学、浙江工业大学等的基础上,紧扣人才培养目标,结合本校专业课程的进度安排,设置了4个层次的专业主干课程,如表1所示。
3 专业课程体系构建
实现人才培养目标,关键在于如何构建专业课程体系。面向社会需求,以课程为载体,合理设置课程。课程设置的原则是打好专业基础以保障学生就业能力、掌握主流技术以提高学生的基本技能、训练职业素养以成就学生的职业能力。注重加强数学基础,使本专业的学生具备较强的数学功底,引入国际公认的CMM5级能力成熟度模型,旨在提高学生规范化开发和团队分工协作能力,强化程序设计基础,使学生掌握软件开发所必需的知识与技能,熟练运用开发环境和工具。
软件工程专业课程建设的基本理念是遵循软件工程思想,强调以项目驱动的教学方法,如图1所示。课程开发要求项目真实、文档齐全规范,在教学过程中,教师采取项目实例教学,通过实例体验让学生掌握知识点。通过项目式教学改革,在掌握最基本、最必要的专业基础知识的前提下,在较浅的程度内掌握一两种计算机程序设计语言,然后学习目前流行且高效率的软件开发工具(如果企业需要,还可以学习一些更加专用的软件开发工具),学习实用的软件编程、数据管理、系统维护等技术,构建以技能训练为中心的知识结构和课程体系。
在软件工程教学过程中,通过教学实践总结,我们提出了“以职业技能为根本、工作体验为主题、知识点恰到好处”的教学方法;遵循软件工程规范,把职业技能划分为特定技能、通用技能、核心技能;提出“遵循软件工程规范、研究职业技能结构”的课程建设思想,构建了以核心技能为主的3个层次的专业课程体系。实践教学环节的项目分类及内容如表2所示。
(1)开放式授课。随着行业基础框架的构成、行业发展和技术融合的国际化,软件工程的授课将不再局限于某本教材或某个案例。
(2)小组式开发。软件工程开发要求开发人员具有良好的团队合作能力和沟通能力,因此应将学生设置在以模块开发为目标的开发小组,培养学生分析问题、协调问题、解决问题的能力。
(3)模块化集训。IT环境复杂度和历史遗留系统的增加,对软件工程领域提出新的挑战。模块化的思想能够通过抽象、封装、分解、层次化等基本的科学方法提高软件工程灵活性。
(4)真实性案例。软件工程授课依托于真实案例,可加快学生对软件工程的感性理解,从而解决学生对软件产品初始建模、过程开发、测试运行、质量监控、配置与过程的管理有系统性的掌握,锻炼学生对项目开发过程的整体把握能力。
2基于项目导向的课程体系构建
合格的软件工程专业学生应具备专业基础知识、工程技术能力以及良好的职业素养。教师应结合软件工程专业人才培养标准、软件工程行业开发规范和技术特征,在不同阶段将具体项目融入教学,基于项目导向理论知识,培养工程化特征明显的学生;在项目案例引入各教学阶段时,应夯实学生的基础理论知识与基本实践技能;在强化工程技术阶段,项目案例应涵盖前端技术课程,工程实训阶段项目案例需引入企业真实项目。通过3个阶段的教学,学生能够具备软件工程师的基本编程、综合设计及工程实训等能力。我们应分析软件工程专业知识体系与课程设置,根据普通高等院校软件工程专业课程规划、设置学时,构建层次清晰的教学实践体系及内容,培养应用型软件工程专业人才;同时,在IEEECC2001SE学科的知识体系基础上结合国内软件产业及校内办学的实际情况,在基础教学、理论应用、项目实践3个层次建立软件工程专业课程体系,基础教学部分主要讲授软件工程领域的基础理论知识,以开发过程为主线详细分析和讨论软件的需求分析、结构设计、程序实现、功能测试、变更与维护、软件项目管理等内容,让学生对此有感性认知。理论应用部分主要以面向对象程序设计为基础,锻炼学生的建模和实现能力。同时,采用实践案例,让学生掌握软件开发的方法和技术,培养学生的专业能力、管理能力、团队协作能力和职业精神。项目实践部分分为基础技能实训、专业技能实训、综合设计实训、科技创新实训等4个模块,可以基于项目建立多个小组,让学生以团队合作的方式在企业开发环境中实现一定规模的软件项目。为培养“理论知识实、实践能力强”的应用型人才,需将教学计划与项目实践环节紧密结合。基于项目导向的教学体系层次实施步骤如下。
(1)基本知识技能阶段:将.NET与JAVA开发作为实习内容,让学生了解面向对象开发的基本知识。
(2)综合知识实训阶段:让学生了解并掌握软件开发方法,熟悉.NET在软件项目系统开发中的具体作用,设计和实现功能界面,实现数据库设计与应用,分析和解决软件开发过程中出现的问题,并进行功能测试。
(3)应用能力提高阶段:对之前阶段开发完成的软件项目进行详细的分析与讲解,基于项目开发的实际应用强化软件工程的理论知识,让学生感受所学知识与实践应用的对应性,加强学生实践动手能力和团队沟通合作能力。
(4)职业技能与素养提升阶段:对软件项目范围、功能实现、总体进度、软件质量、管理配置等方面进行开发训练,锻炼学生整体项目的开发能力,逐步培养学生的职业技能,结合项目开发对学生进行测试与评价,培养和提高学生的职业素养。
3基于情景的教学方法实施
情景教学能让学生对知识有感性认识,提高对课堂内容的理解效率,因此需要在一个通用的软件开发环境中进行项目开发的学习。构建符合软件工程专业课程项目开发的开发环境是提升软件工程教学效果的关键。情景模式授课能让学生在模拟的软件工程项目中实战训练,通过层次提升效率,激发学生的学习兴趣,达到最佳教学效果。教师在情景模式的授课过程中担任项目总监或技术顾问的角色,组织学生进行技术交流、成果验证、变更审核等活动;学生会依据项目不同阶段的情景扮演不同职位,提升自身项目开发技术及管理能力,培养个性化思维和团队合作思维相结合的思考模式。基于情景模式的软件工程专业课程教学过程。在具体的教学实施过程中,教师利用项目导出教学内容,围绕项目案例设计教学情景,依据情景设计安排学生在项目团队中的不同角色,尽量让学生体验真实的项目开发流程。借助项目情景模式增强了课程内容的趣味性,最大限度地调动学生的主观能动性。项目导向下的情景模式教学需要对项目选定、教学内容设定、项目进程安排、学生角色安排、项目成果鉴定等方面进行管理。基于情景模式的教学要求,学生以项目团队的方式组成项目小组(一般由3人组成),开发具有一定规模且功能较为丰富的软件系统,侧重培养学生在项目开发过程中发现问题、分析问题、解决问题的能力,培养学生的团队合作精神,使学生体验软件开发的全过程。专业课程教学内容应把软件开发分解为项目前期准备、中期分析与设计、功能测试和软件交付等三大部分,具体内容为:
(1)项目准备阶段:教师在课程初始阶段,将软件项目需求告知学生,选定项目开发小组,制定开发范围和计划。
(2)分析设计阶段:项目开发小组基于需求和开发计划,编制需求规格说明书。依据项目的总体结构,逐步设计项目所需功能,并编写相应文档。
(3)测试与交付阶段:开发团队对完成的功能模块进行整合,测试功能性和稳定性,调试并完善软件系统,最终形成达到项目需求的软件集成系统。
(4)软件交付:教师运行集成的完整系统,组织学生交叉验收。验收管理是各团队共同检验工程是否达到预定目标并进行最终确认的重要一环,每位学生必须高度重视,支持项目验收工作。在情景式的软件工程环境中,学生真正体验到一种有序的、可控的、协作的软件开发过程,在分析问题、解决问题、协调冲突、消除矛盾的过程中享受软件开发成功的成就感。项目导向的情景模式教学可以让学生在团队中练习,在练习中学习,锻炼学生独立开发与合作开发项目的能力。
2.哈尔滨工业大学计算机科学与技术学院,黑龙江哈尔滨150001)
摘要:考试是评价课程教学效果和学习效果的重要测量工具与测量手段。文章概括课程考试的地位、作用及重要性;针对高校课程考试的特征及软件工程专业教育的特点,探讨如何规范软件工程专业试卷规划、命题设计和统计分析,改善试题质量,提高考试成绩的信度。
关键词 :软件工程;课程考试;试卷规划;考试命题
文章编号:1672-5913(2015)15-0013-06 中图分类号:G642
基金项目:2013年黑龙江省高等教育教学改革项目第38号(黑教高函[2013]351号)。
第一作者简介:李全龙,男,副教授,研究方向为物联网及其应用、传感网络、情境感知计算、软件定义网络( SDN)等,liquanlong@hit.edu.cn。
1 背景
考试的最初功能是区分人和选拔人。最早的考试可以追溯到中国古代《尚书·尧典》记载的尧通过考试禅位舜的传说,而世界上第一个全国性统一考试则是科举制度。目前,我国高考、研究生入学考试、公务员选拔考试等仍然侧重于人才测评与筛选这一功能。
考试作为一种测量工具与手段已经应用于现代社会的方方面面,几乎与每个人都息息相关,它不仅越来越受到社会和人们的重视,而且也吸引众多学者和教育界从业人员对考试形式、方法等展开了讨论与研究。考试除了具备人才选拔的功能之外,还常用于对被试者进行评价,以判断被试者对某些知识或技能的掌握程度。高校教育中不同专业的教育目标和培养理念都不尽相同,有各自的特点。例如,软件工程专业教育非常强调对动手能力的培养,注重解决实际工程问题。那么,课程考核试卷如何设计才能根据专业特点及办学理念来准确、客观地评价被试者就显得尤为重要。
2 课程考试定位与命题过程
现代的考试主要分为常模参照考试与标准参照考试两大类。常模参照考试主要测量个体在群体中的相对位置,比如高考、研究生入学等选拔性考试;标准参照考试主要测量被试者是否达到某个标准,如是否及格。高校的课程考试基本属于标准参照考试,但也部分肩负着常模参照考试的作用(如依据课程成绩的高低决定保研资格等)。因此,高校课程考试重点要能够比较客观、准确地评价学生对概念、原理、方法、技术等基础知识的理解、运用以及解决问题能力的程度,同时还要能够对掌握程度的优劣加以区分。课程考试的试卷组成与试题设计必须针对课程考试这一定位,采用科学规范的命题方法,才能有效保证试题质量,进一步保证评价的客观性与准确性。
课程考试命题及分析过程大致分为试卷规划、试题设计以及试卷统计分析3个主要阶段。试卷规划阶段需要针对课程目标、课程大纲、课程知识点分布等规划试卷的总体结构;试题设计阶段是依据规划好的试卷结构设计编制每道试题、制定试题的参考答案,这个过程可能会多次迭代修正试卷结构;当试卷使用、批阅并评定成绩后,需要对试卷得分情况进行统计分析,并作为下一轮课程考试试卷规划与命题的反馈与参考。本文将按照这个过程并以计算机网络、软件工程概论、软件设计模式等课程为例,描述如何规范软件工程专业课程考试命题。
3 软件工程专业课程考试命题方法
3.1 试卷规划方法
试卷规划需要满足课程目标、课程大纲、课程考核目标的需求与约束。试卷规划的基本原则是“重点突出、充分覆盖”。“重点突出”是指课程的重要知识点应该是试卷的重点考查内容,试题量与分数占比相对要高;“充分覆盖”是指试卷考查的知识点要尽可能分散开来,覆盖面要尽可能大,避免出现试卷只偏重某部分知识点的现象。这两点要平衡好,只侧重某一方面都可能导致试卷质量不高,影响评价的客观性与可信性。
为了保证试卷质量,一定要规划好试卷考核知识点与分数的分布,具体可以利用试卷结构明细表这一有效工具,表1为2014年计算机网络课程试卷结构明细表。该表可以方便规划试卷的知识点覆盖情况、分数分配情况、考查层次(识记、理解或运用)构成情况、考点分布情况等,科学规范地指导试卷的试题编制。该表可以根据课程章节或知识点结构进行调整,试题考核层次主要分为识记、理解与运用,当然也可以根据需要加以细分。识记类考核层次主要考查学生对概念、原理等的记忆情况,理解类考核层次主要考查学生对相关知识的深入理解,运用类考核层次主要考核学生利用课程相关知识、原理和方法解决实际问题的能力。表l中信息在试卷规划阶段主要确定按章节(或知识点)的分数分配及试卷难度控制,具体试题编号、分数及难度系数则需要在试题设计阶段逐步迭代完善,最终完成表1的完整信息。
表1中每道题的难度系数为对该试题的难度估计,是对该试题难易程度的衡量,表示该题正确解答的比例,难度系数越大表示该题目越简单。难度系数可以表示为:
其中,M为样本集合,C为正确解答样本集合,p为难度系数。试卷的难度系数是每道试题的难度系数及其分值的加权平均结果。
试卷总体难度不应过难(难度系数值太小),也不应太简单(难度系数值太大),否则试卷的区分度会很差,无法达到课程考试承载的选拔性功能。通常试卷难度系数控制在0.5-0.55之间比较合适。
3.2 试题设计方法
完成试卷规划之后,可以进行试题设计。试题设计过程可以遵循如下几个基本原则:
(1)尽可能不出过于简单(p≥0.8)或过于难(p≤0.2)的试题;
(2)尽可能少出考查层次为识记类的试题;
(3)尽可能多出考查层次为运用、理解类的试题,考查学生的动手能力和灵活使用知识的能力;
(4)尽可能设计真实或接近真实的新场景、新问题,避免与往年考题重复;
(5)试题表述要力求严谨,避免歧义;
(6)主观题与客观题比例适中。
一张好的试卷考题主要考核层次应该是运用和理解,识记类的试题应尽可能少,并且分数的分配能够反映课程重点内容的分布。另外,根据软件工程专业工业化的教育理念,学生的动手能力以及灵活运用知识解决实际工程问题的能力都应该是考查的重点。因此在具体试题编制时,应该尽可能设计全新场景,来考查学生对某些知识或原理的理解或运用。例如,在软件工程概论课程中,为了考查学生对UML类图设计中类之间聚合关系的理解,可以设计一个具有聚合关系的系统需求描述(见例1)。通过对该系统需求描述的分析,不仅可以考查学生从实际需求中发现聚合关系并对该关系进行设计的能力,同时还可以综合考查学生对于UML语言的使用能力。
例1:汽车是由各个部件组成的,例如,轮胎、引擎、车框、车窗等,但是这些部件与整体汽车并不是紧耦合的关系,换句话说,部件离开了车仍然可以存在。那么,当我们对汽车及其部件进行UML建模时,应该选用以下哪个图形元素来表示汽车及其部件之间的关系。 ( )
考点:软件工程概论——软件设计方法——面向对象方法设计
答案:D认知层次:问题分析及理论知识运用难度估计:0.45
大多数课程考试都会设计类似于例1的选择题。选择题是目前各种考试中广泛采用的试题类型,具有良好的客观性。但是在命题这类题目时,许多的题目都只考虑了直观概念的考核,如类图中表示聚合关系的符号是什么?这样的命题是典型的单纯考查记忆的试题,并没有考查学生对实际问题的分析能力和解决能力。另外,这样的试题还要特别注意选项的设计。一道好的选择题,每个选项都是精心设计的,除了正确选项,每个错误选项都能代表一类常见错误,也就是“有意义的迷惑项”,而不是随意拼凑的内容。如例1中的A选项,是一个错误选项,该选项的设计是考虑到如果忽略了部件与车之间的聚合关系,只考虑关联关系,就会得到这样一个错误结果;而错误选项C是最具有迷惑性的选项,如果学生混淆了聚合关系和组合关系的话,那么就会得到这样的一个错误结果。
在试题设计过程中,还应该尽可能设计一些真实或接近真实的场景,通过该场景对课程相关知识的综合运用能力进行考查。
例2通过一个“真实”的网络综合考查学生对IP地址、子网划分、路由聚合、路由表、交换机、IP分片、域名解析等知识的综合运用能力。这种类型的综合题可以考查学生利用课程所学基本知识和基本原理解决实际问题的能力。
例2:某网络拓扑如下图所示。路由器EO、E1、E2、E3连接的均为lOOBaseT以太网,Sl、S2、S3为lOOBaseT交换机。RI互联的局域网1、局域网2和局域网3共用IP地址空间192.168.1.0/24,且已将192.168.1.0/26分配给局域网3。路由器相关接口和部分主机IP地址和MAC地址等配置信息如图1所示。Rl和R2的路由表结构为:
请回答下列问题。
(1)请将192.168.1.0/24剩余的IP地址分配给局域网1和局域网2,其中局域网1需要IP地址数不少于120个,局域网2需要IP地址数不少于60个。请给出地址分配结果,并说明局域网1和局域网2的可分配IP地址数以及可分配IP地址范围。
(2)基于问题(1)的分配结果,请分别给出Rl和R2的路由表,要求路由表的入口数(即路由表项数)尽可能少,并且包括到达DNS服务器的主机路由。
(3)请为主机Hl配置IP地址信息,包括lP地址、子网掩码、默认网关以及域名服务器。
(4)若主机H2的子网掩码被配置为255.255.255.0,DNS配置为201.18.3.254,则H2能否成功访问sma.com.cn?为什么?
(5)若交换机S2、S3的交换表为空时,主机H3给H6发送一个数据帧fl,接下来H6又给H3发送一个确认帧f2,则从物理层上能够收到fl的主机有哪些?H3收到f2后,S2的交换表中包含哪些表项?(交换表表项结构:<MAC地址,端口>)
(6)假设连接Rl和R2的链路的MTU=500B,当主机H5向互联网发送一个ID=123456,length=1500B,DF=O的IP分组时,Rl需要将该IP数据分组分几片(每片尽可能封装为最大片)?给出分片结果(包括每片的ID、length、DF、MF、offset).
软件工程专业培养的是能够解决实际工程问题的工程师,要具有较强的利用所学理论知识提出有效解决方案的能力。因此,在不同课程的考试命题中,一定要注意综合应用题的设置。例3以软件设计模式考试的应用题命题为例进行讲解。
例3:某游戏公司的一款竞速游戏中,需要设计多种不同品牌、不同性能、不同外观的赛车,请选用合适的设计模式满足这个设计的需求,并给出理由。
例3的设计是为了考查学生对于工厂方法的掌握程度。首先,学生需要正确理解题目表述的设计需求意图,知道工厂方法能解决这个问题,然后给出他们的工厂方法设计思路。
乍一看,这个题目没有什么技术含量,没有层次,但是事实上题目中隐含了潜在的需求。题目给定的背景是游戏公司的一款游戏设计需求,那么隐含的信息就是这是一款投入市场运营的游戏,它需要不断地给用户新颖的体验,游戏道具等的设计必须多样化,也就是说它的设计需要具有良好的可扩展性,对于原有的设计与实现的影响要尽量小。如果对实际工程问题隐含的需求没有敏锐的嗅觉,学生可能就会选择最简单的工厂方法进行设计(如图2所示),每增加一款新车除了需要加入新款车的类,还都需要去修改CarFactory中produceCar的方法。然而,发现了这层需求的学生则会选用抽象工厂方法进行设计(如图3所示),使得系统的可拓展性更佳。每次增加一款新车只需要一个实现了Producer接口的新款车工厂方法类( XXXCarFactory),以及一个实现了Operation接口的新车实现类用于具体实现及定义新车的性能、款式等内容。当然,学生可以使用其他合适的设计模式进行设计,如建造者模式等。此题是一个开放式的命题,学生可以根据自己的理解提出合适的设计方案。评审者要用开放的思想审视学生的解决方案,但是要对原则性的错误进行批判,对设计的优劣进行准确的判断。
试卷命题完成后,需要经过多次“打磨”,包括试卷整体结构、考查知识点、分数分布、难易程度等审核;对每道试题进行“研磨”,包括题干表述是否清晰、准确,选择题选项设计是否合理、有意义等。经过多次打磨的试卷可以避免或减少错误,尤其是科学性错误;经过多次研磨的试题才可以用于考试。在试题命题过程中(或之后),还需要编写试题参考答案及评分标准。
随着试题设计与编制的进行,需要同时更新表1,并调整试卷结构。试题命题结束,表1信息填写完成。此时可以通过表1全面了解试卷中试题结构、难易程度等,避免试卷过难、过易或者过偏。总之,试题设计的关键是要设计新场景,侧重综合应用能力的考查,避免与往年考题重复,在试题设计过程中充分利用试卷结构明细表。
3.3 试卷统计分析
试卷应用于考试之后,可以通过试评部分完善参考答案并形成评分细则,然后参照评分细则进行评分。试卷评阅完成后进行分数统计,评价试卷的评价效果。比如通过统计(全样本或抽样)分析评价试卷难度,分析每道题的难度、区分度等,并进行归档,作为未来课程命题的参考和指导。最后,还需要作好试卷的试题解析,总结试题设计的初衷,对比该试题实际考试效果,发掘可能存在的问题,反馈并改进教学。
例4:在一个采用CSMA/CD协议的网络中,传输介质是一根完整的电缆,传输速率为1Gbps,电缆中的信号传播速度是200 000 km/s。若最小数据帧长度减少800比特,则最远的两个站点之间的距离至少需要( )
A.增加160 m B.增加80m C.减少160 mD.减少80 m
考点:数据链路层——介质访问控制——CSMA/CD协议
答案:D认知层次:运用 难度系数估计:0.40统计难度系数:0.32
【试题设计思想】通过对特定场景的最小数据帧长度和最远站点距离的变化关系,考查考生对CSMA/CD协议工作原理的深入理解和运用。
【解题思路分析】CSMA/CD协议的一个重要特性是“边发送数据帧,边检测冲突;数据帧发送完成,即结束冲突检测”。因此,CSMA/CD协议若要保证检测到最极端情况下的冲突,必须保证一定的最小数据帧长度,以便传输一个最小数据帧的传输延迟时间不小于相距最远的两个站点在发送数据时出现的极端情况下的冲突。两个相距最远的站点发送数据时产生的最极端情况下的冲突,被检测到的时间为两个站点之间信号传播延迟的2倍。
若学生计算时忽略了往返时间,会得到错误的选项C;若学生搞错了比例关系,则会得出增加80米的答案,选择错误选项B;若学生既搞错了比例关系又忽略了往返时间,则会得出错误选项A的结论。
【效果及教学分析】该题在考试中实际统计难度系数为0.32,说明还有相当一部分学生对这个内容掌握不好。因此,今后教学中还应该强化该部分内容的教学,尤其需要增加相关内容的课堂例题讲解、作业等,使学生熟练掌握并运用该基本原理。
例4是对一道考查CSMA/CD协议原理的选择题的解析,包括试题设计思路解析、解题思路解析、考试效果及教学解析3个方面。试题解析结果是非常重要的资料,可以将长期积累的试题解析内容编辑成册,作为未来学生课程学习以及教学的重要参考辅助资料,这是非常有价值的信息。
4 结语
考试是课程教学效果、学生学习效果评价的重要方法,在一定程度上已经成为课程学习风向标和课程教学指挥棒,规范化、高质量的课程试卷设计对于课程教学至关重要。命题要紧扣教学特点,例如,软件工程专业的课程考核是否能够通过一张试卷检验出学生对实际问题的分析能力和解决工程问题的能力。了解并掌握规范化的试卷设计方法对于每一位教师来说并不难,关键在于我们教师能有多少时间投入到这个重要的教学环节之中。当然,由于课程之间的差异以及课程目标的不同,每门课程选择的考核方式也不尽相同,本文所述方法仅供参考,期望能对教师找到适合特定课程的最佳试卷设计方法有所启发。
参考文献:
[1]戴家干.从考试到评价:论我国考试与评价制度的改革[J]中国考试,2010(1): 3-8.
软件专业课程体系建设是深化计算机软件工程课程改革、提高软件工程教学质量必经之路。从协同创新视角而言,计算机软件工程专业的大课程体系是一个协同体系。在实践操作层面,软件工程专业体系的每一个内容模块都会影响软件工程专业大课程体系的建设成效。软件工程专业的大课程体系每个内容模块可以构建相应的创新平台,通过各内容模块的创新与发展,能有目标、有步骤地推进软件工程专业的大课程体系建设。
1国内外研究现状
根据年度毕业生就业数据报告显示,在就职业过程中,计算机软件工程专业的毕业生适应性差,课程与市场需求脱节,实践与理论脱节,工程实践与技术应用脱节等方面,大部分无法满足企业对于毕业生的需求。这是目前计算机软件工程专业教学中亟待解决的问题所在。软件工程专业的人才培养方案是使得培养的学生能够适应社会主义经济社会发展的需要、能够在德智体美劳等五个方面进行全面的发展、能迅速掌握计算机科学与技术等计算机专业方面的基本理论和基本技能,能进行计算机软件设计开发和应用,还会具有较强实践操作动手能力。学生学会软件的设计方法、学会软件的开发方法以及学会软件工程管理方面的基本训练方法[1]。除此之外,学生还会学会软件系统的研究和开发的基本能力,能壮大软件工程师的队伍,还可以在相关的信息产业部门、企事业单位从事软件工程项目的分析、设计、开发和管理工作,为我国软件产业持续、健康、高速的发展贡献微薄力量。
2协同创新体现在软件工程专业课程建设中的两大模块
大学校园为现在的科技社会输送了许多的人才。一个学校的创新能力是与社会的发展息息相关的。在学校里开展协同创新的专业课程建设有助于提高学生的创新能力的培养。目前,学校的软件工程专业的人才培养方案目标就是培养学生的实践动手能力和自主创新能力以及团队合作意识,明确自己的专业发展方向,了解社会对人才的需求,开展实训教学、实训室建设等一系列协同教学模式,教师提升自己的教学水平,努力开发软件工程专业学生的实践动手能力,协同创新以适应社会的发展需求[2]。2.1软件专业课程体系教学软件工程专业的课程教学首先需要了解课程设置问题。课程的设置需要从三个方面来进行设置,分别为职业技能结构、专业知识体系和课程教学模式3个维度。这三个维度是围绕遵循软件工程规范和研究职业技能结构的课程建设思想以及构建以核心技能为主题的3个层次的专业课程体系为中心的。专业知识体系包括基础课程、核心课程、方向课程、技能课程等。开展职业技能是为了让学生多多了解验证性实验课程、熟悉综合性实验项目、掌握课程设计。在上完理论课之后,验证性实验课程的开展会让学生加深理论课所学到知识的理解过程。开展综合性实验项目,是为了让学生的设计能力和综合能力有所提高,学生应用理论课知识,根据实验研究目的和要求,自行设计实验方案。课程设计最能体现团队合作精神,课程设计的开展,是为了培养学生的综合知识运用能力,以及团队意识和创新能力培养的重要手段[3]。教师的课程教学要注重改革教学方法和教学内容。采取多种考核方式,如课程设计答辩、课程设计成果验收、课程案例分析等方法。改革传统的刻板单一的教学方法,缩小教师与学生之间的距离感,激发大家的学习兴趣,共同探讨知识。最终,学生知识的运用能力得到提高,,学习环境和学习氛围得到改善,实践创新能力也会得到了提高。软件工程专业课程建设也可在协同创新平台的建设上去完善软件工程专业人才培养目标,进而去探索软件工程专业协同创新性实践教学体系。从课程实验教学、实训平台建设、创新训练、协同培养等方面来开展软件工程专业多维实践教学模式。其中,课程实验包括了验证性实验、综合设计性实验和课程设计三个方面。实训平台建设包括了建设软件开发实训室、软件研发中心、校外实训基地。创新能力训练包括了开展各类科研训练和学科竞赛[4]。2.2软件更新管理,建设实训基地开展实践教学,软件要更新,实训基地要建设。目的都是为学生搭建实践动手能力的操作平台、为学生创建发挥创造能力的锻炼平台。作业计算机专业的学生,尤其是软件工程专业的学生,首先要攻克程序关。也就是说,学生应该多多编程上机实现。因而在人才培养方案中的重中之重便是要求软件工程专业学生进行项目实训,提高动手实践编程能力。编程是将所学的抽象专业知识具体化。因则,学院要高度重视实训基地的建设,要努力搭建好实训平台,多多培养学生的动手实践操作能力。学校还可以与企业共同合作来搭建实训的基地,引导学生自主创新,发挥自身的潜力和特长。除此之外,我们还应该来共同来树立协同创新观念,规范软件工程专业的管理制度,整合资源,优化资源,建设学院素质教育实践基地和课程的评价机制,以构建利益共享机制[5]。
3协同创新在软件工程专业建设中的应用
现代社会经济的发展要求计算机软件工程专业培养的人才具备全面的综合素质。应用型本科大学,更加应该注重协同创新型人才培养。软件工程专业课程建设协同创新指的是六个方面为一体的协同创新机制,包括"教师与教师协同、教师与学生协同、学生与学生协同、课程与课程协同、课程与实践协同、校内资源与校外资源协同"等。这些机有助于提高学生学习的积极性,有助于激发学生的创造性,更有助于提升教学质[6]。3.1推崇校园文化,实施协同创新训练每个学校都有自己的文化,每个学校的每个专业也都有自己的特色。软件工程专业的学生的课程建设中明确规定学生需要加强创新能力训练。与此同时,学校应该为学生搭建创新平台,积极开展丰富多样的科技创新活动和竞赛活动。比赛的目的是为了培养学生将所学知识运用于工作与生活中,同时也可达到增强学生的创新意识和实践动手能力的要求[7]。3.2拓展学生综合素质,实施协同创新计划学校可以邀请企业来校参与学校的专业人才培养方案制定和实施。共建校企合作机制,搭建学校与企业合作的应用实训创新平台,协同培养具有实践能力、创新能力和团队精神的应用型人才。软件工程专业人才培养计划中明确了“工学结合、校企合作”。实则是要求学校要与企业共同来制订计划,共同来建立相关软件专业的实训室与开发平台,成立研究开发机构与部门,共同来为社会培养可塑人才。因此,企业必须和学校达成共识,深度开展人才交流与技术交流,充分利用工作环境和培训平台来为学生的创新性培养创造条件,形成协同局面。学校可以聘请企业的软件工程师来为学生授课,讲解在实际工作中企业中所遇到的问题,如软件开发的案例、软件的开发方法和开发过程。讲授案例的同时还可以模拟企业是如何来解决在实际开发过程中所遇到的各种问题的[8]。学校也要全面性了解并且掌握目前市场上对软件开发人才的需求现状,据此来安排专业课程,按需培养学生,为企事业单位输送软件的开发人才,为积极推动社会经济的不断向前发展贡献微薄力量。最终,企业和学校就会实现双方互利共赢的双赢局面。通过学校的培养,企业的参与,学生大学的学业完成后,走出校门走向社会后也不再迷茫[9]。