个人介绍
计算机软件技术基础

主讲教师:陆熊

教师团队:共9

  • 陆熊
  • 孔德明
  • 储剑波
  • 陈燕
  • 黄晓梅
  • 田祥瑞
  • 赵亚俊
  • 曾庆喜
  • 李志敏
开课院系: 自动化学院
课程编号: 03302180
课程介绍
    《计算机软件技术基础》(含对应实践课程《计算机实践》)是自动化、电气工程及其自动化、探测制导与控制技术、生物医学工程等专业的一门重要专业核心基础课程,为必修主干课程之一。    《计算机软件技术基础》为理论课程,以课堂教学为主,2学分/32学时;对应实践环节为《计算机实践》,共1学分/32学时,对应上机时间32学时,以数据结构、软件工程部分实验为主。

    《计算机软件技术基础》课程由数据结构、操作系统和软件工程三部分相互独立又相互关联的知识内容组成。(1)数据结构是从事计算机软件开发必备的基础知识,内容涉及线性表、队列、堆栈、串、树和图等典型数据结构的定义、存储实现和算法应用。(2)操作系统是计算机软件的运行环境,是深入高效开发计算机软件的基石,内容涉及基本概念、进程管理、作业管理、内存管理、设备管理和文件管理等内容。(3)软件工程是用于指导计算机软件开发的方法学,内容涉及问题定义、可行性研究、需求分析、软件设计、软件编程、软件测试和软件维护等计算机软件开发生命周期的各个环节。
教师团队

陆熊

职称:副教授

单位:南京航空航天大学自动化学院

孔德明

职称:讲师

单位:南京航空航天大学自动化学院

储剑波

职称:副教授

单位:南京航空航天大学自动化学院

陈燕

职称:讲师

单位:南京航空航天大学自动化学院

黄晓梅

职称:讲师

单位:南京航空航天大学自动化学院

田祥瑞

职称:讲师

单位:南京航空航天大学自动化学院

赵亚俊

职称:讲师

单位:南京航空航天大学自动化学院

曾庆喜

职称:副教授

单位:南京航空航天大学自动化学院

李志敏

职称:助理实验师

单位:南京航空航天大学自动化学院

课程目标/要求

    通过课程内容学习,不仅使学生较系统全面地了解计算机软件中的重要概念、基础知识和开发方法,同时进一步培养学生利用计算机技术解决本专业学科领域相关问题的能力;通过养学生理解数据结构、操作系统和软件工程的基本概念以及它们在计算机软件开发过程中的作用,使学生掌握计算机软件开发的基本原理、过程、方法、技术和工具,能够具备基本计算机软件的开发和编程能力;进而培养学生利用计算机解决自动化、电气工程与自动化专业领域复杂工程问题的意识和能力。

课程大纲

计算机软件技术基础》课程教学大纲

课程名称:计算机软件技术基础

课程代码:03302180

课程性质:必修

学分/学时:2学分/32学时

开课学期:3学期

适用专业:自动化、电气工程与自动化、探测制导与控制技术、生物医学工程等专业

先修课程:计算思维导论、C语言程序设计、计算思维导论实验、C语言课程设计

开课单位:自动化学院

课程负责人:陆熊

 

一、课程性质和教学目标

课程性质:计算机软件技术基础是自动化、电气工程与自动化、探测制导与控制技术、生物医学工程等专业的一门重要学科基础课程,为必修主干课程。

教学目标:计算机软件技术基础是研究计算机软件开发的基础课程,旨在要求学生通过课程内容学习掌握计算机软件开发所涉及的基本原理、过程、方法、技术和工具,培养学生具备较深入的计算机系统知识和计算软件开发能力;为《计算机实践》课程奠定理论基础,同时为后续课程学习、专业技术工作、科学研究等过程中计算机软件应用和开发奠定重要基础。

本课程由数据结构、操作系统和软件工程三部分知识内容组成。通过课程内容学习,不仅使学生较系统全面地了解计算机软件中的重要概念、基础知识和开发方法,同时进一步培养学生利用计算机技术解决本专业学科领域相关问题的能力

         培养学生理解数据结构、操作系统和软件工程的基本概念以及它们在计算机软件开发过程中的作用,使学生掌握计算机软件开发的基本原理、过程、方法、技术和工具,能够具备基本计算机软件的开发和编程能力;

         培养学生利用计算机解决本专业领域复杂工程问题的意识和能力,使学生掌握解决问题过程中所需专业软件的基础知识和应用能力。

 

