摘要编程实践类课程对于掌握和理解理论知识,提高学生的动手能力具有重要意义,然而在实际教学过程中,这类课程存在评价困难、考核的模糊空间较大等问题。为此,可采取基于分组、成果和答辩的综合考核方式,这种考核方式包括自由分组、题目选择、有效管理和答辩评分等环节。

关键词实践类课程;教学实践;考核

工业化进程的加快使我国对高级技能型人才的需求日趋旺盛,蓬勃的市场需求使教育主管部门意识到了实践教学的重要性和迫切性。如今,高校的实践类课程教学一般采用项目引导的方式进行。一方面考虑学以致用,另一方面力争用市场需求界定教学内容。}n然而实践类课程的特殊性导致对其进行有效考核较为困难。本文分析缺失有效考核方法所导致的影响以及考核所面临的困难,探索基于项目分组的综合考核方法。

一、缺乏有效考核机制所造成的影响

首先,缺乏有效的考核机制将使教师难以真正了解学生对知识的掌握程度,使学生学习效果的评估缺乏确定的标准,给学生后续课程的学习带来障碍。例如C++中结构体、指针的知识未能真正掌握的话会导致后续的网络编程的学习出现困难。其次,没有准确的评估结果就难以科学体现学习效果的区分度,客观上会影响学生的各类奖助学金等的评定,影响公平性。众所周知,高校奖助学金或保研评选工作等都是特别敏感的问题,微小的分值差距都会影响学生的权益。

二、实践类课程考核的难点

以笔者所在高校计算机专业的实践类课程网络编程为例,其教学内容以C++语言的项目式编程为主,主要包含TCP,UDP的编程基础,基于MFC的聊天程序、邮件收发程序以及各类服务器编程模型的编写等。以往的课程考核一般具有如下问题。

(一)基于笔试的考核方法不能适应教学内容

实践类课程中的大部分内容属于操作的内容,要求学生能够分析项目的目标,根据目标选择适用的方法,随后根据正确的方法通过排除错误达成预定目标。在这个过程中,传统教学中的知识点的作用犹在,但这些知识更多地作为达成目标的基础而存在。如各类socketAPI函数的使用,其知识点是极其零碎的,对学生而言,最重要的是学习网络编程中Serve:和Client都需要做什么、使用哪些API,怎么正确使用这些API以及通过什么样的控制流程实现预定目标。这些知识是无法通过笔试来评判学生的掌握情况的。

(二)基于项目的考核方法所需时间较长相

对于传统的笔试,实践类课程一般需要完成特定的编程目标。完成一个贴近应用并产生实际功效的项目需要经历前期需求分析、功能选择、模块划分与界定、技术方案选择、技术文档阅读、编码实现与调试等环节,而且,技术文档阅读、编码和调试环节是需要不断循环反馈进行的。因此,项目考核在传统的两个小时的时间内是无法完成的。例如,三人一组完成邮件收发客户端的编程,他们需要查询SMTP协议、Pop3协议标准、Base64编码方法,这些非常耗时。

(三)基于分工的考核方法中成员分工和个人贡献较难界定

