通过本课程的学习,使学生掌握基本语法、程序设计的基本思想和结构化程序设计的一般方法,以C为语言基础,培养学生严谨的程序设计思想、灵活的思维方式及较强的动手能力,使学生逐渐掌握复杂软件的设计和开发手段,为后续专业课程的学习打下理论和实践基础。整个教学过程分初级、中级和高级阶段,讲授三种基本结构、数组、指针、函数、结构体和文件等,利用贯穿实例,注重训练学生的实践能力,强调个性化教育,因材施教、分层教学,在课堂授课和实践中均提供自学和拓展学习内容,以利于最终使学生在实践中能够运用C语言工具解决实际问题。
《高级语言程序设计》课程教学大纲
一、课程基本信息
(一)课程代码及课程名称
1.课程代码:08181060
2.课程名称(中/英文):高级语言程序设计/ High-level Language Programming
(二)课程类别及课程性质
专业基础课
(三)学时及学分:
总学时数:64;总学分数:4。
其中,讲授学时:36 ,实践(实验)学时:28。
(四)适用专业及开设学期
适用专业:软件工程
开设学期:第1学期
(五)先修课程与后续课程
先修课程:计算机基础实践
后续课程:数据结构
二、课程简介
高级语言程序设计是高等院校计算机专业、软件工程专业学生的一门计算机基础课程,旨在培养学生具有设计程序、编写程序和调试程序的能力。C语言是一种通用的高级程序设计语言,同时又具有其它高级语言所不具备的低级语言功能,不但可用于编写应用程序,还可用于编写系统程序,因而得到最广泛的应用,故开设高级语言程序设计课程具有现实意义。
三、教学目的与基本要求
(一)该课程教学目的与专业培养要求对应关系矩阵
培养要求
课程名称 | 培养 要求1 | 培养 要求2 | 培养 要求3 | 培养 要求4 | 培养 要求5 | 培养 要求6 | 培养 要求I7 | 培养 要求I8 | 培养要求II7 | 培养要求II8 |
高级语言程序设计 | ● | ● | ● | ◎ | ◎ | ◎ | ◎ |
说明:表格要清晰展示该课程与每项培养要求达成的关联度情况,关联度强的用“●”标识,关联度中等的用“◎”标识,关联度弱的用“○”标识;每门课程与4-8项(底线为总培养要求的50%)培养要求相关联。
(二)教学目的
通过本课程的学习:(1)要求学生掌握程序设计的方法与编程技术,学会良好的程序设计风格,为计算机在不同领域的应用打下坚实的基础。(2)要求学生能利用计算机解决实际问题。从分析问题入手,设计可行的算法,进而编出相应的C程序。强调上机实践过程,从实际应用出发,上机实验环境用VC6.0。(3)要求学生结束本课程的学习时能通过全国计算机等级考试二级考试,获得合格证书。 本课程是我院计算机科学与技术系各专业必修的计算机技术基础课程,是数据结构、java、操作系统等课程的前导课程,也是一门实践性很强的课程,既要掌握概念,又要动手编程,还要上机调试运行。它的目的是向学生介绍计算机程序设计的基本知识,使学生掌握C语言的基本内容及程序设计的基本方法与编程技巧,培养学生应用计算机解决和处理实际问题的思维方法与基本能力,为进一步学习和应用计算机打下基础。
(三)教学要求:
本课程侧重于学生的C语言程序设计基础知识教育,以及学生掌握使用C语言进行程序设计的基本技术,要求具备较新的教学和实验条件,授课与上机实训相结合,以提高学生实际应用能力;对语言的学习除了学语法之外,还必须经过大量的实践训练(如何阅读、编写与修改、调试程序),授课与上机实训相结合,以提高学生实际应用能力提高动手能力,这就要求学生上机前先编好程序,在老师的指导下,认真调试,对于存在的问题加以分析。
四、教学内容
第一章 C语言概述(共4学时)
(一)教学目的和要求
通过本讲学习,了解C语言发展的历史、现状及未来,C语言的一般特点,掌握C语言程序的结构。
(二)本讲教学重点与难点
重点: 1.C语言的特点
难点:1. C语言程序结构
(三)教学内容
C语言发展的历史、现状及未来;C语言的一般特点;C语言程序结构等。
第二章 C语言程序设计初步(共8学时)
(一)教学目的和要求
通过本讲学习,掌握:标识符、关键字和数据类型;表达式和流控制;字符串等内容。
(二)本讲教学重点与难点
重点: 1. 标识符、关键字
2. 数据类型
难点:1. 表达式和字符串
(三)教学内容
C语言标识符、关键字和数据类型;表达式和流控制;字符串等。
第三章 选择结构程序设计(共8学时)
(一)教学目的和要求
通过本讲学习,掌握:布尔数据类型,if语句,switch语句,break语句等内容。
(二)本讲教学重点与难点
重点: 1. if语句
2. switch语句
难点:1. break语句
(三)教学内容
布尔数据类型,if语句,switch语句,break语句等。
第四章 循环结构程序设计(共10学时)
(一)教学目的和要求
通过本讲学习,掌握:For、While、do-while语句,goto、和continue语句等内容。
(二)本讲教学重点与难点
重点: 1. for语句
2. while语句
3.do-while语句
难点:1. continue语句
(三)教学内容
For、While、do-while语句,goto、continue语句等内容的使用。
第五章 数组(共8学时)
(一)教学目的和要求
通过本讲学习,掌握:一维数组、二维数组、多维数组、字符数组以及字符串等内容。
(二)本讲教学重点与难点
重点: 1.一维数组
2.二维数组
3.字符数组
难点:1.字符串
2.多维数组
(三)教学内容
一维数组、二维数组、多维数组、字符数组以及字符串等。
第六章 过程和函数(共10学时)
(一)教学目的和要求
通过本讲学习,掌握:函数,过程,全局变量和局部变量,形式参数和实际参数的结合,变量参数和数值参数的使用。
(二)本讲教学重点与难点
重点: 1.函数
2.形式参数和实际参数
难点:1.形式参数和实际参数的结合
2.全局变量和局部变量
(三)教学内容
函数,过程,全局变量和局部变量,形式参数和实际参数的结合,变量参数和数值参数的使用等。
第七章 指针(共10学时)
(一)教学目的和要求
通过本讲学习,掌握:指针的基本概念、指针变量的定义、指针变量的操作、链表结构。
(二)本讲教学重点与难点
重点: 1. 指针的基本概念
2. 指针变量的定义
3. 指针变量的操作
难点:1. 链表结构
(三)教学内容
指针的基本概念、指针变量的定义、指针变量的操作、链表结构等。
第八章 结构体和共用体(共6学时)
(一)教学目的和要求
通过本讲学习,使学生掌握结构体和共用体的概念及使用方法。
(二)本讲教学重点与难点
重点: 1. 结构体
2. 共用体
难点:1. 结构体的定义和使用
(三)教学内容
结构体的定义;
结构体变量的引用;
共用体。
五、教学时数分配
《高级语言程序设计》课程教学时数分配表
总学时:64 学分:4
章次 | 标题名称 | 学时小计 | 讲授 学时 | 实验 学时 | 实践 学时 | 讨论、习题课等学时 |
第一章 | C语言概述 | 4 | 2 | 2 | ||
第二章 | C语言程序设计初步 | 8 | 4 | 4 | ||
第三章 | 选择结构程序设计 | 8 | 4 | 4 | ||
第四章 | 循环结构程序设计 | 10 | 6 | 4 | ||
第五章 | 数组 | 8 | 4 | 4 | ||
第六章 | 过程和函数 | 10 | 6 | 4 | ||
第七章 | 指针 | 10 | 6 | 4 | ||
第八章 | 结构体与共用体 | 6 | 4 | 2 |
六、实验内容与学时分配
《高级语言程序设计》课程实验教学一览表
序号 | 项目名称 | 内容提要 | 学时 | 实验类型(演示、验证、综合、设计等) | 是否为 开放实验 |
1 | 顺序结构程序设计 | 掌握程序的基本调试、编译和连接方法;熟练掌握输入输出语句的使用 | 2 | 验证 | 否 |
2 | 选择结构程序设计 | 掌握分支程序的调试方法,熟练掌握IF语句和Switch语句编程 | 4 | 设计 | 否 |
3 | 循环结构程序设计 | 掌握循环结构程序的基本调试、编译和连接方法,熟练掌握WHILE、FOR语句的程 | 4 | 设计 | 否 |
4 | 数组的使用 | 掌握数组程序的基本调试、编译和连接方法;熟练掌握数组的基本编程技巧 | 4 | 设计 | 否 |
5 | 函数设计 | 掌握函数结构程序的基本调试、编译和连接方法;熟练掌握函数的基本编程技巧 | 4 | 设计 | 否 |
6 | 指针的使用 | 掌握指针数据类型程序的基本调试、编译和连接方法;熟练掌握指针数据类型的基本编程技巧 | 4 | 设计 | 否 |
7 | 结构体设计 | 掌握结构体的设计与使用方法 | 3 | 综合 | 否 |
8 | 链表 | 掌握链表的构建以及节点的插入、删除、更新、查询等操作 | 3 | 设计 | 否 |
七、本课程的实践环节
无
八、主要的教学方法与教学手段
1.课程与教学方法、教学手段对应关系矩阵
课程名称 | 对应的教学方式方法 | ||||||||||||
讲授法 | 启发式 | 讨论法 | 案例法 | 项目教学 | 实验室 实验 | 技能训练 | 研究与设计 | 小组教学 | 个别教学 | 课程作业 | 课外阅读及自学锻炼 | …… | |
高级语言程序设计 | √ | √ | √ | √ | √ | √ | √ |
说明:每门课程应使用多种教学方式方法,在相应的教学方式方法中打“√”。
2.主要采用的几种教学方法和手段
讲授法:基本知识的讲解。
启发法:由基本知识点拓展新知识。
讨论法:大多学生不好理解的知识点采用讨论的方法。
案例法:一批相关的知识点学习结束后,采用一个综合案例把知识点串接起来。
实验室实验:通过实际编写程序,巩固所学知识,加深理解。
研究与设计:有些实验课,提前布置给学生,让他们自主设计研究。
个别教学:对学习能力处于两端的学生,采用个别教学法。
课程作业:每次理论课后,布置相应的课程作业,加深学生对知识点的理解。
九、考核与成绩评定
1. 该课程与评价方法对应关系矩阵
课程名称 | 对应的评价方法 | |||||||||
课堂表现 | 实验报告 | 项目作业或报告 | 课程作业或报告 | 口试 | 口头报告 | 上机操作 | 实践操作 | 期中考核 | 期末考核 | |
高级语言程序设计 | √ | √ | √ | √ | √ | √ |
说明:每门课程应使用多种评价方式,注重过程评价,实现平时成绩、期中成绩与期末成绩相结合,在相应的评价方法中打“√”。
2.具体考核与成绩评定办法
最终考核成绩由4部分组成:
(1) 课堂表现:主要包括上课出勤情况与课堂反应情况。
(2) 实验报告:每次上机实验后,都需要手写一份书面实验报告,根据报告的完成情况,评定分数。
(3) 课程作业:每次理论课结束后,布置一定量的相关作业,供学生编程练习,并按时上交老师批改。
(4) 期末考核:采取信息工程学院的ACM在线考试系统统一上机考试。
十、推荐教材及参考书
(一)推荐教材
《C程序设计》,谭浩强著,清华大学出版社,2010年6月第4版。
(二)参考书
1.《C程序设计教程》,孟宪伟, 刘前主编,国防工业出版社,2013年4月第1版。
2.《C语言程序设计》,邵军,王忠主编,西安电子科技大学出版社,2013年6月第1版。
3.《C语言程序设计》,谢妙,肖志军主编,西南交通大学出版社,2013年9月第1版。
十一、其他需要说明的问题
为了保证教学质量,要求配备能达到性能要求的实验设备,确保实验能够顺利开展。