计算机科学与技术专业(软件技术方向)计算机科学与技术专业(软件技术方向)卓越工程师教育培养计划人才培养方案一、培养目标培养适应经济社会与科技发展需要的~德智体美全面和谐发展与健康个性相统一~富有工程意识、实践能力和创新精神~系统掌握计算机科学与工程基本理论~能够运用现代开发方法和工具按照国际规范从事软件系统分析、设计、开发和维护工作的软件工程师。
二、培养标准依据专业培养标准~本专业毕业生应该具备以下知识、能力和综合素质:1、基础理论毕业生应具备数学及自然科学知识、电子电气工程技术基础知识、计算机专业基础知识、软件开发技术、软件测试技术、嵌入式系统与计算机网络技术等较宽领域的工程技术基础理论和专业知识。
主要应包括如下几方面的知识: ,1,具有较扎实的数理知识和良好的外语运用能力~并具有一定的经济、管理、人文与社会科学知识,,2,具有本专业领域较宽的专业基础理论知识~主要包括软件开发技术、软件测试技术、嵌入式系统、计算机网络等专业工程基础知识,,3,具有本专业所必需的信息技术企业管理和运作、软件开发管理、工程实施等方面的知识。
,4,具有一定的学科交叉知识~了解社会、经济发展的需求及与本专业的关系~具有较宽阔的视野和较强的工作适应性。
2、专业能力本专业学生应具备在软件开发、软件测试、系统集成等方面的工程实践能力~重点具备掌握常用软件开发技术~能够根据软件工程规范开展软件开发工作的能力。
主要培养的专业能力包括:,1,掌握并熟练应用计算机专业基础知识~包括计算机基本结构、计算机软硬件系统运行的基本原理、信息组织和管理的基本原理和方法、计算机网络架构的基本原理和方法、程序设计的基本方法和技能、软件测试基本知识,,2,掌握信息系统架构的技术和相关设备~包括计算机网络架构的基本原理、方法和主要设备以及信息系统运行的软硬件平台~具备选择最佳性价比硬件的能力, ,3, 能够进行需求分析~并根据用户需求确定系统目标和要求,,4, 掌握根据需求规格说明书进行概要,总体,设计的能力,,5, 掌握根据模块功能需求开展详细设计的能力,,6, 掌握采用UML工具进行类库设计和采用E-R图进行数据库概念结构设计、逻辑结构设计和物理结构设计的能力,,7, 掌握软硬件接口设计、应用系统和数据库系统接口设计的能力,,8, 掌握在软件开发过程中撰写各类技术说明书和文档的能力,,9, 掌握按照软件工程和项目需求规范~进行编码的能力,,10,掌握信息系统集成的方法~具有软硬件系统接口编程、集成的能力,,11,具备快速掌握和改造现有软件系统的能力,,12,精通两种以上集成化的开发平台和开发工具~并能够进行软件项目的开发, ,13,精通数据库开发技术、两种以上流行的数据库管理系统的开发工具及相关技术~掌握根据软件系统需求选择合适的数据库系统的能力,(14) 掌握基本的测试方法和常用测试工具~进行单元测试、组合测试、确认测试的方法、软硬件系统整合测试能力,(15) 具备跟踪当前技术热点~掌握本专业领域的新技术和新工具的能力。
3、综合素质本专业学生在具备一定的专业知识和能力的基础上~应具有胜任软件开发、软件测试、系统集成、系统维护等岗位所需的必要综合素质与能力~主要包括: ,1,思想品德、法律与诚信意识、社会责任感,,2,科技文献检索与查询能力,,3,多学科知识融会贯通能力,4,终生学习的能力,,5,书面表达、口头交流和多媒体交流能力,,6,外语交流能力,,7,人文素养、团队合作与人际交往能力,,8,较强的人际环境工作环境适应能力和沟通能力,9,工程意识和创新意识,,10,质量意识和低碳、环保意识,,11,市场意识和价值效益意识。
三、基本学制四年。
四、培养模式依据行业对软件工程师的能力要求与课程及教学活动关联矩阵,附件1,~实施通识教育+专业教育、校内教学+企业实践两个两段式,1+2+0.5+0.5,培养模式~即:一年级为通识教育~二三年级为专业教育~前三年在校内培养~四年级在相关企业进行专业实践并完成毕业设计。
五、理论课程体系依据计算机科学与技术,软件,专业学生所面向的IT行业的需求~重点培养企业迫切需要的具有扎实的软件基础理论知识、较强的工程实践能力,具备运用先进的工程化方法、技术和科学的软件管理方法~具有开拓创新意识~具有较强的实践动手能力,能从事大型软件项目系统分析、设计、实现、测试和软件项目管理工作的软件技术人才。
根据计算机科学与技术,软件,专业的人才培养目标和培养标准~将该专业学生的知识、能力与素质要求按照公共基础模块、计算机逻辑基础模块、基础编程模块、高级编程技术模块、系统设计与开发模块、嵌入式系统模块、系统软件基础模块、专业素质拓展模块、企业培养模块、综合能力课外培养模块等10个模块进行划分。
具体的模块构成如图1所示:思想道德修养1~4学期数理知识校内培养公共基础模块计算机、英语运用能力计算机逻辑基础模块 1~4学期校内培养基础编程技术模块高级编程技术模块系统设计与开发模块 2~6学期校内培养嵌入式系统模块人系统软件基础模块才培企业级应用开发拓展模块养体软件测试工程师拓展模块系2~6学期专业素质拓展模块数据库工程师拓展模块校内培养软件服务外包拓展模块嵌入式系统拓展模块模块企业实习模块7~8学期、企业培养模块企业培养毕业设计模块社会实践模块 1~8学期、综合能力课外培养模块校企联合培创新能力培养模块养图1 计算机科学与技术,软件,专业模块化人才培养体系1、主要课程:高等数学、C/C++程序设计?、C/C++程序设计?、JAVA基础、计算机导论、.net应用程序开发、JAVA EE技术、数据库原理及应用、软件工程、操作系统、计算机网络、数据结构、编译原理、单片机原理与应用、嵌入式系统及应用B、离散数学。
2、课程模块:,1,公共基础模块:教学目的:公共基础模块主要包括思想道德素质、法律意识和社会责任感等方面的培养~强调全面发展~通过扩大学生的知识广度~拓展学生的视野~使学生兼备人文、社科与科学素养。
模块构成:该模块包含在政治思想、人文社会科学方面所有的“两课”教育, 理工科学生必备的数学、大学物理知识,英语能力,大学体育等。
整合内容:将大学英语与专业英语进行整合~除对英语等级的要求外~全面提高学生英语听、说、读、写的能力。
,2,计算机逻辑基础模块:教学目的:要求学生基本掌握电路、数字电子方面、离散数学的基础理论知识和能力。
电路原理及其实验、数字电子技术及其实验、离散数学。
模块构成:整合内容:取消原先模拟电路课程和课程设计~强化数字逻辑内容的讲授。
,3,基础编程技术模块:教学目的:编程能力是软件工程师的基本技能~是教学的核心和重点~通过本模板的学习~提高学生对计算机编程的兴趣~掌握常用的基础编程语言~训练编程思维~为后面的高级编程技术模块的教学打好基础。
模块构成:计算机导论、C/C++程序设计?、C/C++程序设计?、C/C++程序设计课程设计。
整合内容:计算机编程的预备知识~例如数制、计算机的基本结构放到C/C++程序设计?中讲解~有利于提高学生的编程兴趣。
,4,高级编程技术模块:教学目的:掌握常用编程架构~熟练应用MVC设计模式,系统学习流行的STRUTS 开发框架~理解持久化层处理机制~掌握流行的持久化工具Hibernate~熟练应用ORM工具进行项目开发~全面讲解Spring的概念、设计和应用~掌握Spring+Struts+Hiberate高端Java开源架构的设计,掌握.Net编程技术。
模块构成:JAVA EE技术、.net应用程序开发、.net应用程序开发课程设计。
整合内容:取消原VC基础课程~讲授.net应用程序开发课程~以让学生掌握更前沿的开发技术~基于java的B/S开发技术整合到JAVA EE技术课程~讲授前沿的开发框架。
,5,系统设计与开发模块:教学目的:掌握软件工程的基本概念、软件过程模型、可行性分析、需求分析方法、软件系统设计方法、软件编码、软件测试及软件项目管理等知识,掌握常用的WEB开发技术~具备对软件进行分析与设计的能力,掌握数据库系统原理的基本知识与数据库设计开发的基本技能。
模块构成:实用软件工程、WEB开发技术、JAVA基础、数据库原理及应用、JAVA基础课程设计、数据库原理及应用课程设计。
整合内容:数据库原理及应用课程设计整合了WEB开发技术课程设计~采用当前流行的B/S开发架构进行数据库应用系统的设计与开发。
,6,嵌入式系统模块:教学目的:掌握单片机、嵌入式ARM系统的原理,掌握一个流行的嵌入式操作系统,能够进行嵌入式系统中软件的设计与编程~拓展学生的就业方向。
模块构成:单片机原理与应用、嵌入式系统及应用B、嵌入式系统及应用课程设计。
整合内容:将嵌入式操作系统的内容整合到嵌入式系统及应用课程~教学中突出嵌入式系统的软件设计、编程及测试等内容。
,7,系统软件基础模块:教学目的:掌握操作系统的基本概念、基本原理,掌握算机网络的概念、基本原理及其应用技术,掌握算法设计与分析的基本理论知识和技能~培养学生设计及选择有效的算法解决实际问题的能力。
模块构成:操作系统、计算机网络、数据结构、数据结构课程设计、操作系统课程设计、计算机网络课程设计、编译原理、编译原理课程设计。
整合内容:在课程内容的选择上~注重和嵌入式系统模块相结合~强调应用实践的能力培养~例如操作系统课程以某个嵌入式操作系统为主线进行讲授。
,8,专业与综合素质拓展模块:教学目的:要求学生通过文学类、艺术类、社科类公共选修课程的学习~具备良好的人文素养,通过专业素质拓展课程的学习~对相关专业领域进行更加深入地了解和应用~学生可以根据自己的兴趣选择就业方向~选择相应的课程模块~共设置5个模块。
企业级应用开发拓展模块:拓展学生的企业级应用开发能力~包括SOA程序设计、行业需求分析与设计等课程。
软件测试工程师拓展模块:掌握常用的软件测试工具~熟悉基于测试驱动的软件开发技术~包括软件测试技术、测试驱动开发技术、自动化测试工具等课程。
数据库工程师拓展模块:精通常用的数据库系统软件~能够进行数据库应用系统的开发~具备数据库设计的能力~包括Oracle程序设计与管理、MS SQL Server 程序设计与管理等课程。
嵌入式系统拓展模块:拓展嵌入式开发领域~提高嵌入式系统软件的开发能力~包括Android程序设计、嵌入式Linux系统开发等课程。
软件服务外包拓展模块:拓展软件外包领域知识~为从事软件外包行业打下良好基础~包括第二外语、软件服务外包过程与管理、软件服务外包开发实践等课程。
,9,企业培养模块:教学目的:参与IT企业的研发、生产、管理等工作~将理论与企业实践结合~并加以运用。
培养学生具有软件工程师的良好职业道德、团队精神、工程意识~进一步强化学生解决实际问题的能力。