- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算思维C卄项目式教学探究及实践
摘要:以C++项目式教学为例,以掌握c卄基础知识为前 提,以综合运用C++语言知识为目标,以软件工程、软件项 目管理原则为导向,从教学方法、教学内容、教学过程和教 学效果考核四个方面,将基于计算思维的项目式教学方法在 实际教学中进行实践,培养大学生创新思维意识。
关键词:计算思维;项目式教学;创新教育
中图分类号:G642文献标识码:A文章编号: 1009-3044(2012)36-8700-04
1计算思维与项目教学法
1计算思维
周以真教授认为,计算思维是运用计算机科学的基础概 念进行问题求解、系统设计、以及人类行为理解等涵盖计算 机科学之广度的一系列思维活动。计算思维和理论思维、实 验思维一起被称为推动人类社会文明进步和科技发展的三 大科学思维。
进一步地定义为:通过约简、嵌入、转化和仿真等方法, 把一个看来困难的问题重新阐释成一个我们知道问题怎样 解决的方法;是一种递归思维,是一种并行处理,是一种把 代码译成数据又能把数据译成代码,是一种多维分析推广的 类型检查方法;是一种采用抽象和分解来控制庞杂的任务或 进行巨大复杂系统设计的方法,是基于关注分离的方法(SoC 方法);是一种选择合适的方式去陈述一个问题,或对一个 问题的相关方面建模使其易于处理的思维方法;是按照预 防、保护及通过冗余、容错、纠错的方式,并从最坏情况进 行系统恢复的一种思维方法;是利用启发式推理寻求解答, 也即在不确定情况下的规划、学习和调度的思维方法;是利 用海量数据来加快计算,在时间和空间之间,在处理能力和 存储容量之间进行折衷的思维方法。
1.2项目教学法
项目教学法就是在老师的指导下,将一个相对独立的项 目交由学生自己处理。对C++项目式教学法还包括:人员的 组织与管理、软件度量、软件项目计划、风险管理、软件质 量保证、软件过程能力评估、软件配置管理等都由学生自己 负责,学生通过项目的训练,了解并把握整个过程及每一个 环节中的基本要求。
计算思维是信息社会中创新的需要,是大学生创新性思 维培养的重要组成部分。C++项目式教学不能仅限于软件工 程指导下的C++语言基础的综合训练,还应该在软件项目管 理原则下的培养创新性思维。
2 C++项目的教学实践
1教学内容
2. 1. 1项目的选取
以《全国计算机二级C++考试大纲》的要求为准绳,制 定适合我院特点的《C++课程设计标准》,选取《学生成绩管 理》项目为案例。《学生成绩管理》学生比较熟悉,能覆盖 C++大纲要求的知识点,可引导学生从日常生活中发现问题、 分析问题和解决问题,减少材料收集,缩短调研、需求分析 时间,相对增加C++基础的学习时间。学生可领悟到项目源 于生活,创新、发明源于日常生活,“处处留心皆学问”。
同时布置同步练习项目《企业工资管理》,学生在项目需求 分析、总体设计、详细设计、编写代码、测试等有关方面的 内容有一定的独立训练。
2. 2教学方法
2.2. 1复杂任务简单化
程序设计的基本原则是自顶向下,逐步求精。将《学生 信息管理》划分为系统初始化、数据输入、数据处理、数据 输出、数据维护、帮助等子项目(或模块)。如果划分后的 子项目还复杂,例如数据处理,就进一步再分:数据排序、 数据查询等。这样直到每个部分只完成单一功能,代码行数 不是很多为止。
2.2.2合适的描述方式
UML是面向对象开发中一种通用的图形化建模语言,它 定义良好、易于表达、功能强大且普遍适用。面向对象的分 析主要在加强对问题空间和系统任务的理解、改进各方交 流、与需求保持一致和支持软件重用等4个方面表现出比其 他系统分析方法更好的能力,成为主流的系统分析方法。引 入UML,对项目需求分析、总体设计、详细设计、编写代码、 测试等各个阶段各个部分进行描述,尤其利用UML图描述算 法。同时,讲解UML图到程序的转化方法。
2. 2. 3注意鲁棒性
鲁棒性(robustness)就是系统的健壮性。它是在异常 和危险情况下系统生存的关键。比如说,计算机软件在输入 错误、磁盘故障、网络过载或有意攻击情况下,能否不死机、 不崩溃,就是该软件的鲁棒性。明显地,成绩的值域,一般 成绩不能为负数等,但常被初学者忽略,致使程序执行时接 受负数。在高校,成绩范围一般在0-100,要对超过这个范 围的数据进行检测,并给出相应的处理。变量的数据类型定 义,要根据使用数据集的具体情况,如考试成绩,如果是在 正整数0-100范围内,定义考试成绩变量无符号短整型较好, 否则浪费存储空间。
2. 2. 4启发式教学
对冒泡排序:依次比较相邻的两个数,将小数放在前面, 大数放在后面。第一趟得到最大数放到数组最后元素的位置 上,第二趟将剩余的元素再两两比较,将剩余元素中的最大 值,放到倒数第二个位置,……。这
文档评论(0)