基于上述理由,大部分院校选择基于分组完成一个项目的方式进行考核。从原理上讲,这种考核方法是符合教学实际的,然而其困难在于没有操作标准,模糊空间大。如果没有配套的细致而不至于死板、深入而不失灵活的具体操作方式的话,那么客观上将造成实际考核效果不理想的情况。[2,3es例如,一个小组完成局域网的聊天程序,人员分工全凭设计报告,具体到每位成员所完成的具体事项及其对相关知识的了解程度等均无从得知,这样特别容易造成浑水摸鱼、滥竿充数的现象。

(四)分组成果易于复制

数据成果类的实践课均存在这一问题,一旦某个学生做出了结果,其他学生就复制一份,或稍做修改就堂而皇之地提交了。比如网络编程中基于CHtm1View的简易浏览器,其结果表现形式差不多。这种考试中的作弊行为远比笔试中的作弊更加隐蔽,更难以界定。从现实来看,对这一问题一般只能通过进一步深入分析才能发现,而这种深入到细节的考核所需的工作量和时间、精力的投入更加难以量化。

三、基于分组、成果和答辩的综合考核方式

基于长期的教学实践,笔者所在院校采用了一种分组、成果和答辩评分相结合的综合考核方式,具体包括自由分组、题目选择、有效管理和答辩评分等关键环节。

(一)自由分组环节

学生根据兴趣爱好或其他因素自由组合成为一个项目组,每个项目组成员不能超过三人,项目组成员之间必须明确分工,且这种分工要符合项目开发实践要求,要避免为组合而组合、为感情而组合、为照顾而组合的情况发生。成员之间最好能体现出知识结构的互补性,最好能够较为容易地营造良好的合作气氛,在发生分歧和争论时至少有一名具有组织协调能力的成员起到核心作用。

(二)题目选择环节

对于C++程序设计、网络编程、Web编程、Java应用程序开发、程序设计这几门课程,应该在第一节课时向学生公布考核方式,使学生明确平时多实践的重要性,实践类课程的考核并非卷面考试,也不是依靠突击、临阵磨枪就能过关的。与此同时,要将项目设计的大致内容、关键知识点、所采用语言以及是否允许自选题目等基本信息告知学生。一般而言,动手能力较强的学生平时就已经在不断进行积累,这些学生已经能够就这些实际问题向授课教师提出问题。

(三)审核和管理环节

在教学进度到第4周时,学生已经初步了解该课程的主要知识脉络,对课程的教学重点或即将学习的知识已经有所认识,此时,教师应该汇总教学小组拟定项目实践的参考题目和必要的基本要求。例如,要求必须是本课程所涉及的内容和类型,如Java应用程序开发课程的项目设计课题必须是Windows应用程序,Web编程的项目必须是Web程序。同时,要规定参考的工作量(代码要求)和最低的工作量要求。在教学进行到第7周时应该要求学生进行自由分组并选择拟实现的项目开发题目,同时,要求学生将选择该项目的技术原因或可行性分析上报至任课教师处,以供审核参考。教师方案上交1周内对预订方案进行审批,对过于简单而导致组员工作量不够或过于复杂而导致学生无法按时完成的题目予以驳回,并要求学生在规定时限内重新选题。题目审核通过后,学生可立即进入设计和开发阶段。在开发或设计过程中,项目小组自行安排设计、开发的时间和进度。教师通过阶段性检查项目组进度情况及时掌握设计过程中发生的各种问题,然后对学生进行技术指导。阶段性检查结果将作为平时成绩记录在案,在最终成绩评定时再作为参考依据。

(四)答辩评分环节

教学结束后的1}2周是考核环节,学生对自己所做的项目进行公开答辩。答辩要求每个项目组以组长为主、以组员参与为辅的形式进行。每组答辩平均需10分钟左右,答辩内容分为学生自述、同学提问和教师提问三个步骤。通过答辩,不同项目组的同学可以了解其他项目组所做的题目、思路及使用到的技术,从而达到互相学习、互相借鉴、扬长补短的学习效果,实现在考试中学习、在学习中考试的目的。为保证公平性,答辩要求每一个被考核的学生都充当评委,对其他项目组进行评分,答辩最终成绩以学生打分和教师打分加权平均为准,这样更能够保证答辩的公平、公正。

(五)项目成果报告

每个项目组需将最终完成的设计或成果以纸质文档的形式上交给任课教师,该文档应达到以下要求:(1)项目完成后提交包含统一封面、内容框架和格式的最终设计报告。(2)报告正文应包含设计题目、设计目标(介绍所选的设计题目)、设计内容和步骤(包含概要设计、详细设计、流程图、运行效果截图),设计总结、参考文献等。(六)运行实践效果上述编程实践类课程的考核方法在笔者所在单位进行了两轮的教学实践,这种方法能够有效避免以往考核过程中出现的模糊空间,实现了一种可操作性较强的刚性考核,堵住了学生蒙混过关的可能。实践类课程对于高素质人才的培养至关重要,是人才培养环节中不可缺少的一环,如何才能通过有效的考核来提高教学效率是一个必须长期关注的问题。

参考文献:

