Download presentation
Presentation is loading. Please wait.
1
输入理想的程序,输出快乐的人生! 国家精品课 C语言程序设计 报告人 计算机科学与技术学院 教授,博士生导师 苏小红
2
主要内容 教材简介 学习方法 机考系统简介
3
教材简介 存在 问题 只以讲述语法为主,应试教育 程序实例缺乏趣味性和实用性 理论和实践相脱节 重视“记忆”能力的考核
忽视“动手”能力的考核
4
教学理念的更新 变应试为应用 以培养能力和 提高兴趣为目标 以语法和结构为核心 以程序设计方法为主线 以应用为背景
把C 语言从应试课程转变为实践工具 把学习C 语言变成一件很快乐的事情 变应试为应用 以培养能力和 提高兴趣为目标 以语法和结构为核心 以程序设计方法为主线 以应用为背景
5
教材简介
6
教材简介 国内55所院校使用
7
新版增加的内容 强化知识点、算法、编程方法与技巧 每章小结中增加常见错误的总结 学生设计的优秀案例(游戏程序)分析 常见错误案例分析
【编程提示】 每章小结中增加常见错误的总结 学生设计的优秀案例(游戏程序)分析 常见错误案例分析 欢迎大家指出错误,提出修改建议!
8
教材简介 配套外版翻译教材 C大学教程(第5版) C How to program, Fifth Edition
P. J. Deitel, H.M. Deitel等 编著 苏小红等 翻译
9
配套的教辅资源 教材 课程管理 网络教学 教材网站 面向读者 课程管理网站 面向教师 在线教学网站 面向学生
面向读者 课程管理 课程管理网站 面向教师 网络教学 在线教学网站 面向学生
10
学习方法 实践,实践,再实践 卖油翁的故事,熟能生巧 课外作业练习 课内实验练兵 机上考试实战 创新实践提高 循序渐进编程 读程序 写程序
11
学习方法 实践,实践,再实践 读程序 写程序 好问 → 善问 提出问题时,必须先给出对问题的思考 老师领进门,出徒在个人 学习中的循环程序
学生自学20% 独立思考5% 上机编程实验50% 教师上课教 20% 读程序 写程序 教师答疑5%
12
学习方法 循序渐进式编程方法——如猜数游戏 想一个1~100之间的数 猜对: right并提示大小 猜错:wrong
13
学习方法 猜多个数 10次猜不对就猜下一个数 最多猜10次 直到猜对为止 只猜1次
14
学习方法 学会基本的排错方法 改错是个大悲大喜的过程,一天之内可以让人在悲伤的低谷和喜悦的巅峰之间跌宕起伏。 如果改过了成千上万个错误,……
别人嚼过的馍不香
15
学习方法 学会基本的排错方法 改错很像侦破案件,有坏事发生了,而仅有的信息是它的确发生了。 必须从结果出发,逆向思考 教会?学会?练会?
只可“练”会,不可言传 学以致用 → 用以致学 改错的第一步是找出错误的根源,然后对症下药 寻找错误根源的过程,称为调试
16
学习方法 学会基本的排错方法 难点: 症状和根源可能相隔很远 症状可能在另一个错误被纠正后暂时消失 症状并不是某个程序错误引发的,如误差累积
有人问阿凡提:“我肚子疼,该用什么药?” 症状可能在另一个错误被纠正后暂时消失 症状并不是某个程序错误引发的,如误差累积 症状可能时隐时现,如“内存泄露” 很难产生完全一样的输入条件,难以恢复“错误的现场”
17
学习方法 学会基本的排错方法 编译错误不可怕 运行时错误比较隐蔽 语法 重视error,同样重视warning 逻辑、语义
如除0错,死循环,未初始化,下标越界,内存泄露,野指针…
18
学习方法 在程序设计语言的发展中,一个重要的努力方向就是想通过语言特征的设计帮助避免错误
如下标范围检查,受限制的指针甚至完全取消指针,内存回收,强类型检查 但没有任何语言能防止我们犯错误,每个为预防某些问题而设置的语言特征都会带给它自身额外的代价 作为程序员应知道所用语言中有潜在危险和引起错误倾向的那些语言特征 如goto语句,全局变量,无限制的指针,自动类型转换
19
学习方法 学会基本的排错方法 利用调试工具 粗分细找 单步运行,逐条语句跟踪 世界上最好的调试工具是那些有经验的人
定位大致的范围:归纳、推理、二分、排除
20
学习方法 学会基本的排错方法 粗分细找 采用注释的办法切掉一些代码 插入打印语句 缩减输入数据
减少有关的代码区域,调试无误后再将它们打开注释,即采用分而治之的策略将问题局部化 插入打印语句 观看屏幕输出结果 缩减输入数据 设法找到能导致失败的最小输入 验证魔方矩阵
21
C语言编程题考试 自动评分系统简介 C语言编程题考试 自动评分系统 软件著作权专利 教辅 系统 C语言教学 题库与组卷系统 软件著作权专利
22
C语言编程题考试自动评分系统简介 纸上谈兵 机上实战 不断升级,无纸考试 传统的单一闭卷笔试 小班机考试点三次 全校机考试点四次
23
减少对记忆内容的考核,增加对应用能力的考核
C语言编程题考试自动评分系统简介 现有的其他系统只能对客观题型自动评分 机上考试 机上考试 自动评分 人工阅卷 减少对记忆内容的考核,增加对应用能力的考核
24
有语法错误不能评分,不考察程序结构和语义,仅凭运行结果,要求程序输出结果(文本)与标准答案完全一致
C语言编程题考试自动评分系统简介 有语法错误不能评分,不考察程序结构和语义,仅凭运行结果,要求程序输出结果(文本)与标准答案完全一致 机上考试 ACM自动评分 减少对记忆内容的考核,增加对应用能力的考核
25
根据程序的结构和语义,衡量实现编程任务的正确程度,更加符合人工阅卷结果
C语言编程题考试自动评分系统简介 根据程序的结构和语义,衡量实现编程任务的正确程度,更加符合人工阅卷结果 机上考试 自动评分 将上机实验和考试有机结合,能真正测试能力
26
C语言编程题考试自动评分系统简介 程序运行 结果测试 程序结构 和语义分析 采分点语句 匹配 四级过滤 有语法错误也能评分 教师 手工核对
27
C语言编程题考试自动评分系统简介 方法可以用于作弊检测
28
C语言编程题考试自动评分系统简介 注意事项 使用规范的编程方法,不要滥用技巧——聪明反被聪明误 参考新版学习指导中的习题解答
KISS (Keep It Simple Software) Correct is better than fast Simple is better than complex Clear is better than cute Safe is better than insecure Short is better than long Flat is better than deep
29
C语言编程题考试自动评分系统简介 注意事项 要求程序输出结果(文本)与答案完全一致
包括提示信息的内容及格式和位置,以及格式字符(空格和换行符)的位置和数量 严格按照题目要求的输入输出格式编写scanf 和printf 语句 输出格式必须为"x = %d\n" 输入提示信息为"Input a,b,c:\n" 附加的改错题不要改变原来数据输入输出格式及提示信息 拷贝粘贴是最安全的方法
30
C语言编程题考试自动评分系统简介 注意事项 单项选择题 写出程序运行结果题 基本概念 看清题目要求 阅读程序能力 相当于英语中的阅读理解
以下不能对二维数组a进行正确初始化的语句是 写出程序运行结果题 阅读程序能力 相当于英语中的阅读理解 不要忽略输出数据的格式(提示信息,换行等) printf(“%6.2f\n”,sum);
31
C语言编程题考试自动评分系统简介 注意事项 程序填空题 程序改错题 阅读和编写程序的能力 相当于英语中的完形填空 调试错误程序的能力
笔试语法错误居多,机试运行时错误居多 每章后面的常见错误小结 学习指导中的错误案例分析
32
C语言编程题考试自动评分系统简介 注意事项 编程题 独立编写程序的能力 相当于英语中的作文 看清题目要求 灵活掌握,理解原理,不要死记硬背
万变不离其中
33
感谢同学们对我们工作的支持!预祝同学们考试取得优异的成绩!
请多提宝贵意见 SuXiaoHong
Similar presentations