南京大学软件工程专业课程计划

合集下载

南京大学软件工程专业本科生培养方案与教学计划

南京大学软件工程专业本科生培养方案与教学计划

南京大学软件工程专业本科生培养方案与教学计划(2005年6月1日修订)软件产业作为信息产业的核心是国民经济信息化的基础,已经涉足工业、农业、商业、金融、科教文卫、国防和百姓生活等各个领域。

采用先进的工程化方法进行软件开发和生产是实现软件产业化的关键技术手段。

因此,为积极促进我国软件产业发展,增强其国际竞争力,加速我国信息化建设,急需培养大批软件工程领域的实用型、复合型软件工程技术人才和软件工程管理人才。

为促进南京大学软件工程专业本科生在入学、培养、毕业和学位授予等环节的规范化,确保培养质量,根据教育部有关要求,依据南京大学有关本科生培养的规定,特制定本方案。

本方案作为南京大学培养软件工程专业本科生的指导性文件,规定其培养目标、方向和要求,以及培养对象、方式及学习年限,并就其课程设置、课程修读和学位论文要求等给出指导性意见。

一、培养目标、方向和要求1、培养目标软件工程专业本科生的培养目标是针对国民经济信息化建设和发展的需要,面向软件产业界对软件工程技术人才的需求,培养具有国际竞争能力的多层次复合型软件实用人才。

作为一名合格的软件工程专业本科毕业生,应当符合国民经济信息化建设和发展需要,以及软件企业对软件工程技术人才需求,能够成为企业所需要的较高层次的软件工程技术和管理人才,其基本能力应当达到(具有国际水准的)程序员、高级程序员、软件工程师、以及项目质量管理人员的水平。

2、培养方向软件工程专业本科生培养的基本思路是强化基础、注重实践。

针对软件产业的人才需求,本科生阶段强调宽口径培养,不具体细分专业培养方向,但考虑专业课程模块设置,从而使得毕业生既具备扎实的基础和宽广的知识面,又较深入地认识某类软件系统和应用领域。

软件工程专业的基础课程应涵盖软件基础,软件工程基础,数学、工程与职业基础。

软件工程专业的专业课程应覆盖软件设计开发、软件过程与管理、计算机网络、数字化技术、信息安全技术、嵌入式软件、信息系统、图形系统等。

软件工程专业课程有哪些

软件工程专业课程有哪些

软件工程专业课程有哪些软件工程专业是现在非常热门的专业,因为许多人看到了其中的前景。

于是有同学问软件工程专业主要学什么呀?下面是由小编为大家整理的“软件工程专业课程有哪些”,仅供参考,欢迎大家阅读。

软件工程专业课程有哪些马克思主义理论、大学外语、高等数学、大学物理、物理实验、线性代数、概率论与数理统计、程序设计语言、数据结构、离散数学、操作系统、编译技术、软件工程概论、统一建模语言、软件体系结构、软件需求、软件项目管理。

拓展阅读:软件工程专业培养目标与要求本专业是培养适应计算机应用学科的发展,特别是软件产业的发展,具备计算机软件的基础理论、基本知识和基本技能,具有用软件工程的思想、方法和技术来分析、设计和实现计算机软件系统的能力,毕业后能在IT行业、科研机构、企事业中从事计算机应用软件系统的开发和研制的高级软件工程技术人才。

本专业学生主要学习软件工程方面的基本理论和基本知识,接受从事研究与软件开发的基本训练,具有一般计算机相关工程的分析设计和解决实际问题的能力。

软件工程专业必备能力1、掌握和计算机科学与技术相关的基本理论知识;2、掌握计算机系统的分析和设计的基本方法;3、了解文献检索、资料查询的基本方法,具有一定的科学研究和实际工作能力;4、了解与计算机有关的法规;5、能够运用学习知识和外文阅读能力查阅外文资料;6、掌握文献检索、资料查询的基本方法,具有获取信息的能力。

软件工程专业学什么东西软件工程专业主要学习的内容有C++程序设计,java,python,高等数学,数据结构,算法设计与分析,汇编语言程序设计,数据库系统,软件工程等等。

软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。

