《高级语言程序设计I》课程大纲一、课程信息课程名称高级语言程序设计(HighLevelLanguageProgrammingll)课程编码231111503B适用专业计算机科学与技术2先修课程高级语言程序设计修读学期课程类别学科专业基础课程课程性质团必修口选修2.5团考试口考查课程学分考核方式课程学时48学时(理论学时32,实践学时16)审核人执笔人芦彩林邓曦辉二、课程简介高级语言程序设计I是《高级语言程序设计I》课程的后继课程,属于本专业的专业基础课程。通过本课程的学习,使学生掌握程序设计的基本知识和基本方法,在解决实际应用问题时能够抽象出问题的数学模型,设计出相应的算法,并使用C语言编码实现。本课程主要培养学生的计算思维、逻辑思维和抽象思维,以及对复杂工程问题进行分析与求解的基本能力。三、课程目标(一) 课程目标通过本课程的学习,学生可以达到以下目标:课程目标1:学生通过学习C语言中数组、函数、指针、结构体、文件等基本知识,能够利用数组、结构体和文件对计算机领域复杂工程问题中的数据进行计算与存储。(毕业要求指标点1.2:工程建模)课程目标2:在学习C语言基本知识的基础上,通过作业、项目实践、在线实训使学生具有模块化程序设计思想,能使用自顶向下、逐步分解的程序设计方法,以及查询、排序、递归等基本算法解决计算机领域的复杂工程问题。(毕业要求指标点3.2:工程开发)课程目标3:对计算机领域复杂工程问题中的软件部分能够使用基本的软件测试方法对其功能进行验证和确认,以确保其质量、可靠性和完整性。(毕业18
18 《高级语言程序设计Ⅱ》课程大纲 一、课程信息 课程名称 高级语言程序设计Ⅱ(High Level Language ProgrammingⅡ) 课程编码 231111503B 适用专业 计算机科学与技术 先修课程 高级语言程序设计Ⅰ 修读学期 2 课程类别 学科专业基础课程 课程性质 必修 □选修 课程学分 2.5 考核方式 考试 □考查 课程学时 48 学时(理论学时 32,实践学时 16) 执笔人 芦彩林 审核人 邓曦辉 二、课程简介 高级语言程序设计Ⅱ是《高级语言程序设计Ⅰ》课程的后继课程,属于本专 业的专业基础课程。通过本课程的学习,使学生掌握程序设计的基本知识和基 本方法,在解决实际应用问题时能够抽象出问题的数学模型,设计出相应的算 法,并使用 C 语言编码实现。本课程主要培养学生的计算思维、逻辑思维和抽 象思维,以及对复杂工程问题进行分析与求解的基本能力。 三、课程目标 (一)课程目标 通过本课程的学习,学生可以达到以下目标: 课程目标 1:学生通过学习 C 语言中数组、函数、指针、结构体、文件等 基本知识,能够利用数组、结构体和文件对计算机领域复杂工程问题中的数据 进行计算与存储。(毕业要求指标点 1.2:工程建模) 课程目标 2:在学习 C 语言基本知识的基础上,通过作业、项目实践、在 线实训使学生具有模块化程序设计思想,能使用自顶向下、逐步分解的程序设 计方法,以及查询、排序、递归等基本算法解决计算机领域的复杂工程问题。 (毕业要求指标点 3.2:工程开发) 课程目标 3:对计算机领域复杂工程问题中的软件部分能够使用基本的软 件测试方法对其功能进行验证和确认,以确保其质量、可靠性和完整性。(毕业
要求指标点4.2:工程测试)课程目标4:学生能够熟练使用VisualStudio、VSCode、DEV等编程工具调试C语言程序,初步具备对计算机领域复杂工程问题进行设计、开发、测试、维护的能力。(毕业要求指标点5.2:工程软件应用)(二)课程目标与毕业要求的关系课程目标支撑的毕业要求支撑的毕业要求指标点1.2【工程建模】掌握计算机基本知识和数学建模的方法,具备对计算机科学与技术应用领域复课程目标1毕业要求1:工程知识杂工程问题建立数学模型并利用计算机求解的能力。3.2【工程开发】运用计算机知识,针对复杂软毕业要求3:设计/开发硬件工程问题,给出可行的技术路线和解决方课程目标2解决方案案,具有开发满足特定需求的中小型软硬件系统和大型系统中独立子系统的能力。4.2【工程测试】具备使用计算机工程的方法与课程目标3毕业要求4:研究技术对复杂工程问题开展实验(测试)的能力。5.2【工程软件应用】能够开发或选用恰当的技毕业要求5:使用现代课程目标4术、资源和工具对计算机科学与技术应用领域复工具杂工程问题进行分析、设计、开发、测试和维护。四、课程内容(一)课程内容与课程目标的关系学时安排课程内容支撑的课程目标教学方法12第一章数组项目式教学法课程目标1、210第二章函数课程目标1、2项目式教学法8项目式教学法第三章指针课程目标1、310第四章结构体课程目标1、4项目式教学法8第五章文件课程目标1、4项目式教学法合计48(二)课程内容第一章数组【学习目标】1.掌握在一维数组中实现数据的计算、插入、删除、查找、排序的方法。2.掌握使用二维数组处理矩阵的方法。【课程内容】19
19 要求指标点 4.2:工程测试) 课程目标 4:学生能够熟练使用 Visual Studio、VS Code、DEV 等编程工具 调试 C 语言程序,初步具备对计算机领域复杂工程问题进行设计、开发、测试、 维护的能力。(毕业要求指标点 5.2:工程软件应用) (二)课程目标与毕业要求的关系 课程目标 支撑的毕业要求 支撑的毕业要求指标点 课程目标 1 毕业要求 1:工程知识 1.2【工程建模】掌握计算机基本知识和数学建 模的方法,具备对计算机科学与技术应用领域复 杂工程问题建立数学模型并利用计算机求解的 能力。 课程目标 2 毕业要求 3:设计/开发 解决方案 3.2【工程开发】运用计算机知识,针对复杂软 硬件工程问题,给出可行的技术路线和解决方 案, 具有开发满足特定需求的中小型软硬件系 统和大型系统中独立子系统的能力。 课程目标 3 毕业要求 4:研究 4.2【工程测试】具备使用计算机工程的方法与 技术对复杂工程问题开展实验(测试)的能力。 课程目标 4 毕业要求 5:使用现代 工具 5.2【工程软件应用】能够开发或选用恰当的技 术、资源和工具对计算机科学与技术应用领域复 杂工程问题进行分析、设计、开发、测试和维护。 四、课程内容 (一)课程内容与课程目标的关系 课程内容 支撑的课程目标 教学方法 学时安排 第一章 数组 课程目标 1、2 项目式教学法 12 第二章 函数 课程目标 1、2 项目式教学法 10 第三章 指针 课程目标 1、3 项目式教学法 8 第四章 结构体 课程目标 1、4 项目式教学法 10 第五章 文件 课程目标 1、4 项目式教学法 8 合计 48 (二)课程内容 第一章 数组 【学习目标】 1.掌握在一维数组中实现数据的计算、插入、删除、查找、排序的方法。 2.掌握使用二维数组处理矩阵的方法。 【课程内容】
1.一维数组的定义、初始化及简单应用2.数据的修改、插入、删除3.数据查询4.数据排序5.字符数组与字符串6.二维数组的定义、初始化及使用【重点、难点】1.重点:一维数组中数据的计算、插入、删除、查找、排序;使用字符数组和用字符串处理函数对字符串进行处理。2.难点:字符串的处理。【教学方法】1.通过教学项目“工程师工资管理系统”引入数组的概念。2.以计算工程师工资的最大值、最小值、平均值等任务为出发点,引导学生如何使用一维数组处理数据。3.结合处理工程师的姓名,引导学生掌握使用字符数组处理字符串数据的方法。【学习要求】通过本章学习,学生能够编写具有数据输入输出、工资计算与排序等初步功能的“工程师工资管理系统”。【复习与思考】1.分析冒泡排序与选择排序两种算法的不同。2.分析从数组中找最大值、最小值的方法有哪些。【学习资源】1.学习通自建在线课程《高级语言程序设计ⅡI》。2.使用在线EduCoder实训平台的实训案例。3.中国MOOC平台浙江大学《C语言程序设计》课程。【思政案例】案例名称:计算并输出中国历年的GDP增长率。GDP增长率是衡量一个国家或地区经济发展状况的重要指标。通过计算GDP增长率,使学生可以了解中国经济的发展趋势和速度,从而加深对国家经济发展战略的理解,培养学生的爱国情怀和对国家发展战略的关注。第二章函数【学习目标】20
20 1.一维数组的定义、初始化及简单应用 2.数据的修改、插入、删除 3.数据查询 4.数据排序 5.字符数组与字符串 6.二维数组的定义、初始化及使用 【重点、难点】 1.重点:一维数组中数据的计算、插入、删除、查找、排序;使用字符数 组和用字符串处理函数对字符串进行处理。 2.难点:字符串的处理。 【教学方法】 1.通过教学项目“工程师工资管理系统”引入数组的概念。 2.以计算工程师工资的最大值、最小值、平均值等任务为出发点,引导学 生如何使用一维数组处理数据。 3.结合处理工程师的姓名,引导学生掌握使用字符数组处理字符串数据的 方法。 【学习要求】 通过本章学习,学生能够编写具有数据输入输出、工资计算与排序等初步 功能的“工程师工资管理系统”。 【复习与思考】 1.分析冒泡排序与选择排序两种算法的不同。 2.分析从数组中找最大值、最小值的方法有哪些。 【学习资源】 1.学习通自建在线课程《高级语言程序设计Ⅱ》。 2.使用在线 EduCoder 实训平台的实训案例。 3.中国 MOOC 平台浙江大学《C 语言程序设计》课程。 【思政案例】 案例名称:计算并输出中国历年的 GDP 增长率。 GDP 增长率是衡量一个国家或地区经济发展状况的重要指标。通过计算 GDP 增长率,使学生可以了解中国经济的发展趋势和速度,从而加深对国家经 济发展战略的理解,培养学生的爱国情怀和对国家发展战略的关注。 第二章 函数 【学习目标】
1.理解模块化程序设计思想;掌握模块化程序设计基本方法。2.掌握使用函数实现程序的模块化设计;学会使用函数优化程序结构。【课程内容】1.函数的概念及定义2.函数的调用和返回值3.函数声明4.递归函数【重点、难点】1.重点:函数定义、调用和声明;自顶向下、逐步分解的程序设计方法。2.难点:数组名作函数参数。【教学方法】1.通过案例讲解函数的作用:代码复用模块化。2.通过教学项目“工程师工资管理系统”讲解对系统进行模块化的方法。3.以工程师工资的输入、计算、排序、输出等任务为出发点,引导学生使用函数实现各个功能模块,并对比使用函数和不使用函数对程序质量的影响。【学习要求】通过本章学习,学生能够编写函数实现“工程师工资管理系统”的菜单、数据输入、工资计算、排序、数据输出等功能【复习与思考】1.理解函数的作用。2.分析函数调用的参数传递方法。【学习资源】1.学习通自建在线课程《高级语言程序设计I》。2.使用在线EduCoder实训平台的实训案例。3.中国MOOC平台浙江大学《C语言程序设计》课程。第三章指针【学习目标】1.掌握通过指针访问变量、数组、字符串的方法2.掌握通过指针实现地址传递的方法。【课程内容】1.指针的概念及定义2.地址传递3.指针与数组21
21 1.理解模块化程序设计思想;掌握模块化程序设计基本方法。 2.掌握使用函数实现程序的模块化设计;学会使用函数优化程序结构。 【课程内容】 1.函数的概念及定义 2.函数的调用和返回值 3.函数声明 4.递归函数 【重点、难点】 1.重点:函数定义、调用和声明;自顶向下、逐步分解的程序设计方法。 2.难点:数组名作函数参数。 【教学方法】 1.通过案例讲解函数的作用:代码复用、模块化。 2.通过教学项目“工程师工资管理系统”讲解对系统进行模块化的方法。 3.以工程师工资的输入、计算、排序、输出等任务为出发点,引导学生使 用函数实现各个功能模块,并对比使用函数和不使用函数对程序质量的影响。 【学习要求】 通过本章学习,学生能够编写函数实现“工程师工资管理系统”的菜单、 数据输入、工资计算、排序、数据输出等功能。 【复习与思考】 1.理解函数的作用。 2.分析函数调用的参数传递方法。 【学习资源】 1.学习通自建在线课程《高级语言程序设计Ⅱ》。 2.使用在线 EduCoder 实训平台的实训案例。 3.中国 MOOC 平台浙江大学《C 语言程序设计》课程。 第三章 指针 【学习目标】 1.掌握通过指针访问变量、数组、字符串的方法。 2.掌握通过指针实现地址传递的方法。 【课程内容】 1.指针的概念及定义 2.地址传递 3.指针与数组
4.指针与字符串5.指针与函数【重点、难点】1.重点:指针作为函数参数的使用:指针与一维数组。2.难点:指针作为函数参数的使用:指针与一维数组。【教学方法】1.课堂讲解指针的概念、指针与数组、指针与字符串。2.通过教学项目“工程师工资管理系统”讲解使用指针在函数之间传递数据,并通过指针访问主函数中定义的数组。【学习要求】通过本章学习,学生能够编程实现“工程师工资管理系统”的各个函数之间的数据交换。【复习与思考】1.理解指针的作用。2.分析函数调用时地址参数的传递。【学习资源】1.学习通自建在线课程《高级语言程序设计ⅡI》。2.使用在线EduCoder实训平台的实训案例。3.中国MOOC平台浙江大学《C语言程序设计》课程。【思政案例】案例名称:绿色出行计算器。为了倡导绿色出行,减少碳排放,设计一个绿色出行计算器,帮助用户计算不同出行方式的碳排放量,从而引导学生选择更环保的出行方式,思考绿色出行的社会意义和个人责任,培养他们的社会责任感和环保意识。第四章结构体【学习目标】1.掌握使用结构体处理表格的方法。2.掌握使用结构体存储、处理数据的基本方法。【课程内容】1.结构体的定义、结构体变量2.结构体数组3.结构体指针4.内存管理22
22 4.指针与字符串 5.指针与函数 【重点、难点】 1.重点:指针作为函数参数的使用;指针与一维数组。 2.难点:指针作为函数参数的使用;指针与一维数组。 【教学方法】 1.课堂讲解指针的概念、指针与数组、指针与字符串。 2.通过教学项目“工程师工资管理系统”讲解使用指针在函数之间传递数 据,并通过指针访问主函数中定义的数组。 【学习要求】 通过本章学习,学生能够编程实现“工程师工资管理系统”的各个函数之 间的数据交换。 【复习与思考】 1.理解指针的作用。 2.分析函数调用时地址参数的传递。 【学习资源】 1.学习通自建在线课程《高级语言程序设计Ⅱ》。 2.使用在线 EduCoder 实训平台的实训案例。 3.中国 MOOC 平台浙江大学《C 语言程序设计》课程。 【思政案例】 案例名称:绿色出行计算器。 为了倡导绿色出行,减少碳排放,设计一个绿色出行计算器,帮助用户计 算不同出行方式的碳排放量,从而引导学生选择更环保的出行方式,思考绿色 出行的社会意义和个人责任,培养他们的社会责任感和环保意识。 第四章 结构体 【学习目标】 1.掌握使用结构体处理表格的方法。 2.掌握使用结构体存储、处理数据的基本方法。 【课程内容】 1.结构体的定义、结构体变量 2.结构体数组 3.结构体指针 4.内存管理