二、课程教学内容及学时分配(含课堂教学、自学、作业、讨论等的内容及要求)

1、数据结构(17学时)

(1) 数据结构的基本概念  (共2学时)

(2) 线性结构                   (共7学时)

包括:顺序表和链表、栈、队列、串和数组

(3) 非线性结构                (共6学时)

包括:树及其二叉树的概念、二叉数的实现及其应用、图的概念及其实现

(4) 查找和排序                (共2学时)

目标及要求:数据结构是计算机软件开发过程中必备的基础知识。通过此部分内容的学习,学生应该能够掌握软件开发中常用到各种数据结构、相应的算法,以及算法的评价指标。具体包括线性表、栈、队列、字符串等线性数据结构和树、二叉树、图等非线性数据结构的逻辑结构、物理结构和操作规则,熟悉它们的优缺点和适用场合。能够根据问题的特点选择合适的数据结构,开展算法设计,并通过相应的计算机编程语言编程实现问题求解过程。

 

2、操作系统(7.5学时)

(1) 操作系统概论            (共0.5学时)

(2) 处理器管理                (共4.5学时)

包括:进程的概念、控制和调度,进程的互斥与同步,进程的通信、死锁及其预防,作业管理,处理器调度。

(3) 存储管理                    (共1.5学时)

包括:存储管理的基本概念、页式存储管理、段式存储管理

(4) 设备管理                    (共0.5学时)

(5) 文件管理                    (共0.5学时)

目标及要求:操作系统是整个信息技术领域中一块极其重要的基石,一方面只有了解操作系统的基本工作原理、系统内部的体系结构,才能更深入地开发一些系统软件和应用软件;另一方面,操作系统本身即是一个优秀的计算机软件,其中的设计思想可以借鉴到计算机软件开发当中。通过此部分内容的学习,学生应该能够掌握操作系统的基本概念、基本功能和实现方法。能够利用信号量和PV操作实现进程的互斥与同步问题,能够了解操作系统各功能实现过程中不同算法和策略的优缺点。

 

3、软件工程(7.5学时)

(1) 软件工程概述                    (共0.5学时)

(2) 问题定义与可行性研究      (共0.5学时)

(3) 需求分析、软件设计          (共4学时)

包括:结构化分析方法、数据流图和数据字典; 总体设计、详细设计

(4)  软件编码、软件测试        (共2学时)

(5)  软件维护                         (共0.5学时)

目标及要求:软件工程研究在开发软件过程中应遵循的规范、采用的方法和技术以及如何编写相应的文档。通过此部分内容的学习,学生应该能够掌握软件工程的基本概念,熟悉最基本的软件工程的开发模型,能够掌握生命周期开发模型各阶段的任务和结构化的软件开发方法。能够使用系统流程图描述软件系统的物理模型,使用数据流图和数据字典进行需求分析,能够掌握软件设计的规则,通过映射实现软件设计,掌握软件优良编码风格的要点,掌握基本的软件测试方法和软件维护手段,能够了解软件开发过程中各阶段文档的编写方法。最终能够利用软件工程中的方法学指导和实现基本的计算机软件开发过程当中。

 

三、教学方法

在教学方式上,以自编教材为基础,不断丰富教学内容,积极采用研究性的教学方法,提高学生学习的主观能动性和积极性。

由于本课程涉及面广,学时有限,故需注重学生理论基础知识的学习及实际分析问题和解决问题能力的培养。根据学生特点,培养好的数据结构和算法是优秀程序设计的基础,强调非执行语句及说明文档在程序设计中的重要地位,培养学生良好的程序设计风格。强调软件设计中需求分析和系统分析的重要性。根据计算机系统发展的特点,力求概念和方法要新,内容尽量接近当前发展主流。做到基础扎实,紧跟前沿动态。对于众多相对抽象的、概念性的知识点,应当结合具体实例来讲授。授课方式可采用多媒体加适当板书。



考核方式

课程考核方式:笔试+平时测验及作业

成绩评定方式:期末考试70%

平时测试+习题:30%


