560 likes | 697 Views
非计算机专业大学计算机课程 的 思维性教学改革实践. 战德臣. 哈尔滨工业大学 教育部教学指导委员会成员. 20 10 . 11.06. 内容提要. 《 大学计算机 》 的 危机 与产生原因 知识与思维、可实现的思维 《 大学计算机 》 的思维性与课程定位 《 大学计算机 》 的教学内容设计 《 大学计算机 》 的实验内容设计 《 大学计算机 》 的教学方法 结论. 《 大学计算机 》 是大学教育中 “ 不可缺少 ” 的独立课程。 教授 计算思维 ---- 大学生创造性思维培养的重要组成 知识传授 与 素养培养 贯穿于 思维教学 当中. 大学计算机.
E N D
非计算机专业大学计算机课程的 思维性教学改革实践 战德臣 哈尔滨工业大学 教育部教学指导委员会成员 2010.11.06
内容提要 • 《大学计算机》的危机与产生原因 • 知识与思维、可实现的思维 • 《大学计算机》的思维性与课程定位 • 《大学计算机》的教学内容设计 • 《大学计算机》的实验内容设计 • 《大学计算机》的教学方法 • 结论
《大学计算机》是大学教育中 “不可缺少”的独立课程。 • 教授计算思维----大学生创造性思维培养的重要组成 • 知识传授与素养培养贯穿于思维教学当中 大学计算机 • 从多门课程多种软件中提炼出共性知识 • 教学以任务驱动,例如讲文章排版的素养而非Office, 讲程序的基本要素与程序设计而非流行程序设计语言等) • 课堂教学(任务驱动的共性知识讲授)与实验教学(流行软件产品应用技能训练)的分工 计算机 应用基础 • 基本概念 • 流行软件产品的使用介绍 计算机 文化基础 学校数量示意 《大学计算机》的发展回顾
计算思维/计算能力 知识/技能 应用计算手段进行各学科研究和创新 支持各学科研究创新的新型计算手段 计算机及其通用计算手段的应用 非计算机专业学生的未来计算能力 当前的非计算机专业计算机教学关注点 《大学计算机》的危机? • 普遍质疑:大学计算机有存在的必要吗? • ---质疑不仅来自非计算机专业的学者,也来自于计算机专业的学者; • ---“大学计算机”课程的核心价值是什么? • --- 面向各个专业的“大学计算机” ,如何与各专业结合? • --- 计算思维是什么? 计算能力怎样培养? • 将大量的历史文献数据聚集成库,开发辅助人们计算与分析的工具(信息表示、数据采集、数据输入、计算、分析、可视化输出),人们可以利用这些工具去进行新药物、新材料等等的研究和开发等。 • 1998年的诺贝尔奖便授予一个工具的开发者:GAUSSIAN软件的开发者--波普(John Pople) 。 Gap
《大学计算机》的危机?(Cont.) • 矛盾1?(Cont.) 科学型人才、工程型人才和应用型人才培养的矛盾 • ---是否因想要培养10%的优秀学生,而使其他90%的学生去加深理论的学习? • 计算思维 =? 理论 =?数学思维(或算法思维) ? • ---是否因想要培养“应用技能”,而强调流行“产品”的应用和操作? • 应用技能 不需要 计算思维 ? • ---结论应该是否定的。
《大学计算机》的危机? • 矛盾2? 学生入学时计算机基础“较好” 和“较差”的矛盾? • ---较好的: 期望学得深入? 较差的: 期望能听明白? • ---学什么,能使所有学生受益? • “知识膨胀”与“学时数压缩”的矛盾 • ---新知识、新技术和新软件层出不穷? “少讲多练”“基础与专业”的平衡结果是不断压缩计算机课程的学时? • ---如何选择内容?内容如何讲解?
危机产生的原因分析? • 新技术、新软件对课程定位的影响 ---长期的以讲“软件及应用”为主,软件的时效性等影响人们对课程的定位。 ---“某某软件”在学生毕业后的工作中是否一定要使用呢? 有多少人将要使用? ---“某某软件”不讲是否就不会用呢? 而讲了是否就会用呢? • 教师对“学生”接受程度的判断 • ---讲思维(被认为是讲理论)学生接受不了? 尤其是对一些二本或三本学校,是真的吗? • ---入学分数的差别是否代表着计算机相关知识学习和接受能力的差别呢? • ---学习某些方面的知识,必须有另外一些知识做基础,是这样吗? • 教师对“大学计算机”核心内容的认知 • ---是否与非计算机专业的专业教师期望的一致呢? • ---所选择的内容就是“大学计算机”应该讲的内容吗?
危机产生的原因分析?(Cont.) • 大学计算机是否是各门课程的“前言性”章节? • ---大学计算机是否是“微机原理”? • ---大学计算机是否是“大学信息技术基础”? • ---大学计算机是否就是要讲“计算机科学基础”(算法与计算理论)? • 如何由知识传授,转为基于知识的思维传授 • ---很早就有专家提出思维性教学,为什么没有落实下去呢?落实与执行的手段? • 对“思维”“知识”的理解影响了课程的定位 • --- “讲思维等同于讲理论、讲理论不实用、技能与操作实用”…是这样吗? • ---注重所讲授内容的知识性,引发知识的有用性质疑:“知识”不讲行不行?
内容提要 • 《大学计算机》的危机与产生原因 • 知识与思维、可实现的思维 • 《大学计算机》的思维性与课程定位 • 《大学计算机》的教学内容设计 • 《大学计算机》的实验内容设计 • 《大学计算机》的教学方法 • 结论
知识与思维、可实现的思维 思维? 知识? 高度决定视野,角度改变观念,尺度把握人生 ---某广告词
知识与思维、可实现的思维(Cont.) • (角度改变观念的)一个例子 • 二进制与数制转换----从知识的角度
知识与思维、可实现的思维(Cont.) • 0和1的思维----从思维的角度 • 实现的思维而非实现的细节,可见可实现的思维而非抽象的思维 • 思维的每一个环节都需要知识,基于一定的知识可理解每一个环节,通过贯通进而理解整个思维。
知识与思维、可实现的思维(Cont.) • 0和1的思维蕴含着… ---数值信息和非数值信息均可用0和1表示,均能够被计算。(信息表示) ---物理世界/语义信息符号化0和1(进位制与编码)数字计算(算术运算,逻辑运算)硬件与软件实现。即:任何事物只要能表示成信息,也就能够表示成0和1,也就能够被计算,也就能够被计算机所处理。(符号化数字化)。 ---硬件系统是“用正确的、低复杂度的芯片电路组合形成高复杂度的芯片,逐渐组合、功能越来越强”。(层次化构造化)。复杂的软件和复杂的系统是否也可借鉴这种思维呢? ---作为一种“思维”需要学习!将思维以可实现、可视化 的方式(而不是简单化概念化的方式)传授给学生,把知识贯穿于思维 的讲解与训练中!
知识与思维、可实现的思维(Cont.) • 另一个例子:键盘输入与屏幕显示 • ---作为“知识”不一定学习! • ---作为“思维”可以学习:位置 电信号 编码 存取/ASCII 解码 字形 显示。
知识与思维、可实现的思维(Cont.) • 另一个例子:键盘输入与屏幕显示(Cont.) • ---汉字输入的例子 • ---也体现了:位置电信号 编码(外码) 映射与存取(内码) 解码(字形码) 字形显示。
知识与思维、可实现的思维(Cont.) • 键盘输入与屏幕显示蕴涵着… • ---蕴含着一种普适的思维:物理对象通过采集设备采集相关信息(物理-信息映射),然后按一定的编码规则使用编码器进行编码及存储,再按编码规则使用解码器进行解码,识别所需信息并进行显示。 • ---声音、视频、RFID等是否都体现了这一信息处理的思维呢?
打通任脉督脉,内功威力无限。 知识与思维、可实现的思维(Cont.) • 计算机学科中体现了很多这样的思维:问题求解的思路与方法(并不只是算法)。 ---这些思路与方法对非计算机专业的学生是非常有用的,尤其是对其创新能力的培养是有用的。比如借鉴计算机及相关系统,研制支持生物技术研究的计算平台,研制支持材料技术研究的计算平台等。 • 大学计算机就是要挖掘这样的思维,让同学不仅有“思维”,更要使学生看见并确立这种“思维” 是能够实现的。 • ---不仅要讲知识,更要讲贯通这些知识的思维; • ---不仅要讲思维,更要讲思维是可实现的。
知识与思维、可实现的思维(Cont.) • 大学生计算思维能力的培养 • 分层次:1 + X。基本思维的理解 与 问题求解能力的训练。 各专业计算类相关课程 专业结合 计算机专业类课程 能力 算法与高级语言程序设计 数字电路与汇编语言程序设计 问题求解能力的训练 思维 基本思维的理解 大学计算机 知识
知识与思维、可实现的思维(Cont.) • 因此,蕴涵在计算机学科知识当中的、建立在可实现基础上的思维教学是《大学计算机》课程的核心价值。 • ---“知识”随着“思维”的讲解而介绍,“思维”随着“知识”的贯通而形成,能力随着思维的理解而提高。
知识与思维、可实现的思维(Cont.) • 需要说明的: • 计算思维能力将成为21世纪中叶的每个人的基本能力[周以真],即每个人都能像计算机科学家一样思维:问题求解、设计系统、充分发展人与机器智能的能力。 • 这种计算思维是需要多课程多年的共同努力来完成的,而《大学计算机》应是培养计算思维的一门重要课程,但不是唯一课程。
知识与思维、可实现的思维(Cont.) • 需要说明的: • 《大学计算机》应侧重培养具有以下特征的计算思维: • 基于通用计算平台的思维:计算机是如何工作的;程序在计算机中是如何被执行的等等蕴涵在计算平台中的基本思维对于计算思维的培养具有重要的作用。 • 从多门课程中凝练出的共性思维:对非计算机专业,受限于学时数,应将蕴涵在不同课程,如操作系统、数据库、计算机网络等课程中的具有普适意义的计算思维凝练出来。 • 将不同方面的知识贯通起来所形成的贯通性的思维:打通知识间的屏障(如术语上的差异、抽象的不同层面等),对于提高计算思维能力很重要。 • 可实现的,但非细节的思维:使同学既理解计算思维,又感觉这种思维是可以实现的,但又不是实现的具体细节,而是这种实现的思维。 • 为各学科计算手段的研发或应用奠定基础的思维:如关于问题求解算法的思维、关于计算平台设计的思维、关于应用新型计算平台的思维等。
内容提要 • 《大学计算机》的危机与产生原因 • 知识与思维、可实现的思维 • 《大学计算机》的思维性与课程定位 • 《大学计算机》的教学内容设计 • 《大学计算机》的实验内容设计 • 《大学计算机》的教学方法 • 结论
大学计算机的思维性与课程定位 • 《大学计算机》课程应该具有… • 思维性 • 计算学科的普适思维对各学科学生的创造性思维培养是重要的; • ---复合型人才是离不开计算学科的手段的 • 计算学科的普适思维是计算机的思维及应用计算机的思维; • 素养性与知识性 • 相当的知识与素养是理解并真正建立起 “思维”的必要条件; • 思维相关的知识。信息与信息处理的素养。 • 技能性与实用性 • 应用计算机的技能:利用计算机进行业务工作,而非掌握一种或几种软件。 • 建议专设《大学计算机实验》来解决。
大学计算机的思维性与课程定位 • 计算学科的普适思维 • 计算机的思维 • 计算机技术发展路线图蕴涵的思维; • 关于0和1的思维; • 关于程序、指令及其执行的思维; • 关于计算机系统的思维; • 关于操作系统的思维; • 计算机语言发展路线图蕴涵的思维---语言、程序与编译器的思维; • 关于互联网计算的思维。
大学计算机的思维性与课程定位 • 计算学科的普适思维 • 计算机的思维 • 计算机技术发展路线图蕴涵的思维; • 关于0和1的思维; • 关于程序、指令及其执行的思维; • 关于计算机系统的思维; • 关于操作系统的思维; • 计算机语言发展路线图蕴涵的思维---语言、程序与编译器的思维; • 关于互联网计算的思维。 • 计算机技术发展路线图蕴涵的思维 • 计算历史:机械自动计算及其条件(数的表示、存储、计算规则及执行)研究的发展轨迹。 • 计算机硬件的历史:0/1特性的元器件及集成的构造性计算部件的发展轨迹;计算平台的构造(计算、存储)及实现的发展轨迹。 • 计算机软件的历史:从程序的开发手段(程序设计语言),到硬件资源的扩展与透明化(操作系统),再到其他。 • 计算机网络的历史:数据传输,到远距离网络连接,再到有限距离内的高速网络连接,再到信息高速公路。 • 关于0和1的思维: • 0和1与易经(现实世界)---语义符号化。 • 0和1与逻辑---逻辑与逻辑运算。 • 0和1与进位制---数值型信息表示及算术计算,数字化; • 0和1与编码---非数值型信息表示,数字化; • 0和1与电子器件---二极管/三极管及与门、或门等; • 0和1与组合电路与时序电路---构造化。 • 关于程序、指令及其执行的思维: • 图灵机:构造性内容(数据、指令、程序及其执行)的数学表达方法(元组与移动函数)。 • 冯.诺依曼计算机:从组成部件、程序与数据的分离存储与自动执行,到机器程序的编制、存储及执行过程。 • 关于计算机系统的思维: • 计算机的总线结构:CPU、存储器及其与外部设备的连接及控制。 • 分级存储体系:寄存器、内存、外存及其一体化控制与使用,折中与透明化。 • 硬件、软件和数据:软件是硬件的扩展; • 关于操作系统的思维: • 操作系统是硬件的扩展。 • 文件与磁盘存取:化整为零,目录、文件分配表与磁盘簇。 • 分层设备管理:设备无关操作与设备相关操作的分离,设备虚拟化管理。 • 程序管理:磁盘上的程序文件内存中的进程驻留服务 • 计算机语言发展路线图蕴涵的思维: • 算法、语言与程序; • 机器语言到高级语言的发展; • 语言、程序与编译器的思维:提出新语言,同时提供相应的语言编译器。 • 关于互联网计算的思维: • 网络连接的基本思维:局域网连接、广域网连接及互联网连接 • 协议与分层转换思维:化复杂问题为简单的求解思维
大学计算机的思维性与课程定位 • 计算学科的普适思维(Cont.) • 应用计算机的思维 • 关于信息处理的普适化思维---协议、编码器与解码器的思维; • 关于算法类问题求解的思维; • 关于系统类问题求解的思维; • 关于数据库的思维--聚合信息成库、基于数据库的信息分析; • 关于互联网计算的思维。
大学计算机的思维性与课程定位 • 计算学科的普适思维(Cont.) • 应用计算机的思维 • 关于信息处理的普适化思维---协议、编码器与解码器的思维; • 关于算法类问题求解的思维; • 关于系统类问题求解的思维; • 关于数据库的思维--聚合信息成库、基于数据库的信息分析; • 关于互联网计算的思维。 • 关于信息处理的普适化思维: • 采样量化压缩/编码存储解压缩/解码显示。 • 协议/标准与编码器/解码器/执行器。 • 分离思维与分层思维:化复杂问题为简单问题求解的思维。 • 关于算法类问题求解的思维: • 数学建模及其求解思想 • 数据结构、控制结构及算法描述方法 • 算法设计 • 算法实现(暨:程序设计) • 算法正确性与复杂性分析 • 关于系统类问题求解的思维: • 系统及系统工程思维 • 问题域建模与软件域建模:尤其是非数学化建模 • 软件构件、流程与系统 • 软件/硬件系统体系结构 • 软件/硬件系统可靠性与安全性 • 关于数据库的思维: • 聚合信息成“库”,基于“库”的分析和利用 • 数据库的定义、操纵与控制 • 关于互联网计算的思维: • 信息搜索与信息发布 • 虚拟世界与现实世界的交互 • 网络化跨时空服务
大学计算机的思维性与课程定位 • 计算学科的素养 • 计算机基本应用素养; • 程序设计与算法的基本素养; • 文章编排的基本素养; • 信息搜索与信息发布的基本素养; • 信息安全的基本素养;
大学计算机的思维性与课程定位 • 大学计算机课程的定位 • 非计算机专业大学生计算机教育的第一门课程,着力培养学生的计算思维及信息素养,是一种通识性、素养性课程,而不是流行软件产品的使用培训课程。 • 计算思维是计算机的思维和应用计算机的思维; • 计算思维是贯通计算学科知识的思维。从思维而非细节的角度,使学生对计算机本身及其应用方式有一个全面的了解和理解。为其今后的创新活动打下坚实的基础。 X门课程(训练) 大学计算机 (基本思维与素养培养)
内容提要 • 大学计算机的危机与产生原因 • 知识与思维、可实现的思维 • 《大学计算机》的思维性与课程定位 • 《大学计算机》的教学内容设计 • 《大学计算机》的实验内容设计 • 《大学计算机》的教学方法 • 结论
计算思维及其牵引的相关知识和基本素养 计算机系统(硬件系统/软件 系统/网络 系统/数据库系统)及其应用 《大学计算机》的教学内容设计 • 大学计算机课程内容的重构 教学单元1:引论 教学单元2:计算原理 教学单元3:操作系统基础 教学单元4:问题求解框架 教学单元5:算法描述与程序设计基础 教学单元6:互联网计算基础 教学单元7:数据库系统基础 教学单元8:科技文章/文稿电子化制作、编排与发布 教学单元9:计算机安全与信息安全
《大学计算机》的教学内容设计 • 大学计算机课程教学单元及学时数分配 • 9个教学单元; 30(必选)+14(可选)个教学学时; • 思维牵引的知识讲授 + 基本素养需求
《大学计算机》的教学内容设计(Cont.) • 大学计算机课程教学内容及其计算思维
《大学计算机》的教学内容设计(Cont.) • 大学计算机课程教学内容及其计算思维
《大学计算机》的教学内容设计(Cont.) • 大学计算机课程教学内容及其计算思维
内容提要 • 大学计算机的危机与产生原因 • 知识与思维、可实现的思维 • 《大学计算机》的思维性与课程定位 • 《大学计算机》的教学内容设计 • 《大学计算机》的实验内容设计 • 《大学计算机》的教学方法 • 结论
《大学计算机》的实验内容设计 13个实验单元; 27(必选)+13(可选)个实验学时; (1)日常学习与工作的基本技能 + (2)熟悉软件及其操作技巧+ (3)深度可分级的实验项目设计
《大学计算机》的实验内容设计 13个实验单元; 27(必选)+13(可选)个实验学时; (1)日常学习与工作的基本技能 + (2)熟悉软件及其操作技巧+ (3)深度可分级的实验项目设计 实验单元3:操作系统的基本应用 实验项目3-1:操作系统关于文件/磁盘/目录操作命令的应用。 实验项目3-2:操作系统的配置(与安装)。 实验项目3-3:认识磁盘信息的结构。 S型(简单型)实验方案:实验项目3-1; B型(基本型)实验方案:实验项目3-2; C型(复杂型)实验方案:实验项目3-3; B型实验方案是实验单元中基本的实验方案。S型是面向基础较为薄弱的学生群体的实验方案;C型实验方案是面向基础较好的学生群体的实验方案。 学生可在S型、C型和B型中任选一个方案完成实验即可。实验课成绩评定与所选择方案的类别无关,仅与实验内容和完成质量相关。
《大学计算机》的实验内容设计(Cont.) 详细的实验内容
内容提要 • 大学计算机的危机与产生原因 • 知识与思维、可实现的思维 • 《大学计算机》的思维性与课程定位 • 《大学计算机》的教学内容设计 • 《大学计算机》的实验内容设计 • 《大学计算机》的教学方法 • 结论
《大学计算机》的教学方法 • 挖掘蕴含在计算机发展史的思维启示 • 计算历史:算盘--数在计算过程中的存储与人使用的规则帕斯卡机--用机械进行自动计算莱布尼茨--连续性重复计算与二进制杰卡德--规则的输入与控制巴贝奇分析机--程序的实现布尔代数--计算机硬件逻辑设计 • 计算机硬件的历史:电子管—基本元器件晶体管--基本元器件集成电路—元器件集成在一起大规模集成电路微处理器的发展与摩尔定律;二进制计算机--计算问题磁芯/磁鼓--存储问题冯.诺伊曼计算机--功能与结构问题,存储程序与自动执行现代计算机系统输入/输出,硬件与软件个人计算机 • 计算机软件的历史:程序设计语言--典型标志性程序设计语言,编程效率操作系统(Unix、DOS、Windows及Linux与开源运动)--硬件扩展其他软件系统(数据库管理系统、多媒体系统、游戏软件) • 计算机网络的历史:数据传输与远程控制ARPA与广域网以太网与局域网World Wide Web与因特网--虚拟世界。
《大学计算机》的教学方法(Cont.) • 以冯.诺依曼计算机为中心的知识贯穿 • 冯.诺依曼计算机----存储程序原理、组成部件、执行机理。 • 算法的概念机器指令与机器语言程序存储器与在存储单元中存储的程序和数据冯.诺依曼计算机的功能构成与信号产生的节拍控制程序的模拟执行。
《大学计算机》的教学方法(Cont.) • 以现代计算机系统为中心的知识贯穿 • 现代计算机系统----存储体系、操作系统、高级语言源程序和机器语言程序。 • 源程序机器语言程序(可运行程序)磁盘上的程序“文件”内存中的“进程”冯.诺依曼机器模拟运行“进程”(前张胶片) 操作系统对资源的管理与控制。
《大学计算机》的教学方法(Cont.) • 实例示例化阐述一般性的思维方式和抽象概念 算法类问题求解---以TSP问题为例(亦可选其它问题 ) • 1. 基本概念 • 2. 问题 • 3. 数学描述及其求解方法(思想) • 4. 数据结构 • 5. 控制结构 • 6. 基于数据结构的算法 • 7. 程序设计语言 • 8. 用程序设计语言实现的算法 • 9. 算法模拟与分析 • 10. 算法复杂性的概念
《大学计算机》的教学方法(Cont.) • 实例示例化阐述一般性的思维方式和抽象概念 系统类问题求解---以物料计算问题为例(亦可选其它问题 ) • 1. 基本概念 • 2. 系统类问题(功能+过程+…) • 3. 建立问题域模型(非数学模型) • 4. 建立软件域模型(实现模型) • 5. 软件模块的实现(构件) • 6. 软件系统的实现(系统:构件+过程+架构) • 7. 软件模式与软件体系结构 • 8. 软件系统的部署与运行 • 9. 系统的可靠性、安全性等问题
用户或 程序 信息 操作系统 计算机 存储设备 《大学计算机》的教学方法(Cont.) • 使不可见为可见 示例:操作系统对文件的管理
《大学计算机》的教学方法(Cont.) • 变无关为有关 • 示例:操作系统对设备的管理 • 设备与主机的连接 • 主板与接口板的连接 • 硬件中抽象的总线、IO控制器概念与可见的插槽、接口板的关联 • 分层管理的各个层面的对应工作
《大学计算机》的教学方法(Cont.) • “用”的思维牵引(但“用”不能简单地理解为“软件操作”) 示例:计算机病毒攻击的目标
《大学计算机》的教学方法(Cont.) • “用”的思维牵引(但“用”不能简单地理解为“软件操作”) 示例:数据库定义与数据库操纵