[1张采芳,黄金刚.程序设计类课程考核方法研究[J].软件导刊,2015(2):165一167.

[2索望,昌燕,何林波.CD10模式下Java程序设计课程教学改革探索[J].计算机教育,2016(9);99-102.

[3孙康宁,张景德,李爱菊.高校工程实践教学改革的探究与实践[J1.山东高等教育,2015(1);38-43.

作者:申志军 郭玉波 单位:内蒙古农业大学计算机与信息工程学院

计算机相关课程考核,计算机专业编程实践类课程考核方法相关推荐

  1. 计算机动画专业要学什么课程,贵阳市计算机学校3D动画设计专业需要学哪些课程?...

    现在计算机的发展相信大家也是游牧共睹的,说到3D动画设计专业,如今也有不少同窗关于这个专业的就业开展,可能也是理解得并不怎样多的.今天九三教育招生办老师为大家讲解一下,贵阳计算机学校3D动画设计专业需 ...

  2. 0497计算机组成原理在线作业,0497《 综合实践活动课程设计》20秋西南大学在线作业答案...

    0497 综合实践活动课程设计 ) t9 U! \; N. I. l8 W0 Y( w1.[判断题] 综合实践活动课程应鼓励学生自己生成知识. 4 p3 s) z5 Y+ T, O& m无忧答 ...

  3. 计算机相关知识分享,计算机基础知识论文分享

    随着计算机技术的迅猛发展,应用网络技术已成为高校办学的一种必然.毕业设计是毕业生对自己在学校的所学知识的归纳和总结.下面是小编为大家整理的计算机基础知识论文,希望对大家有帮助. 计算机基础课程教学方法 ...

  4. 帝国理工学院计算机相关,帝国理工学院计算机

    帝国理工学院计算机 我们所有的计算机课程在前两年都遵循相同的结构.核心模块让您了解计算机的基本概念和原则.我们还提供了离散数学(逻辑.集合.关系和语法)的坚实背景,这是计算机的基础数学,以及与应用程序 ...

  5. 深度学习、机器学习方向计算机毕业设计题目大全(算法应用实践类)

    (吐血整理) 手动整理了1500多个深度学习及机器学习相关算法在实际应用中的项目,完全可以作为本科生当前较新的毕业设计题目选择方向.讲道理有些题目,比如"用户评分的隐式成分信息的研究&quo ...

  6. 计算机相关制度体系,计算机实验室管理制度范本

    为加强计算机实验室的管理,充分发挥计算机实验室的辅助教学作用,需要制定并实施相应的管理制度.学习啦小编今天为你整理了计算机实验室管理制度范本,希望对大家有帮助! 计算机实验室管理制度范本篇一 第一条 ...

  7. 计算机相关内容摘要,计算机专业文献摘要.doc

    计算机专业文献摘要 毕业设计(论文) 文献摘要 专业计算机科学与技术学生姓名班级BM计算机061学号0651410102指导教师 博 雅 学 院 ASP.NET动态网站开发技术实用教程]ASP.NET ...

  8. 实用计算机相关日语词汇,计算机编程类日语词汇(修正)

    1.しょうがい24.あたい47.レベル 障害障碍値level 2.はっせい25.インデックス48.インポート 発生index import 3.めいしょう26.メンバ49.アクセス 名称member ...

  9. 计算机相关实用新型专利,计算机类实用新型专利有哪些转让

    计算机类实用新型专利有哪些转让 分类:发明专利 发表时间:2019-07-26 11:32 计算机类专利技术中,实用新型专利是比较常见的一种,比起外观设计专利来说价值更高,比起发明专利来说,更容易申请 ...

  10. 计算机相关知识 摩尔,计算机基础知识试题及答案解析

    计算机基础知识试题及答案解析 下面是小编为你带来的计算机基础知识试题及答案解析 ,欢迎阅读. 1.1946年诞生的世界上公认的第一台电子计算机是( ). A)UNIVAC-I B)EDVAC C)EN ...

最新文章

  1. 如何自己实现一套EasyNVR这样的无插件流媒体服务器
  2. 云炬Android开发笔记 9主界面-通用底部导航设计与一键式封装
  3. 百度App Objective-C/Swift 组件化混编之路(一)
  4. BZOJ3139/BZOJ1306 HNOI2013比赛/CQOI2009循环赛(搜索)
  5. Redis源码:朴实无华且枯燥
  6. Java EE 8,当前状态是什么:自2015年底以来已完成工作的案例研究
  7. 局域网内数据采集总结(三)
  8. 为什么现在的人越来越容易离婚了?
  9. nginx的日志格式
  10. DeepStream参数配置之sink
  11. Centos之常见目录作用介绍
  12. Neo4j如何对大量数据-(千万节点及以上数据)进行加载入库
  13. c语言判断奇偶素数,用C语言如何判断素数
  14. 2022年上半年网络工程师下午真题及答案
  15. Spotfire 修改标记及颜色
  16. Cholesky Decomposition(Cholesky分解)
  17. 怎么制作gif动图,gif动态图怎么制作
  18. k8s可视化管理工具Rancher安装和使用
  19. python提取cad坐标_怎么提取cad中坐标?CAD批量提取坐标点的三种方法
  20. CMMI-3级kpa

热门文章

  1. 强烈推荐这 15 个网站!
  2. python Numpy中求向量和矩阵的范数
  3. Character类
  4. AUTOSAR-基本概念
  5. 华为任正非写的《致新员工书》
  6. php 外包 上海,== | php外包与php技术服务商
  7. css的sprites什么意思,CSS Sprites是什么
  8. prior 和 priori的区别
  9. Windows下Pidgin介绍/安装配置图文攻略
  10. 360全景倒车影像怎么看_倒车注意了!路证人360度全景倒车影像实时显示动态轨迹,轻松倒车泊车...