• 工作总结
  • 工作计划
  • 心得体会
  • 述职报告
  • 事迹材料
  • 申请书
  • 作文大全
  • 读后感
  • 调查报告
  • 励志歌曲
  • 请假条
  • 创先争优
  • 毕业实习
  • 财神节
  • 高中主题
  • 小学一年
  • 名人名言
  • 财务工作
  • 小说/有
  • 承揽合同
  • 寒假计划
  • 外贸信函
  • 励志电影
  • 个人写作
  • 其它相关
  • 生活常识
  • 安全稳定
  • 心情短语
  • 爱情短信
  • 工会工作
  • 小学五年
  • 金融类工
  • 搞笑短信
  • 医务工作
  • 党团工作
  • 党校学习
  • 学习体会
  • 下半年工
  • 买卖合同
  • qq空间
  • 食品广告
  • 办公室工
  • 保险合同
  • 儿童英语
  • 软件下载
  • 广告合同
  • 服装广告
  • 学生会工
  • 文明礼仪
  • 农村工作
  • 人大政协
  • 创意广告
  • 您现在的位置:六七范文网 > 其它相关 > 正文

    基于OBE,理念的程序设计基础课程教学改革实践

    来源:六七范文网 时间:2023-05-02 20:15:20 点击:

    张荣博,许 莉,丛丽晖,李胜宇

    (沈阳航空航天大学 计算机学院,辽宁 沈阳 110136)

    程序设计能力是计算机类技术人才的核心能力,对其职业发展至关重要,但从教学和就业反馈结果看,学生的程序设计能力普遍偏弱,存在动手实践能力不够,逻辑思维能力和计算思维能力不足,缺乏软件设计、开发经验等问题。程序设计能力需要程序语言运用、开发工具使用、运行环境理解、问题算法设计等多种知识和技能的共同支撑,需要学生长期自觉实践和主动学习相配合。程序设计基础是培养学生程序设计能力的基础课程,但传统的课程教学模式是以教为中心、面向课程的教育模式,其特点是偏重知识的输入,对学生程序设计能力产出的关注不够[1]。另外由于缺乏有效的实践训练方法和评测手段以及教学效果评价形式单一,学生与教师之间缺乏有效的配合和协同,存在认知断裂现象,不能有效激发学生自主学习动能。

    程序设计基础通常是计算机类专业在大学第一学期面向无编程基础的学生开设的程序设计类课程,与数据结构、面向对象程序设计、编译方法等课程共同、递进地培养学生的程序设计能力。因此课程的教学目标不能孤立的设置,应该梳理与专业培养方案中毕业要求的支撑关系,以及后续课程所需的先导知识和能力储备的要求来制订。表1 是程序设计基础课程对毕业要求的支撑关系,从中可以看出程序设计基础课程应该着重培养学生采用计算机思维分析问题、解决问题的能力,并能掌握解决计算机领域复杂工程问题的工具的使用。

    在软件工程专业规范[2]中也指出:“程序设计基础课程通过讲解程序设计语言和程序设计技术,使学生理解程序设计语言的基本结构,掌握程序设计的基本思想、方法和技巧,养成良好的程序设计习惯,培养学生使用计算机求解问题的基本能力,具备初步的高级语言程序设计能力”。综上确定课程的4 个教学目标。

    表1 程序设计基础课程对毕业要求的支撑关系

    (1)理解程序设计语言的基本结构,掌握程序设计的基本思想、方法和技巧,养成良好的程序设计习惯。

    (2)理解计算机程序的执行过程,能熟练使用开发工具完成程序代码编辑、编译、调试和运行等环节。

    (3)培养学生的计算思维和使用计算机求解问题的基本能力。

    (4)具备初步的高级语言程序设计能力。

    明确课程教学目标后,根据授课对象的特征和学生对程序设计知识体系的认知规律,按照先易后难、从知识到技能、从程序设计方法到计算思维的多维度,分层次、按模块重构知识体系,总体情况见表2。

    表2 课程知识体系

    (1)程序设计基础课程的授课对象通常对计算机基本工作原理和信息数据表达等专业性较强的知识理解不够,计算机基础知识模块通过介绍计算机的基本工作原理、物理信息(如图形、游戏等)在计算机内的存储方式等知识激发学生探索计算机编程的兴趣,通过介绍冯•诺依曼计算机结构帮助学生在脑海中初步建立计算机运行模型。

    (2)程序设计语言模块采用较少的学时梳理语法知识及可视化开发工具的使用技巧。算法分析与设计模块是理论教学的重点内容,旨在通过精选案例的分析,逐步加深学生对程序及计算机内存结构的理解,培养学生的计算思维。模块化程序设计模块依托函数机制,训练学生自顶向下、逐步分解的程序设计思维。

    (3)内存管理和控制模块是程序设计基础课程的难点内容,通过剖析内存的本质,结合编程实践训练,使学生理解指针的概念,驾驭指针的应用。数据抽象与设计模块通过数据封装强化学生对信息的归纳和抽象训练。

    (4)项目开发技术模块采用在机房讲授可视化开发技术的方式,进一步激发学生对专业知识探索的兴趣。

    程序设计基础课程以C 语言作为载体语言,介绍计算思维方法和程序设计基本思想,授课过程中不以语言语法为主线,而是将语法穿插在程序设计过程中详细准确的介绍,重在教授学生采用计算机思维分析问题、解决问题的方法和技巧。

    3.1 精选教学案例,注重培养计算思维

    精选以培养学生计算思维为主线的课程教学内容,课程讲授重点放在问题分析、模型建立、算法设计上,以此来培养学生的计算思维、分析问题和解决问题的能力。在课程教学内容讲解时,结合实际生活尤其是工程应用中的案例设计教学实例,重点训练学生对问题信息进行归纳、分析、抽象等逻辑思维能力。如果教学实例是经过了抽象、简化等处理后的产品,虽然可以训练学生掌握语言语法和程序结构,但缺少对实际问题的抽象和建模训练,从而导致学生遇到和实际相关的题目时仍无从下手。例如字符串比较的经典问题讲解,选用“windows 系统登录验证”案例,三次机会比对用户名和密码,既可以加强学生对循环条件控制和多重循环知识的理解,又能训练学生从工程应用中抽出问题的本质和设计解决方案。

    思维训练的另一个重要方面是问题的分解与组合[3],因此在设计教学实例时还应注重实例间的关系,让实例不仅能单独解决一个问题,还能够通过实例的组合、拓展来完成更复杂的问题。例如,在讲授一维数组、查找与排序等内容时,选用某班级学生奖学金评定程序作为案例,核心问题是数据的顺序存储、排序及比较等运算;
    讲授二维数组时,案例升级成某学院年级奖学金评定程序,关注多维数据存储方法;
    讲授结构体内容时,案例强调对学生、成绩等信息的抽象和提取;
    最后,要求采用文件对系统数据持久化。

    3.2 强化实践编程,提高程序设计能力

    实践是促进各种知识融会贯通,提高程序设计能力的最好磨刀石,为了提高学生的程序设计能力,培养学生自觉学习的习惯,教学过程中强化实践训练,学生可以自主完成的教学活动,如预习、练习、实验和考试等均采用上机完成,用实践驱动学生对程序设计的理解。为了提高教师的授课效果,采用小班授课,并将实践性和操作性强的内容安排在实验室讲授,打破以往的课程教学中“老师讲、学生听”的模式,做到边讲边练、精讲多练,便于师生互动及实践环节辅导,使学生熟练掌握编程语言与开发工具使用,避免学生出现“会读不会写、会写不会调”的情况。

    针对程序设计基础课程实践性强的特点,摒弃教师批改学生纸质作业的方式,搭建包含在线评判、代码相似度比较等功能的程序设计类课程教学平台,教师根据知识点建立程序设计习题库[4]。学生在线完成作业并提交评判,既能有效避免作业抄袭情况,又能提升学生学习程序设计的动力和提高程序设计能力。

    3.3 利用信息化手段,建立教学跟踪反馈体系

    传统的教与学之间的反馈包括教师课堂提问、课后答疑等方式,师生之间沟通的时间和地点都相对固定,不能保证反馈的时效性。利用信息化手段,依托课程平台、QQ 课程群、学习论坛等方式,建立多元化教学跟踪反馈体系,确保对学生的学习状态、学习效果能够及时、准确的掌握,并能及早做出干预和教学调整,具体措施如下。

    (1)依托课程教学平台,采用电子作业、程序自动评判和作业成绩实时发布等方式,及时、有效地向学生反馈自身知识点的掌握情况,有利于学生及时、准确地调整自己的学习状态。

    (2)教师通过教学平台实时监控学生的学习状态或知识点掌握情况,并通过习题课、专项辅导的形式对学生的学习进行早期干预。

    (3)依托教学平台,搭建课程学习论坛、QQ 课程群,方便学生及时、准确地反馈学习中的问题,同时方便教师答疑,以及学生之间的学习互助。

    考核是检验学生学习成果的重要方法,也是激励学生积极主动学习的有效手段,基于OBE教育理念是以学生的学习成果为中心来展开教学,摈弃以考查学生对知识点掌握情况的期末考试方式,采用过程化考核,关注学生对知识的运用能力,强调对学习目标的达成度的考查。

    (1)作业考核,占课程总成绩的10%,采用小目标过程考核,抽取课程中所有可考核的教学活动,根据活动内容和特点设置考核要求,考核点要粒度小、覆盖广、易达成,使学生在考核中能获得持续激励,减少抵触并逐步建立自觉学习习惯。

    (2)实验考核,占课程总成绩的10%,考核学生针对实际应用题目,进行分析问题、设计问题解决方案及撰写实验报告的能力。

    (3)阶段性考核,占课程总成绩的30%,阶段性考核题目难度与范围要比作业题目大,主要考核学生对知识的综合运用能力。

    (4)期末考试,占课程总成绩的50%,题目类型全部为编程题,评价学生的程序设计及编程实践能力。

    所有的考核都通过课程平台在线评判,考核贯穿于整个教学过程,有利于学生根据考核效果及时调整学习态度和学习方法,也为教师调整教学进度和方法提供依据,最终促进教学目标的达成。

    自2016 年开始课程改革实践以来,经历了多轮的继续改进,从实际教学效果来看,改革起到了较好作用,2016—2019 年期间某任课教师教授的两个自然班的课程教学目标的达成情况如图1 所示。模块化的知识体系结合精选教学案例的分析加深了学生对程序设计思想的理解,采用小目标过程考核以及依托课程教学平台搭建的教学反馈体系激发了学生对程序设计课程的学习兴趣,逐渐养成了自主学习的习惯。通过课程教学平台统计的学生在线练习的评测时间分布如图2 所示,可以看出学生在晚自习之后主动利用2~3 小时的时间学习程序设计。

    改革同时也提升了教师的教学水平和实践能力,教师劳动由低质量的重复性讲授知识,逐渐转向教学案例组织、试题设计和教学研究等高质量劳动。目前课程教师团队已经依托课程教学平台,建设了符合本校学生特点、涵盖所有课程知识体系的作业题1 000 余套,考试题200 余套,极大地丰富了学生编程练习内容和提高了实践训练强度。

    图1 2016—2019 年课程教学目标达成度

    图2 学生在线练习评测时间分布

    不断提高教育质量是高等教育追求的永恒“不动点”[5],基于OBE 教育理念的程序设计基础课程改革,以学生的程序设计能力产出为导向,明确了课程的教学目标,按照模块化重构课程知识体系,以培养计算思维为主线组织教学内容,以提高学生程序设计能力为目标开展各类教学活动,采用小目标过程考核以及依托课程教学平台搭建的教学反馈体系激励学生积极、主动参与整个教学过程。实践表明,改革后的教学模式提高了学生程序设计能力。

    猜你喜欢 程序设计考核计算机 基于SolidWorks和VBA的电机阶梯轴建模程序设计防爆电机(2022年4期)2022-08-17基于OBE的Java程序设计个性化教学研究电脑知识与技术(2022年11期)2022-05-31项目化教学在Python程序设计课程中的应用电脑知识与技术(2022年9期)2022-05-10医学专业“Python程序设计”课程教学改革总结与思考现代信息科技(2021年21期)2021-05-07基于计算机自然语言处理的机器翻译技术应用与简介科技传播(2019年22期)2020-01-14计算机多媒体技术应用初探科技传播(2019年22期)2020-01-14“表里不一”如何识别——富平增强考核洞察力当代陕西(2019年13期)2019-08-20考核偏向:错把经过当结果当代陕西(2019年12期)2019-07-12创新完善机制 做实做优考核当代陕西(2019年9期)2019-05-20中国计算机报2019年48、49期合刊中国计算机报(2019年48期)2019-02-07

    推荐访问:程序设计 课程教学 理念