浅谈C 程序设计课程的建设与实践

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

• C++程序设计课程负反馈教学法的要点(续)
– 课堂教学(续):
• 课堂教学由授课和讲评两部分组成。
10
– 授课:讲授新内容。主要集中在 » 知识的形成、发展和用途:使学生明确学习 目的,激发学习兴趣; » 知识的重点、难点及联系:给学生提供开动 脑筋、积极探索、大胆猜想、寻求解决问题 方法、进行创造性思维的实践机会。 – 讲评:解决反馈的问题。主要集中在 » 探索过程:使未达终点的学生了解自己离终 点的差距,学会探索,激发再次探索的愿望; » 难点问题:使学生理解不突破难点很难解决 实际问题,使他们想学、主动学、举一反三; » 扩展性问题:采用启发、发问等方式,使学 有余力、编程兴趣浓厚的学生进一步提高。
5
三、教学方法
• 负反馈教学法的产生
6
– 确定教学理念:以整体提高教学质量为首要目 标,注重学生创新能力和优秀人才的培养。 – 分析教学对象和教学课程:结合我校办学定位、 人才培养目标和生源情况,对C++课程的特点、 内容、结构及与其他课程的关系等方面做了大 量研究。 – 改进教学方法:根据多年软件开发经验和C++ 课程的教学实践与研究,在控制论、教育学和 心理学的基础上,吸收了布鲁纳的“发现教学 法”和瓦根舍因“范例教学法”的合理成分提 出了负反馈教学法。
生 做作业 : 做实验 做测验 学 听讲评:自改
听课
师 答疑 : 改作业(抽样) 找 指导实验 问 改实验报告 改测验 题
• C++程序设计课程负反馈教学法的要点
– 按单元组织教学:

8
单元划分依据: – 按C++程序设计方法演进发展的自然顺序和实际 编程能力形成的三个关键期,即结构化程序设 计→模块程序设计→面向对象程序设计,将教 学内容分为三个单元。 • 单元测验: – 每单元安排一次 • 优势: – 有利于获得真实的教学反馈信息 – 有利于及时发现、分析和解决教学中存在的各 种问题 – 有利于教学效果的巩固和教学质量的提高 – 有利于大型基础课的教学组织、实施和考核
• • 基本算法:穷举、迭代、递推、递归、排序和查找等。 基本数据结构:数组、结构、指针、动态内存分配、单 向链表、对象、文件等。
14
– 课时:2周。推荐非计算机专业选用2周小综合方案, 计算机专业选用1周小综合+1周大综合方案。

实践环节的考核
– 预习和考勤:30% – 上机检查并回答提问:40% – 课程实验报告和课程设计报告:30%
– 2002年12月“Visual C/C++课程负反馈教学法的 设计与实践”获校级优秀教学成果二等奖; – 2005年2月出版自编教材《Visual C++程序设计习 题、实验与编程实践》(刘维富等,华东理工大学 出版社),同年重印; – 2005年10月“Visual C++程序设计”获江苏省高 等学校精品教材立项建设; – 2006年4月本课程被评为南通大学精品课程。
• •
C++课程教材建设研究 C++语言开发环境研究
七、教材建设

18
C++教材建设的重要性
– – – – – 主流编程语言 程序设计课程首选教学语言 等级考试和程序员考试指定语种 内容、技术和开发环境更新快,教材更新也快。 与欧美高校相比,我国高校生均教学资源较低,尤其 是可用的“C++程序设计”课程教学参考资料较少,
• •
17
C++语言研究
– 研究C++语言的历史、现状和进展
C++程序设计课程体系研究
– 构建结构优化的课程体系

C++程序设计课程教学内容研究
– 确保教学内容的正确性和系统性 – 确保讲清讲透重点、难点内容


教学方法研究
提出并实施负反馈教学法


教学手段研究
合理运用传统和现代教学手段
– –


课程设计
– 目标:以综合性程序设计训练为主,选题典型、综合, 突出难点及其实用价值,使学生进一步巩固和掌握基 本语法、基本算法、基本数据结构和基本调试技术, 养成良好程序设计风格和严谨的科学作风,初步形成 软件工程化思想,具有一定的程序组织能力。 – 内容:涉及基本算法和数据结构的综合运用。
3
• C++课程考核
– 笔试(50%)+机试(50%)
二、教学内容

