一、专业概况
2015年教育部批准增设软件工程专业,同年开始招生。与达内科技、淮微科技、青软实训等企业开展嵌入式人才培养,将专业规范、行业标准和企业需求有机结合,着力培养“厚基础、善实践、能创新、高素质”的应用型工程技术人才。毕业生基础知识扎实、创新能力和团队意识强,深受社会和企业的欢迎。
二、培养目标
本专业培养适应计算机及软件工程应用领域发展需求,具有本专业必备的数学与自然科学知识,软件工程基础理论和专业知识,具有良好人文素质、社会责任感和职业道德,具备良好的沟通能力与团队精神,具有良好的持续学习能力和创新意识,能够适应职业和社会发展的应用型软件工程技术人才,具有强烈的事业心和责任感,能够解决软件工程领域的复杂工程问题。
学生毕业后能够在软件外包与服务企业、信息产品与服务企业的软件系统开发或人工智能领域进行应用软件系统的架构、开发、测试、运维和管理工作,也可进入国内外高等院校、科研院所继续深造。
三、毕业要求
要求1. 工程知识:能够将数学与自然科学知识、软件工程基础理论和专业知识用于解决软件工程领域复杂工程问题。
要求2. 问题分析:能够应用数学、自然科学及软件工程的基本原理,对软件工程领域或行业应用场景进行抽象分析与识别、建模表达、并通过文献研究分析本领域复杂工程问题,以获得有效结论。
要求3. 设计/开发解决方案:能够设计软件工程领域或行业复杂工程问题的解决方案,设计满足特定需求的应用软件系统、模块或算法流程,并能够在设计与开发过程中体现创新与服务意识,能够考虑社会、健康、安全、法律、文化以及环境等因素。
要求4. 研究:能够基于计算机学科及软件工程学科的基本原理,采用科学方法对复杂工程问题进行研究,通过实验设计、数据分析与解释、测试等过程得到合理有效的结论。
要求5. 使用现代工具:能够针对软件工程领域或行业的复杂工程问题选择恰当的技术、资源和工具,能够对复杂软件工程问题进行预测与建模,并能够理解其局限性。
要求6. 工程与社会:能够在软件复杂工程问题解决方案中,基于软件行业或领域相关背景知识进行合理分析,并根据社会、健康、安全、法律以及文化等方面的影响作出分析与判断,并理解应承担的社会责任。
要求7. 环境和可持续发展:能够理解、评价在复杂工程问题中软件系统应用对环境、社会可持续发展方面的贡献和影响,坚守软件工程行业的政策与法规,并能够运用技术手段降低其负面影响与局限性。
要求8. 职业规范:具有良好的人文社会科学素养和社会责任感,能够在工程实践中理解并遵守软件工程行业道德与职业规范,履行相应的责任。
要求9. 个人和团队:能够在学科背景下软件工程项目的实施过程中理解团队与合作精神,明确软件项目各团队成员的负责与义务,具有较好的团队协调能力和组织能力。
要求10. 沟通:能够在软件项目的实施过程中选择合适的手段和工具,通过撰写报告、设计文稿或陈述发言等方式就复杂工程问题与业界同行及社会公众进行有效沟通和交流。具备一定的国际化视野,了解软件行业的国际发展趋势,基本能够在跨文化背景下进行沟通和交流。
要求11. 项目管理:能够在软件项目的实施过程中,理解工程管理原理与经济决策方法,能够将软件工程相关知识运用到多学科协作应用环境中,具备一定的软件工程项目管理能力。
要求12. 终身学习:具有自主学习和终身学习的意识,通过各种技术和途径能够不断学习,主动适应软件工程行业技术快速发展。
四、专业核心课程
1.数据结构(Data Structure) 3.5学分
《数据结构》是处理非数值计算的程序设计的基础。本课程旨在培养学生针对具体问题对象能够选择适宜的逻辑和存储结构,并能设计适当的算法进行有效的数据存储和处理,培养学生解决实际应用问题能力,为后续课程打下基础。
2.计算机系统基础(Introduction to Computer Systems) 4学分
《计算机系统基础》以高级语言程序的开发和运行过程为主线,介绍该过程的每个环节所涉及的硬件和软件的基本概念,帮助学生建立一个完整的计算机系统层次结构框架,了解计算机系统的全貌和相关知识体系,初步理解计算机系统中的每一个抽象层及其相互转换关系,建立高级语言程序、指令集体系结构、操作系统、编译器、链接器等之间的相互关联;对指令在硬件上的执行过程和指令的底层硬件执行机制有一定的认识和理解,从而增强学生在程序的调试、性能优化、移植和健壮性保证等方面的能力。
3.数据库原理及应用(Database Principles and Applications) 3.5学分
《数据库原理及应用》系统地介绍数据库的基本概念、基本原理及应用技术,是从事信息技术应用开发的基础课程。本课程讲授数据库的基本概念、关系数据库、关系数据库的结构化查询语言SQL及数据库编程、关系的规范化、数据库设计、数据库保护技术及主流数据库管理系统,并结合课程实验,安排学生在主流数据库管理系统上进行实践,进一步巩固所学的相关理论知识,培养学生设计和使用关系数据库的能力。
4.算法设计与分析(Analysis and Design of Algorithms) 3学分
《算法设计与分析》系统讲述算法设计的基本技巧、方法,通过具体问题实例,使学生重点掌握分治法、蛮力法、回溯法、分支限界法、贪心法、动态规划法、网络流、几何计算和概率算法及近似算法等常见的算法设计策略,培养学生分析问题和解决问题的能力,使学生在算法复杂性基本理和基本技术的基础上,熟练运用一些常用算法解决一些较综合的问题。
5.操作系统(Operating System) 4学分
《操作系统》以Linux操作系统为基础,主要讲授操作系统的基本概念、基本原理及其实现技术,包括处理器管理、进程并发管理、存储器管理、设备管理和文件管理等知识。通过本课程学习,使学生了解操作系统及其相关的基础计算机科学知识,掌握构建操作系统的基本思想和原理,实现机制和基本算法。此外,通过和操作系统实验环节的互相配合、理论联系实际,进一步巩固所学的相关理论知识,增强对操作系统原理的理解,并培养学生良好的系统设计与实现能力。
6.需求分析与系统设计(Demand Analysis and System Design) 3学分
《需求分析与系统设计》包含软件需求分析及软件系统的设计等内容,是软件工程的重要两个阶段,在软件项目开发中起着至关重要的作用,以面向对象技术为基础使学生理解软件需求和设计阶段的任务,涵盖基于用例的需求定义,面向对象的系统分析,动态、交互、静态模型的建立,面向对象的系统设计,包括体系结构、问题域、人机界面、数据模型的设计,能够使用UML和相关工具对需求进行分析建模,并对系统设计进行演化和迭代
7.软件设计模式与体系结构(Software Design-Patterns and Architecture) 3学分
《软件设计与体系结构》主要研究软件体系结构及所包含的设计模式、有价值的经验和针对特定问题的解决方案。在掌握软件体系结构相关知识、原理和各种类型设计模式的基本结构的基础上,能够从系统结构角度分析现有的软件系统,并能设计可扩展、可重用的软件系统,使学生能够运用相关的设计模式和软件体系结构于实际的应用当中,培养学生具有分析和解决问题的基本思路。