思政元素

 数据结构、操作系统和软件工程三部分课程内容的学习,既注重这三部分的独立性,又呈现它们之间相辅相成的必然联系,不仅使学生比较系统和全面地了解计算机软件技术中的重要概念、基础知识和开发方法,还通过典型数据结构的应用、信号量和PV操作解决进程协调、初始软件结构图的设计和优化、软件测试方法等难点问题的提出与例题讲解,由浅入深地培养学生发现问题、分析问题和解决问题的能力。通过国内外软件技术发展历程介绍、算法设计的性能分析和课程考核等环节,树立学生在计算机软件开发中精益求精的“工匠精神”,激发学生形成以促进我国计算机软件技术发展为己任的使命担当,培养他们胸怀祖国、服务人民的爱国情怀,从多角度体现《计算机软件技术基础》课程思政教学元素。

课程教材

教材:

陆熊、孔德明、陈燕等. 计算机软件技术基础, 北京: 电子工业出版社,2023.

参考教材:

[1] 严蔚敏, 李冬梅, 吴伟民. 数据结构(C语言版 第2版),北京: 人民邮电出版社, 2022.

[2] 张尧学, 任炬, 卢军. 计算机操作系统教程(第5版), 北京: 清华大学出版社, 2023.

[3] 郑人杰,马素霞等. 软件工程概论(第3版). 北京: 机械工业出版社, 2020.




教学资源
课程章节 | 文件类型   | 修改时间 | 大小 | 备注
1.1 第1章 绪论
文档
.pdf
2024-10-19 2.02MB
1.2 第2章  线性结构-(1)线性表(顺序存储)
文档
.pdf
2024-10-19 2.27MB
1.3 第2章  线性结构-(2)线性表(链式存储)
文档
.pdf
2024-10-19 1.99MB
1.4 第2章  线性结构-(3)栈和队列
文档
.pdf
2024-10-19 2.80MB
1.5 第2章  线性结构-(4)串和数组
文档
.pdf
2024-10-19 2.05MB
1.6 第3章 非线性结构-(1)树和二叉树
文档
.pdf
2024-10-19 2.72MB
1.7 第3章 非线性结构-(2)图
文档
.pdf
2024-10-19 3.72MB
1.8 第4章 查找与排序
文档
.pdf
2024-10-19 3.11MB
2.1 第5章 操作系统概论
文档
.pdf
2024-10-19 13.96MB
2.2 第6章 处理器管理-(1)进程的概念、状态和控制
文档
.pdf
2024-10-19 12.14MB
2.3 第6章 处理器管理-(2)进程的协调
文档
.pdf
2024-10-19 13.51MB
2.4 第6章 处理器管理-(3)进程的安全性
文档
.pdf
2024-10-19 8.34MB
2.5 第6章 处理器管理-(4)作业管理、处理器调度
文档
.pdf
2024-10-19 11.10MB
2.6 第7章 存储器管理
文档
.pdf
2024-10-19 13.95MB
2.7 第8章 设备管理
文档
.pdf
2024-12-16 8.35MB
2.8 第9章 文件管理
文档
.pdf
2024-10-19 4.60MB
3.1 第10章 软件工程概述
文档
.pdf
2024-10-19 7.49MB
3.2 第11章 问题定义与可行性研究
文档
.pdf
2024-10-19 2.54MB
3.3 第12章 需求分析和软件设计-(1)需求分析
文档
.pdf
2024-10-19 9.75MB
3.4 第12章 需求分析和软件设计-(2)概要设计
文档
.pdf
2024-11-24 17.93MB
3.5 第12章 需求分析和软件设计-(3)详细设计
文档
.pdf
2024-10-19 5.23MB
3.6 第13章 软件编程与测试
文档
.pdf
2024-12-01 20.02MB
3.7 第14章 软件维护
文档
.pdf
2024-10-19 3.04MB
4.1 教材勘误汇总
附件
.${file.extension}
2024-11-11 --
 
附件
.${file.extension}
2024-12-16 --
 
附件
.${file.extension}
2024-12-16 --
 
附件
.${file.extension}
2024-12-16 --
 
图片
.jpg
2024-12-16 --
 
附件
.${file.extension}
2024-12-18 --
 
附件
.${file.extension}
2025-01-07 --
4.2 课程部分作业参考答案
文档
.pdf
2024-12-15 986.11KB
4.3 课程复习提纲2024
文档
.pdf
2024-12-15 146.91KB
提示框
提示框
确定要报名此课程吗?
确定取消

京ICP备10040544号-2

京公网安备 11010802021885号