4
教学安排(1学时=40分钟 教学安排 学时= 分钟) 学时 分钟
– – – 授课:62学时 课程实验(与授课同步进行):34学时 课程设计(授课结束后进行) :2周

知识模块
– 第一单元 结构化程序设计基础:包括C++概述、数据 类型、运算符、表达式、简单的输入输出、算法与流 程控制语句等,约30学时。 – 第二单元 模块化程序设计:包括函数、编译预处理、 数组、结构体、共用体、枚举类型、指针和引用,约 34学时。 – 第三单元 面向对象程序设计:包括类、对象、构造 函数、析构函数、继承、派生、友元、虚函数、静态 成员、运算符重载、I/O类库和模板等,约32学时。
附录A. 附录A. 联邦德国教育学家 瓦根舍因(M.Wagenshein) (M.Wagenshein)的范例教学法 瓦根舍因(M.Wagenshein)的范例教学法

20

基本思想:为了提高学习者的独立学习能力,而组织教 养性学习,通过这种学习,不是为了再现性地接受很多 个别知识和某些技能训练,而是依靠精选的有限范例, 来帮助学生主动地获得概括性较强的一般知识、能力, 以及继续学习的态度。 范例教学的关键是调动学生学习的积极性和主动性,以 “范例”来“教”,正是为了学生主动起来“学”。通 过范例而获得的知识是所谓“活动的知识”,是继续掌 握与发现新知识的知识,是产生新知识的能力。教师通 过范例辅助学生理解、掌握知识和原理,其目的是让学 生能够独立地获得判断能力、推理能力、认识能力和继 续学习的能力。要做到这一点,最关键的问题是最大限 度地通过“范例”调动学生学习的主动性和进取精神。
四、实践环节
• •
13
实践环节:课程实验和课程设计 课程实验
– – 至关重要的教学环节:与课堂教学同步进行 调试程序:会发现很多想不到的问题,通过解决 这些问题,可以加深对语言和算法的理解,提高 实际编程能力和创新能力。 基本调试技术:深入学习本课程和取得实际编程 能力的前提,不可轻视。 实验指导书:以基本语法、基本算法、基本数据 结构、综合编程和调试技术为核心内容,共拟定 十七个实验,每个实验通常包括调试题、编程题 和选做题,供不同层次学生选用。 经过多年实践,取得较好的教学效果。

C++教材建设已有良好的教学基础和教研基础
– 2005年2月出版《Visual C++程序设计习题、实验与 编程实践》。 – 2005年10月获江苏省高校精品教材立项建设。 – 体现“负反馈”教学特色的系列化教材正在酝酿出版。
八、后续工作
19
• 不断加强教学研究,推进C++课程教学内 容和体系改革,完善“负反馈”教学法, 进一步提高课程的教学水平和影响力。 • 加快特色教材建设,力求建成精品教材。 • 不断丰富和优化课程网站资源。 • 加强与省内外院校的合作交流,进一步 提高本课程的建设水平。
班级 X013 X014 X015 X016 合计 人数 24 30 29 24 107 优秀人数 2 6 4 4 16 合格人数 13 8 17 13 51 优秀率% 8.3 20.0 13.8 16.7 15.0 通过率% 62.5 46.7 72.4 70.8 62.6
15


16

