计算机软件基础
人工智能科学与技术 清华大学出版社·电子信息事业部:分享教育成果|推荐高端图书,传播最前沿的科学与技术 290篇原创内容 –> 公众号 学分:2.5 学时:40
面向对象:电子信息工程、通信工程、电子科学与技术、自动化、为电子工程、机器人工程等专业本科生
先修课程:高级语言程序设计、高级语言程序设计课设
教材及参考书:
汪友生,张新峰,张小玲,刘芳等. 计算机软件基础(第2版), 清华大学出版社,2020.12
严蔚敏,李冬梅,吴伟民 著,数据结构(C语言版 第2版 附微课视频),人民邮电出版社,2017
李春葆,数据结构简明教程(第2版),清华大学出版社,2019
课程简介本课程是非计算机专业本科生学习计算机软件技术基础知识的综合性基础课程。课程内容以数据结构为主,同时包含软件工程和操作系统的基础知识。
一个软件的生存周期包括计划期、开发期和运行期,开发期的软件设计、软件编码需要掌握包括线性数据结构(线性表、栈、队列、串和数组)、非线性数据结构(树和图)、排序和查找等方面的知识。而计划期、运行期的主要工作,包括需求分析、软件的设计方法、软件的测试维护等构成软件开发这部分内容。
另外,软件是在计算机里运行的,需要占用计算机系统资源,资源管理部分介绍相关知识。数据结构与算法、软件开发技术、资源管理技术等三部分构成了一个软件生命周期的完整知识架构。课程重点和难点是数据的表示和处理。
课程地位与目标(一) 课程地位
本课程是电子信息工程和通信工程专业本科生的一门学科基础必修课,是计算机类课程的基础课程,在本专业课程体系中具有重要的基础地位。通过本课程学习应使学生了解和掌握计算机软件技术的基本理论和数据处理方法,结合先修课程高级语言程序设计,可为后续的专业课程以及毕业设计开发应用软件打下基础。
本课程支撑的毕业要求拆分指标点的具体描述。
指标点2-2:能基于相关科学原理和方法,正确表达电子系统和信号信息处理应用中的复杂工程问题。
本课程包含有数据结构和操作系统、软件工程的基础知识,学生可以了解到计算机系统管理资源的相关技术以及软件开发的一般方法,可用于正确表达电子系统和信号信息处理应用中的复杂工程问题。
指标点5-2:能够掌握电子系统设计、信号处理领域相关的软件编程语言、模拟软件及计算机软硬件工具,用于对复杂工程问题进行分析、计算与设计。
计算机软件基础属于在掌握计算机操作系统原理和软件工程方法基础上,提高编程水平的课程,掌握本课程的知识,对完成相关的计算机应用系统设计开发提供支持。
(二)课程目标
1 教学目标:培养学生利用计算机软件技术解决问题的基本思路与能力,以及算法设计与分析、程序设计与实现专业基本能力。掌握程序设计技术和进行应用软件开发所必要的基本知识,具有初步的软件分析、算法与数据库的设计、软件设计的能力。掌握开发应用软件所必需的软件基础知识,在理解计算机系统软件特点的基础上,采用较好的数据结构和开发方法,结合本专业知识完成对较为复杂应用系统的分析、计算与设计。该目标分解为以下子目标。
目标1:掌握常用的数据结构及其应用,学会合理组织数据、有效地处理数据;
目标2:组合运用基本数据结构和经典算法,编写出解决实际应用的良好程序;
目标3:了解软件的设计与分析方法,具备从事软件开发、测试、维护和软件项目管理的能力;
目标4:了解操作系统对资源的控制和管理,实现软件的高效有序执行。
表1 课程目标与毕业要求拆分指标点的对应关系
序号 | 课程目标 | 毕业要求拆分指标点 | ||
5-2 | ||||
掌握常用的数据结构及其应用,学会合理组织数据、有效地处理数据。 | ● | |||
组合运用基本数据结构和经典算法,编写出解决实际应用的良好程序。 | ● | |||
了解软件的设计与分析方法,具备从事软件开发、测试、维护和软件项目管理的能力。 | ● | |||
了解操作系统对资源的控制和管理,实现软件的高效有序执行。 | ● |
注:●:表示有强相关关系,◎:表示有一般相关关系,⊙:表示有弱相关关系2 育人目标:在本课程的教学过程中,培养学生的理想信念、家国情怀、民族自信、责任担当、专业素养、行为规范等育人元素,寓价值观引导于知识传授之中,着力提高学生的学习能力、实践能力、创新能力,培养爱国主义情怀和奋斗精神,提高学生的道德情操、法律意识和工程素质,真正达到学生综合素质的提高。该目标分解为以下子目标。
目标1:通过学习数据的逻辑结构、存储结构等,让学生学习遵守规则,培养严谨的工作作风;
目标2:应用算法表达实际问题,建立起利用专业知识建模解决实际计算问题的意识和兴趣,促进学科素养的提升,使学生热爱自己的专业,增强研究问题的信心;
目标3:通过编程练习,让学生理解解决复杂问题的基本思路,树立科学研究的自信心;
目标4:通过教学过程中对操作系统、软件工程等内容的介绍,以及我国国产软件的现状,让学生理解开发国产自主软件的迫切性,体现爱国主义情怀;
目标5:通过实践编程实践(实验课),培养学生独立解决问题的能力、探索能力和创新能力。
课程教学内容
分章节列出课程教学内容及对课程目标的支撑,详见表2。表2 教学内容与课程目标的对应关系
章节名称 | 教学内容及重点(▲)、难点(★) | 课程目标(√) | ||
2 | 3 | 4 | ||
计算机软件的一些基本概念及发展概况,数据结构的基本概念,算法的基本概念以及算法描述和评价方法。 | √ | √ | ||
线性表、栈、队列、串、数组等线性数据结构的基本概念、基本操作、顺序存储和链式存储方法,常用算法的实现。 | √ | √ | ||
树与二叉树的基本概念、性质、存储结构、遍历方法,哈夫曼树及编码;图的基本概念、存储结构、遍历方法,最小生成树及其构造算法。 | √ | √ | ||
掌握典型排序算法快速排序、希尔排序、堆排序的基本思想和排序过程,以及直接插入排序、简单选择排序和冒泡排序的实现方法。 典型查找算法如掌握顺序查找、折半查找的方法及过程描述,掌握二叉排序树及哈希查找方法。哈希表的建立过程及处理冲突的方法。 |
√ | √ | ||
操作系统的形成与发展,操作系统的基本概念和常用术语,操作系统的进程管理、存储管理和文件管理等基本功能。 | √ | √ | ||
软件工程概念、软件需求分析、软件的设计方法、软件编程与测试、以及软件的维护。 | √ | √ |
课教授方法与学习方法指导
教授方法:以讲授为主(40学时),配合实验课程(16学时)。课内讲授推崇探究型教学,适当结合线上线下混合式教学模式,以知识为载体,传授相关的思想和方法,引导学生理解并掌握基本理论知识。实验教学则提出基本要求,引导学生独立完成各数据结构的设计与实现。
学习方法:养成探索的习惯,特别是重视对基本理论的钻研,在理论指导下进行实践;注意从实际问题入手,归纳和提取各种数据结构的基本特性,设计算法。明确学习各阶段的重点任务,做到课前预习,课中认真听课,积极思考,课后认真复习,不放过疑点,充分利用好教师资源和同学资源。仔细研读教材,适当选读参考书的相关内容,深入理解概念,掌握方法的精髓和算法的核心思想,不要死记硬背。积极参加实验,在实验中加深对数据结构以及相关基础算法的理解。
教学环节及学时分配教学环节及各章节学时分配,详见表3。
表3 教学环节及各章节学时分配表
章节名称 | 教学内容 | 学 时 分 配 | 合计 | ||||
讲授 | 习题 | 实验 | 讨论 | 其它 | |||
第1章 | 绪论 | 2.5 | |||||
第2章 | 线性表 | 3 | 0.5 | ||||
第2章 | 栈 | 2.5 | |||||
第2章 | 队列 | 2 | 0.5 | ||||
第2章 | 串 | 2 | |||||
第2章 | 数组 | 3 | |||||
第3章 | 树和二叉树 | 5 | 0.5 | ||||
第3章 | 图 | 4 | |||||
第4章 | 排序 | 4 | 0.5 | ||||
第4章 | 查找 | 4 | |||||
第5章 | 资源管理 | 3 | |||||
第6章 | 软件开发 | 3 | |||||
合计 | 38 | 2 |
考核与成绩评定
课程考核以考核学生对课程目标达成为主要目的,检查学生对教学内容的掌握程度为重要内容。课程成绩包括平时成绩和考试成绩两部分。
考核方式及成绩评定分布:写明该门课程考核环节及各环节的成绩占比,各考核环节、考核内容对毕业要求拆分指标点的支撑情况。
平时成绩30%(作业等15%,其它15%),考试成绩70%。
平时成绩中的其它15%主要反应学生的课堂表现、平时的信息接收、自我约束。成绩评定的主要依据包括:课程的出勤率、课堂的基本表现(如课堂测验、课堂互动等);作业等的15%主要是课堂作业和课外作业,主要考察学生对已学知识掌握的程度以及自主学习的能力。
考试成绩70%为对学生学习情况的全面检验。强调考核学生对基本概念、基本方法、基本理论等方面掌握的程度,及学生运用所学理论知识解决复杂问题的能力。
本课程各考核环节的比重及对毕业要求拆分点的支撑情况,详见表4。
表4考核方式及成绩评定分布表
考核 | 所占 | 主要考核内容 |
方式 | 比例% | |
作业 | 15 | 作业完成的质量,对应毕业要求指标点2-2、5-2达成度的考核。 |
其它 | 15 | 考勤、课堂提问、平时表现(含课堂测验),对应毕业要求指标点2-2、5-2达成度的考核。 |
期末 考试 |
70 | 规定的考试内容掌握情况,对应毕业要指标点2-2、5-2达成度的考核。 |
大纲下载计算机软件基础教学大纲
相关图书
书名:计算机软件基础(第2版)书号:9787302568605
定价:59.80
(点击图片查看140部可申请教材)