课程教学大纲
课程代码 | COME0031121001 | 课程性质 | 专业必修 | ||
课程名称: | 编程与实践 | ||||
英文名称 | Programming and practice | ||||
学时/学分 | 72/2.5 | 其中实验/实践学时 | 54 | ||
开课单位 | 通信工程系 | 适用专业: | 通信 | ||
先修课程 | —— | ||||
大纲撰写人 | 田应洪、金豫、方晓颖 | 大纲审核人 | 王慈 | ||
课程网址 | 无 | 授课语言 | 中文 | ||
一、课程说明
通过本课程的学习,使学生熟悉采用面向对象编程语言进行程序开发,掌握面向对象的编程思想,熟悉面向对象编程技术。本课程侧重实际应用,每一讲的内容都配合了详细的编程实例讲解,使学生达到学以致用的目的
二、教学目标
本课程的目标:
目标1:掌握面向对象程序设计的思想;(支撑毕业要求1.2)
目标2:熟悉和掌握C++程序设计语言;(支撑毕业要求1.2)
目标3:熟悉开发平台的使用;(支撑毕业要求5.1)
目标4:熟悉和掌握C++编程技术;(支撑毕业要求1.2)
三、课程目标与毕业要求的对应关系
毕业要求 | 指标点 | 课程目标 | 支撑强度 |
毕业要求1 掌握数学、自然科学、通信工程的基础知识和专业知识,并能用于解决复杂的信息与通信工程问题。 | 观测点1.2: 掌握面向对象程序设计的方法,基本概念。 | 目标1 | H |
毕业要求1 掌握数学、自然科学、通信工程的基础知识和专业知识,并能用于解决复杂的信息与通信工程问题。 | 观测点1.2:熟悉和掌握C/C++程序设计语言,包括语法和概念等。 |
目标2
| H |
毕业要求1 掌握数学、自然科学、通信工程的基础知识和专业知识,并能用于解决复杂的信息与通信工程问题。 | 观测点1.2:熟悉和掌握C++编程技术,用以解决通信专业相关的实际的问题。 | 目标4
| H |
毕业要求5 使用现代工具:能够针对复杂工程问题,开发、选择与使用恰当现代工程工具和信息技术工具,并能够了解这些工具的局限。 | 观测点5.1:熟悉开发平台的使用。开发工具随着技术的的发展会不断迭代更新,学生需要能够紧跟潮流,掌握最新的开发工具。 | 目标3 | M |
四、教学内容
第一章 基本编程(1学时,支持课程目标2,3,4)
第一节 主函数
第二节 表达式语句
第三节 数据类型
第四节 输入输出
第五节 注释
第六节 三种程序框架
第七节 基本编程语句
第二章 函数编程(1学时,支持课程目标2,3,4)
第一节 函数定义
第二节 函数调用
第三节 全局变量与局部变量
第四节 函数嵌套调用
第五节 函数递归调用
第三章 指针与结构(1学时,支持课程目标2,3,4)
第一节 指针
第二节 指针访问数组
第三节 字符串
第四节 动态内存分配
第五节 结构
第六节 链表
第四章 文件输入输出(1学时,支持课程目标2,3,4)
第一节 文件句柄
第二节 文件读写函数
第三节 文本文件读写
第四节 2进制文件读写
第五章 C++编程(2学时,支持课程目标2,3,4)
第一节 引用,引用类型函数参数
第二节 字符串
第三节 向量
第四节 输入输出操作符
第五节 函数重载
第六节 操作符重载
第六章 类(2学时,支持课程目标2,3,4)
第一节 类定义
第二节 构造与析构函数
第三节 类继承
第七章 多态与抽象类(2学时,支持课程目标2,3,4)
第一节 虚函数
第二节 抽象类
第三节 多态编程
第八章 模板与文件操作(2学时,支持课程目标1,2,3,4)
第一节 模板
第二节 文件对象与输入输出
第三节 输入输出操作符重载
习题课 (2学时,支持课程目标1,2,3,4)
实验课程:(54课时)
实验过程采取自主学习,自选实验题目的方法进行,在54课时时间内,自主完成选作以下四个模块的实验题目,获取相应的分值。
模块 | 新实验名称 | 分值 | 备注 |
模块一 c语言编程基础 | 实验1 几何图形的面积计算 | 5 | 三选一 |
实验2 数学问题算法实现(一) | 10 | ||
实验3 字符串处理 | 15 | ||
模块二 c++语言编程基础 | 实验4 疫情行程管理系统(初级) | 15 | 三选一 |
实验5 数学问题算法实现(二) | 15 | ||
实验6 解线性方程 | 15 | ||
模块三 对象化编程基础 | 实验7 疫情行程管理系统(高级) | 30 | 三选一 |
实验8 信号处理算法设计实验 | 25 | ||
实验9 几何空间算法实验(初级) | 20 | ||
模块四 综合实验 | 综合实验1 实验室元器件仓储管理系统 | 25 | 五选一 |
综合实验2 电路图绘制软件开发 | 40 | ||
综合实验3 游戏场景数据保存 | 30 | ||
综合实验4 GPS数据处理及轨迹显示 | 30 | ||
综合实验5程序代码生成器 | 35 |
五、教学方法:
1. 采用鼓励自主学习的教学方式,教学围绕实践展开,由同学自主提出问题,老师提供各种学习资料。
2. 各章节的讲课部分采取的方式是对知识点的介绍,对学习方法的引导,由同学们在实践过程中对各个知识点进行深入掌握。
3. 重点知识点以在作品设计中予以实现方式教学,强调综合设计能力和动手实践能力;
六、考核方式
考核方式 | 成绩比例% | |
总成绩 | 课堂表现、出勤情况和实验验收表现(平时综合评价) | 20 |
模块1成绩 | 12 | |
模块2成绩 | 16 | |
模块3成绩 | 20 | |
模块4成绩 | 32 |
| 平时综合评价(20%) | 模块1成绩(12%) | 模块2成绩(16%) | 模块3成绩(20%) | 模块4成绩(32%) |
课程目标1 | √ | √ | √ | √ | √ |
课程目标2 | √ | √ | √ | √ | √ |
课程目标3 | √ | √ | √ | √ | √ |
课程目标4 | √ | √ | √ | √ | √ |
七、推荐教材和教学参考书目与文献
教材:钱能主编:《C++程序设计教程》,清华大学出版社,2005年版
本教材或教育部全国高校优秀教材奖。
参考书目:
1、埃克尔:《Think in C++》(C++编程思想),机械工业出版社2011年版。
2、董志鹏:《Visual C++编程从基础到应用》,清华大学出版社,2014年版
3、卡吉尔:《C++编程风格》,人民邮电出版社,2015年版
4、赫布萨特:《C++编程剖析》,人民邮电出版社,2016版
5、Microsoft:《Mastering MFC Development》,清华大学出版社,2007年
八、评分标准【请按照本门课程采用的课程考核方式选择下表之一填写】
表1:
课程目标 | 评分标准 | ||||
90-100 | 80-89 | 70-79 | 60-69 | 0-59 | |
目标1 | 深刻理解和熟练掌握面向对象程序设计的思想和方法 | 较好理解和掌握面向对象程序设计的思想和方法 | 基本理解和掌握面向对象程序设计的思想和方法 | 大致了解和简单运用面向对象程序设计的思想和方法 | 对于面向对象程序设计的思想和方法学习情况不达要求 |
目标2 | 完全熟悉和掌握C++程序设计语言 | 较好熟悉和掌握C++程序设计语言 | 基本熟悉和掌握C++程序设计语言 | 大致熟悉和掌握C++程序设计语言 | 没能掌握C++程序设计语言 |
目标3 | 完全熟练使用开发平台 | 熟练使用开发平台 | 基本掌握开发平台有关使用 | 大致了解开发平台功能 | 基本不了解开发平台功能 |
目标4 | 出色掌握C++编程技术 | 良好掌握C++编程技术 | 基本掌握C++编程技术 | 了解C++编程技术 | 不了解C++编程技术 |