学生评价高:“讲课内容丰富,采用多媒体和真 实编程环境,深入浅出,启发式教学,激发兴趣, 调动积极性,有助于提高实际编程能力”。 课程规模扩大: 课程规模扩大:目前我校开设本课程的有6个学 院,10多个专业,学生班级数已达60个。 得到校内、省内和省外专家初步肯定
• 课程认识
–本身是一门基础课 –后续课程的基础 –计算机应用的开发工具 –创新教学的理想平台
• 课程特点
– 内容多、环节多、难点多、问题多。 – 大班教学,教学质量难保证。 – 课堂教学和实验教学并重,学以致用,以编程 解决实际问题为目标。 – 课程涉及语言语法、算法、调试等,综合性、 实践性强,理论与实践结合紧密。 – 非计算机专业学生需参加二级考试,真正考教 分离。 – 实验编程环境极其严格,结果要求100%正确, 对培养大学生编程能力、创新能力和严谨的科 学作风有非常重要的作用。
五、教学效果
• 二级考试成绩突出
– 我校学生在02年秋季第二次参加省二级(VC++)考试中 成绩突出,超出省二级(VC++)平均通过率(42%)。 – 负反馈教学法所教班级的平均通过率为62.62%,平均 优秀率为15%,其中优秀人数16人,占通过人数的 23.9%,占全校所有等级考试优秀人数的45.71%(数据 源自我校教务处)。 表.负反馈教学法所教班级02年省二级(VC++)考试成绩
• C++程序设计课程负反馈教学法的要点(续)
– 采集教学负反馈信息,做好分类、分析和讲评, 消除学生学习中的问题,保证教学的师生同步 状态。 – 强化同步教学措施,确保大班教学的整体效果
• • 大班教学成功的关键:保持教学的师生同步状态。 同步措施:授课、作业、实验、答疑、单元测验和 讲评。其中授课、讲评与单元测验同步效果较好。 学习指导 实验指导 典型问题编程实践 课程设计指导 开发环境与调试技术
• C++程序设计课程负反馈教学法的要点(续)
– 课堂教学:

9
教学思路:根据程序设计课程的特点,用“范例” 组织课堂教学,贯彻“发现式”教学思想,突出重 点、难点和综合应用,注重学生创新能力和优秀人 才的培养。 • 范例程序:涉及基本语法、算法、数据结构和调试 技术,具有典型性、综合性和可扩展性。 • 范例程序的讲解: – 符合“现象→发现问题→分析问题→解决问题 →验证”的探索过程,使学生掌握基本语法、 算法及应用; – 通过对范例程序的启发式扩展,揭示程序由小 到大、由简单到复杂直到实用的过程,激发学 生的探索热情和兴趣,使学生掌握知识间的联 系和编程的工程化思想,获得实际编程能力。
11
– 编写负反馈教学配套资料
• • • • •
• 负反馈教学法成功的关键
– 预期的教学目标要合理。
12
– 负反馈的问题要真实。 – 解决问题的讲评要及时。
• 负反馈教学法的优势
– 课堂教学突出重点和难点,解决课时少与内容 多、难点多的矛盾,注重学生创新能力和优秀 人才的培养。 – 推进同步教学策略,及时发现和解决教学过程 中存在的问题,确保整体教学效果。
第二届“大学计算机课程报告论坛” 大学计算机课程报告论坛” 大学计算机课程报告论坛
1
浅谈 C++程序设计课程的 C++程序设计课程的 建设与实践
刘维富 liu.wf@
南通大学计算机科学与技术学院 2006.11
一、C++课程背景
• C++语言
2
–兼容C的面向对象程序设计语言。 –面向过程和面向对象的主流程序设计语言,编 写系统软件和应用软件的通用语言。 –“高级语言程序设计”课程的首选教学语言。

负反馈教学模型
– 从过程控制理论看,教学过程由组成系统的对象(教 师、学生),教、学、检测和反馈等环节组成,是一 个具有负反馈环节的过程控制系统,如图所示。 – 该模型的核心是通过反馈,及时发现和解决教学过程 中存在的问题,确保整体实现教学目标。
7
教 学 目 标
+ -
师 : 教
授课 作业、实验 测验 讲评


课程的重点、 课程的重点、难点及解决办法
算法表达、结构化语句:结构化编程基础。注重讲授 算法的结构化表示法,结构化语句,常用基本算法, 断点+单步调试技术。 – 函数:模块化编程基础。注重讲授程序的模块化组织 思想和方法,自顶向下逐步求精的程序设计思想,参 数传递,变量作用域,程序的多文件组织。 – 数组、结构体、指针:数据的结构化和模块化组织基 础。指针是重点和难点,应正确区分指针与地址,强 调指针类型的作用,讲清各类指针的含义及作用;特 别注重讲授指针在动态生成基本数据结构,解决实际 问题方面的综合实例。 – 类和对象、继承、运算符重载、虚函数:面向对象程 类和对象、继承、 序设计基础。运算符重载较易理解,但有些方面易忽 视,应提请学生注意。虚函数是重点和难点,应注重 讲授虚函数的必要性、重要性、实现机制和综合实例。
相关文档
最新文档