从软件开发的观点看,它就是使用适当的资源(包括人员,软硬件资源,时间等),为开发软件进行的一组开发活动,在活动结束时输入(即用户的需求)转化为输出(最终符合用户需求的软件产品)。

南京大学软件工程学科教程——附件2-1南京大学软件学院选课规则

南京大学软件工程学科教程——附件2-1南京大学软件学院选课规则

南京大学软件工程学科教程——附件2-1南京大学软件学院选课规则一、 总则1、目的。

为规范化南京大学软件学院选修课开设和学生选课,特制定本规则。

2、适用范围。

南京大学软件学院学生选修学院开设的各类选修课,学校及其他院系提供的选修课和学院开设的公共指定选修课不适用此规则。

二、 选修课及其开设规则3、适用本规则的选修课类别。

南京大学软件学院开设的方向课程模块指定选修课,方向课程模块指定实践课程,任选课程。

4、选修课开设班次规定。

选修人数超过160人,开设两个教学班次;其他情况,开设一个班次。

5、选修课班次最大人数。

120人。

6、选修课取消。

当次选修人数少于10人,取消开班;连续3年选修人数少于20人,经学院批准后取消该选修课程。

三、 学生选修7、方向课程模块选修的提出。

二年级末,学生提出联系方向课程模块。

每个学生应提出3个方向课程模块选修志愿,放弃填写第二/三志愿者,意味默认其他任何方向课程模块为志愿。

8、任选课程选修的提出。

每学期第二周,学生提出课程选修志愿。

9、修读课程数限制。

每个小学期,每个学生修读的学院开设课程数(含必修课、指选课、任选课)原则不少于3门,不多于5门;特殊情况应书面报教务办公室批准。

四、 选修优先权10、方向课程模块选修优先权。

a)每个学生的初始方向课程模块选修优先权为该联系方向指定专业核心课修读成绩;b)若学生在确定选修的方向课程模块之前获得过软件设计比赛优胜,可以获得30个方向课程模块选修优先权加分。

11、选修绝对优先权。

使用两个选修绝对优先权,可以保证选修一门任选实践课程;使用一个选修绝对优先权,可以保证选修一门其他任选课程。

a)每个学生的初始选修绝对优先权为0;b)若学生按照第二志愿确定方向课程模块,可以获得3个选修绝对优先权;c)若学生按照第三志愿确定方向课程模块,可以获得5个选修绝对优先权;d)若学生按照服从志愿确定方向课程模块,可以获得7个选修绝对优先权;e)若学生获得过软件设计比赛优胜,可以获得2个选修绝对优先权。

软件工程课程安排

软件工程课程安排

大一是网页制作,经典算法,c语言,军事理论,写作,高数1和高数2,离散1,中国近代史,思想道德,电子电路,英语1和2。

大二是数据库原理,编译原理,离散2,数字电路,汇编语言,c++语言,mfc,计算机组成原理,英语3和4,日语1和2,马克思原理,毛邓。

大三时jsp课程设计,sql server数据库,计算机体系结构,计算机网络,操作系统,计算机图形学,算法,日语3和4,人工智能,软件工程。

大四我就不知道了。

我刚读到大三。

软件工程专业本科教学计划一、培养目标和基本规格(一) 培养目标本科生的培养目标是:针对国民经济信息化建设和发展的需要,面向软件产业界对软件工程技术人才的需求,培养具有良好的综合素质、良好的职业道德、扎实的软件工程理论知识及较强的综合应用能力,掌握自然科学和与软件有关的法律基础知识、具有自主学习和使用先进软件开发技术和工具的能力,具有软件开发实践和项目组织的初步经验,具有创新、创业、竞争意识和团队精神。

学生后能从事大型软件项目的开发,具有软件企业所需要的较高层次的软件工程技术和管理人才的素质,能适应技术进步和社会需求变化对高素质软件工程专门人才的基本要求。

(二) 培养规格本专业学生应掌握领域坚实的基础理论和宽广的专业知识,具有良好的系统分析、设计及软件工程项目的组织与管理能力,具备运用先进软件开发技术、方法和工具的能力,具备与软件有关的法律知识,具备独立工作能力和团队精神。

