版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言程序设计教学前导课程研究1 C 语言程序设计教学困境1.1 学生基础薄弱笔者所在的学校, 计算机专业的学生高中期间的数学基础参 差不齐,不少学生基础薄弱,却仍然选择了计算机专业,给C语言程序设计初级专业课的教学和管理带来很多问题, 如学习困难 或考试通不过导致反复重修等。中学的信息课程以 WOR、DEXCEL 操作为主,并不重视程序设计入门 1 。因此,很多学生在大一 并没有做好接受专业知识学习和训练的准备。1.2 教学进度快现行教学计划中, 计算机导论、 高等数学等课程的教学无法 为学生补充中学里缺失的内容,而程序设计教学的课时通常偏 紧。在一个学期中要完成程序设计概念和语法的教学,
2、要求学生 必须有一定自学能力,基础薄弱的学生基本上不能适应这种节 奏。1.3 缺乏专业兴趣学生基础差, 跟不上教学进度, 加上程序设计等专业课程内 容抽象枯燥,学生自然兴趣减少,缺乏学习热情和动力,造成教 与学都很困难,不少学生一再补考和重修。 C 语言程序设计是计 算机专业的核心课程, 这个环节的失败将给后续课程带来很多问 题。若在初级课程和后续课程中屡屡受挫, 将造成学生缺乏专业实践能力并对程序设计丧失信心。2 C 语言程序设计前导课程C语言程序设计课程目前并没有专门的前导课程,计算机导 论教学中也没有着重讲述程序设计理念。学生在C语言程序设计课程中,既要努力熟悉程序的抽象、结构控制等一些
3、全新概念, 又要避免语法错误, 学习如何在编译器报错时正确地修改和调试 程序,学习任务相当繁重。笔者认为,如果给C语言程序设计课程设置有效的前导课 程,为学生补充必要的基础概念,如抽象、逻辑、流程等,并为 他们设计任务, 要求在讨论和实践中完成, 将对程序设计教学起 到很大帮助。 前导课程可以由计算机导论课程担任, 但必须给学 生安排一定量的实践和思考内容, 不能把导论仅作为简单的理论 课程。3 Scratch 简介Scratch是美国麻省理工学院(MIT)媒体实验室开发的一 套“程序语言”, 它的使用对象是 8 岁以上的学生。 利用这个软 件可以轻松地创造出互动式故事、动画、游戏、音乐等令人
4、惊叹 的作品,是一套简单又有趣的软件。Scratch 在设计作品的过程中会运用到数学及算法的概念, 对逻辑分析、创意思考、流程控制、问题解决、合作学习等都有 帮助。 Scratch 属于“积木组合式”的程序语言,采用拖曳、组 合的方式设计程序。 它还是“可视化”的程序语言, 具有“所见 即所得”的功能, 不像一些程序语言需要经过复杂的“编译”过 程才能看到结果。Scratch 把程序命令归为动作、外观、声音、画笔、变量、 事件、控制等部分,并用颜色来分类,很适合学生学习。学生只 需根据各部分的命令积木按照自己的想法拖到脚本窗口, 并堆积 在一起, 在浏览窗口程序就会根据命令直接运行。 学生只需
5、简单 了解这些积木的用途, 就可以轻易地搭建起自己的程序。 该方法 明显与平时的程序设计要求不同, 因此非常适合学生学习、 讨论 和实践程序设计的概念。图 1 为 Scratch 设计界面。 左上为程序运行场景, 通过模块 化程序编制, 可以令所设计的个体对象完成各种任务; 左下为程 序中设计的个体对象,通常是一些动画主角(称为精灵);中间 是可视化程序模块, 不同分类的程序模块具有不同的颜色; 右边 是程序窗口, 利用鼠标可以把中间的程序模块拖入右边的程序窗 口,修改参数,完成模块次序安排和嵌套等工作,则程序编制完 成。最后观看程序运行场景执行程序设计的不同实现结果。图 1 Scratch
6、设计界面4 Scratch 与程序设计教学Scratch 平台为程序设计教学带来的概念主要涉及图形和动 画、项目设计、循环和选择、同步和函数、变量、数组、对象等 几方面。 使用 Scratch 作为程序设计教学的前导课程, 应针对这 几方面设计不同任务,让学生在制作程序、完成任务的同时,学习、讨论和实践这些概念。4.1 图形和动画Scratch 程序中使用图形和动画来编制小故事或场景。图形 和动画也是程序设计概念的一部分。 平移图形能帮助讨论平面坐 标的概念。如图 2 是一个程序模块, 能控制人物平移到坐标 (100, 200)处,白色部分为可修改的坐标值。图 2 运动程序模块4.2 项目设计
7、项目设计包括项目主题和程序流程的设计, 需从解决实际问 题的方法中抽象出程序。 这种抽象思维方式也是在学习程序设计 中需要反复操练才能熟练掌握的。Scratch 程序可以用来实现一些小故事或场景。实现的结果 有趣,给设计和抽象的过程也带来无限乐趣, 这对学生反复练习 抽象思维方式很有帮助。对于项目设计, 学生还可以修改场景背景, 创造并修改精灵, 为精灵设计动画、添加声音等,有较大的设计空间。4.3 循环和选择循环和选择是重要的程序结构。 Scratch 具有可视化的循环 和选择模块, 设计时直接拖入场景中, 就可实现循环或选择的程 序结构。通过参数设置,还能控制循环次数和选择条件,并且能 实
8、现循环和选择的嵌套,制作需要的程序流程。比如,可以控制 某段程序在看到某个旗帜后才执行, 或者控制某段动画反复播放 多少次等。图 3 演示了循环结构的程序模块,循环次数 10 可以 修改,循环体可以是其它分类的程序模块。 另外也有循环条件为 逻辑表达式的 repeat 模块。 图 3 循环结构的程序模块 由于设计内容浅显, 操作简单, 能帮助学生把精力集中在循 环和选择的结构上, 而不需要为语法错误分心。 同时在这部分设 计中,能够学习逻辑值及逻辑表达式的概念。 图 4 中演示了具有 逻辑表达式模块的选择结构程序。 逻辑表达式中还能使用自定义 的变量值 i 。图 4 选择结构的程序模块4.4
9、同步和函数Scratch 中设计的人物称为小精灵。一个小精灵可以向其他 精灵发送消息, 收到消息的一方就开始执行某个动作 (如图 5) 这可以为教学带来同步的概念。 通过收发消息协调两个或多个精 灵之间的动作,即实现了不同程序段之间的同步。图 5 接收消息的程序模块 另外,该部分设计还可以引入函数的概念。 发送消息的小精 灵是函数调用方, 接受消息的精灵是被调用的函数, 传送的消息 即为函数参数。如果函数调用方要执行全部任务,代码将很长, 因此可以设计不同精灵完成不同的任务, 只要发送消息即可启动 不同任务的执行, 从而减少了作为函数调用方的小精灵的代码长 度,而且执行不同任务的精灵还能被反复
10、调用。4.5 变量Scratch 程序能够使用数字和字符串变量。这些变量可以只 被一个小精灵使用, 也可以成为全局变量。 用 Scratch 制作程序, 可让学生使用变量来控制如某个图形的大小或个数。 由此引入变 量存储值、变量值影响程序执行以及变量的作用域等概念。图 6 为自定义变量 i ,以及可以对变量进行的操作,比如设置变量的 值、对变量进行加减等。变量能够被运用到其他程序模块中,比 如前文所提到的变量能填充到逻辑表达式中, 变量也可以填充到 循环次数或移动坐标中,从而成为控制程序的参数。图6 自定义变量4.6 数组Scratch 具有列表的结构,列表可以存储数值或字符串,还 能帮助学生
11、学习数组的概念。 自定义列表也具有作用域, 可以完 成列表项的添加、删除、插入等操作,通过下标获得列表项,还 可获得列表的长度。4.7 对象Scratch 虽然没有对象模块,但平台可以制作小精灵,不同 的小精灵具有独特的属性和变量, 能完成独特的任务, 这就是对 象的概念。 当学生熟悉了这种设计方式, 在后续课程中将很容易 接受对象及其属性和行为的概念。5 Scratch 作为程序设计教学前导课程的实践 学校已尝试使用 Scratch 平台作为计算机专业课程的前导 课程,在第一学期为基础薄弱的学生开设 Scratch 课程, 而另一 部分被认为基础良好的学生在第一学期就开始学习程序设计等 专业课程。到第二学期,学习过 Scratch课程的学生才开始学习程序设计语言等专业课程。 最后,通过成绩来比较两部分学生学习程序设计语言等专业 课程的情况。 学习过 Scratch 课程后再学习程序语言的学生, 尽 管基础薄弱, 他们的最终成绩在通过率和平均成绩方面反而超过 了基础良好的学生。另外,从学生对程序设计的精通程度、 对后续专业课程的喜 爱程度、在专业学习中的参与程度等方面来评估 Scratch 课程作 为计算机专业课的前导课程对学生产生的影响,所有的数据显 示,接受了前导课程教育的学生, 专业成绩更好, 对专业更热爱, 对程序设计更有信心。6 结语 不是所有的计算机专业学
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年两癌筛查是非试题及答案
- 2025年标准通信类安全员c类试题及答案
- 光伏电站运行与维护中级专业1X理论习题含答案
- XX车型核心卖点与销售策略
- 感染科医院感染预防控制流程大纲
- 患者入院压疮评估
- 护士考试题及答案填空题
- 2025年语言指南考试题及答案
- 湖北成人高考试题及答案
- 2025船舶轮机管理试题及答案
- 呼吸衰竭和急性呼吸窘迫综合征
- 《电工》三级练习题库及答案
- 《教育心理学》教材
- 心理矫正测试试题及答案
- 人合伙承包工程协议
- 有机生产模式有机硒大米
- 39.猜心-小游戏课件
- 花样跳绳知到智慧树章节测试课后答案2024年秋深圳信息职业技术学院
- “双减”背景下的初中化学作业分层设计
- 2025年四川省宜宾五粮液集团招聘笔试参考题库含答案解析
- 《社会化网格治理研究的国内外文献综述》5700字
评论
0/150
提交评论