毕业生应获得以下几方面的知识和能力:1、掌握的基本理论、基本知识和基本技能,特别是软件项目管理与开发技术、信息系统的分析与设计技术、网络数据库开发技术、网络信息安全和嵌入式软件开发技术;2、熟练掌握需求分析和建模、软件设计和实现、软件评审与测试、软件过程改进与项目管理、设计人机交互界面的基本方法,能运用先进软件技术和开发工具进行软件系统的开发与维护工作。

3、掌握与软件有关的法律法规、国际惯例,具备自觉运用法律知识进行软件知识产权保护的素质。

软件工程如何学习计划

软件工程如何学习计划

软件工程如何学习计划引言软件工程是一个不断发展和变化的领域,要成为一名优秀的软件工程师,需要不断学习、提高自己的技能和知识水平。

本文将提供一个系统的软件工程学习计划,帮助学习者在软件工程领域快速成长。

第一阶段:基础知识学习(3个月)在软件工程的学习过程中,首先需要掌握一定的基础知识。

这包括数据结构、算法、操作系统、计算机网络等基础知识。

这些知识对于软件工程师来说是非常重要的,它们可以帮助你更好地理解和应用在实际工作中。

1.1 数据结构与算法数据结构与算法是软件工程中的基础,它们是用来解决实际问题的工具。

学习者可以通过《算法导论》、《数据结构与算法分析》等书籍来系统学习相关知识。

另外,还可以通过LeetCode、HackerRank等在线平台来刷题,提高自己的编程能力。

1.2 操作系统操作系统是支持软件运行的基础环境,学习者可以通过《操作系统概念》等书籍来了解操作系统的基本原理和架构,了解操作系统调度、内存管理、文件系统等相关知识。

1.3 计算机网络计算机网络是连接计算机和其他设备的网络,学习者可以通过《计算机网络-自顶向下方法》等书籍来学习网络的基本原理和协议,了解网络的分层结构、常用协议、网络传输等知识。

第二阶段:编程语言学习(3个月)在软件工程中,编程语言是一个非常重要的技能。

通过学习不同的编程语言,可以帮助学习者更好地理解和应用在实际工作中。

在这里,我们推荐了几种编程语言,供学习者选择学习。

2.1 JavaJava是目前最受欢迎的编程语言之一,它具有良好的跨平台性和广泛的应用范围。

学习者可以通过《Java核心技术卷Ⅰ》、《Effective Java》等书籍来学习Java的基本语法和高级特性,了解Java的面向对象特性、内存管理、多线程等知识。

2.2 PythonPython是一种简单易学的编程语言,它具有丰富的库和工具,非常适合用来进行数据处理和科学计算。

学习者可以通过《流畅的Python》、《Python编程-从入门到实践》等书籍来学习Python的基本语法和常用库,了解Python的函数式编程、生成器、装饰器等知识。

软件工程学学习计划

软件工程学学习计划

软件工程学学习计划软件工程学是计算机科学与工程领域中的一门重要学科。

它关注的是软件的开发、组织以及维护等方面的理论和方法。

在不断发展和进化的数字时代,软件工程学的学习变得越来越重要。

为了更好地掌握软件工程学的知识和技能,我制定了以下学习计划。

第一阶段:学习基础知识在开始深入学习软件工程学之前,我打算先学习一些基础知识,包括计算机科学的基本原理和编程基础。

这将为我后续的学习打下坚实的基础。

我计划通过参加在线课程和自学来完成这一阶段的学习。

1. 学习计算机科学基础:我将通过学习计算机科学的核心概念,包括算法、数据结构、操作系统等来建立起对计算机科学基础原理的理解。

2. 学习编程语言:我将选择一种常用的编程语言,如Python或Java,并通过课程和项目实践来掌握编程的基本技能。

第二阶段:深入学习软件工程学在掌握了计算机科学基础知识和编程技能后,我将进一步深入学习软件工程学的相关内容。

这一阶段的学习将更加注重软件开发流程、项目管理以及软件质量保证等方面的知识。

1. 学习软件开发模型:我将学习常见的软件开发模型,如瀑布模型、敏捷开发等,了解它们的优缺点以及适用场景。

2. 学习需求工程:我将学习如何有效地收集和分析用户需求,并将其转化为可实现的软件系统。

3. 学习软件测试与质量保证:我将学习软件测试的方法和技术,以及如何确保代码的质量和可靠性。

4. 学习软件项目管理:我将学习项目管理的基本原理和方法,包括团队协作、进度管理、风险管理等。

第三阶段:实践项目理论学习只是学习软件工程学的一部分,实践才能真正锻炼和提升自己的能力。

在这一阶段,我计划通过参与实践项目来应用所学的知识和技能。

1. 参与开源项目:我将积极参与开源项目,贡献自己的代码和解决问题,与其他开发者进行交流和学习。

2. 完成个人项目:我将选择一个自己感兴趣的主题,独立开发一个小型软件系统,并将其完整地从需求分析、设计、实现到测试和发布等各个阶段都经历一遍。

《软件工程》南京大学计算机专业课程教材

《软件工程》南京大学计算机专业课程教材
序及其有关文件。 • 程序 计算任务中的处理对象和处理规则的描 述。 • 文件 为了便于了解程序所需的资料说明。
Basic Concepts
Software Characteristics
• Software is developed or engineering, it is not manufactured in the classical sense. 软件是由开发或工程化而形成的,而不是传统意义上由制造 产生的。 • Software doesn’t “wear out”. 软件不会“磨损”。 • Although the industry is moving toward component-based assembly, most software continues to be custom build. 大多数软件是自定的,而不是通过已有的构件组装起来的。
System Engineering
What is it?
Before software can be engineered, the “system” in which it resides must be understood. To accomplish this,
Software Engineering 软 件 工 程
李 宣 东 南京大学计算机科学与技术系
/people/lixuandong/softE.html
Contents
• Conventional Methods for Software Engineering 传统软件工程方法 • Object-Oriented Software Engineering 面向对象软件工程 • Software Process, Management, and Quality 软件过程、管理与质量

软件工程生的学习计划

软件工程生的学习计划

软件工程生的学习计划一、学习目标1. 熟练掌握常用的编程语言,包括Java、C++、Python等,能够进行独立的软件开发和设计。

2. 深入了解软件工程的理论和方法,掌握软件项目管理和软件质量保障的相关知识。

3. 提高自己的团队合作能力和沟通技巧,能够有效地与团队成员合作完成软件开发项目。

4. 学习并掌握软件测试、软件架构设计等方面的知识,提高自己的技术水平和工作能力。

二、学习计划1. 学习编程语言- 深入学习Java语言,包括面向对象编程、多线程编程、数据库操作等方面的知识。

- 学习C++语言,包括面向对象编程、STL等方面的知识。

- 学习Python语言,包括数据分析、人工智能等方面的知识。

2. 学习软件工程基础知识- 学习软件工程的基本概念和原理,包括软件生命周期、软件需求工程、软件设计等方面的知识。

- 学习软件项目管理的理论和方法,包括项目规划、需求分析、设计开发、测试交付等方面的知识。

3. 学习软件测试和质量保障- 学习软件测试的方法和工具,包括功能测试、性能测试、安全测试等方面的知识。

- 学习软件质量保障的理论和方法,包括代码审查、自动化测试、持续集成等方面的知识。

4. 学习软件架构设计- 学习软件架构设计的原则和方法,包括模块化设计、分层设计、微服务架构等方面的知识。

- 学习常用的软件架构模式和框架,包括MVC、MVVM、Spring等方面的知识。

5. 提高团队合作能力和沟通技巧- 参加团队项目实践,提高团队合作能力和项目管理技能。

- 加强沟通技巧的训练,包括书面沟通和口头表达等方面的能力。

三、学习方法1. 多练习编程- 多参加编程比赛和项目实践,不断提高编程能力和项目经验。

- 阅读经典的编程书籍,了解编程语言和算法的基本原理。

2. 多阅读相关书籍和文献- 阅读软件工程和计算机科学的经典著作和论文,了解软件工程的基本概念和发展方向。

- 关注软件工程领域的最新动态和研究成果,保持自己的学习状态和思考能力。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档