陈洁 吴修国
摘 要: 在各专业对信息技术需求不断提高的背景下,文章分析了当前计算机基础教学普遍存在的困境和原因,通过一个省级精品课程群的建设和研究成果,介绍了将信息技术与专业知识融合的基于案例驱动的计算机基础课程教学模式的建设经验和心得,并对在计算机基础教学框架中引入计算思维的意义进行了初步探讨。
关键词: 课程建设; 计算机基础教学; 教学改革; 计算思维
中图分类号:TP39;G202 文献标志码:A 文章编号:1006-8228(2018)09-75-04
Abstract: In the context of increasing demand for information technology in various professions, this article analyzes the current predicament and its causes in basic computer education. Through the construction and research results of a provincial-quality course group, the experience of building a case-driven computer-based curriculum teaching mode that integrates information technology and professional knowledge is introduced. The significance of introducing computing thinking in the basic computer teaching framework is discussed.
Key words: course construction; basic computer teaching; teaching reform; computational thinking
0 引言
信息技术与各专业不断融合是当今时代的发展趋势,各专业对于计算机基础教学的内容和深度要求越来越高。自本世纪初开始国内外高校都存在两个变革趋势,一是将更多的计算机理论引入到计算机相关专业和非计算机专业的培养方案中,二是将计算机基础教学与专业教学融合[4]。
目前高校的理工、经管、社科、人文等几乎全部的专业都对计算机基础教育有一定的要求,但在内容和程度方面存在很大差别。理工和经管类专业对信息技术的要求越来越高,培养方案和教学理念都在不断变革。计算机相关专业的计算机基础教学,大致经历了三个阶段:从开始的面向操作技能培养到逐步引入计算机基础理论,从重视理论教学到重视“计算思维”的培养[1,7-9]。
笔者在财经类普通高等院校从事计算机基础教学近三十年,开设过十几门计算机基础课和专业课,曾经担任八年信息管理学院教学院长,负责制定全校50多个不同专业的计算机基础教学培养方案和课程建设(其中多数为经管类专业,少数为人文社科类专业,个别为理工类专业)。为了追赶信息技术的知识更新速度,我们的教学团队每二年对培养方案进行一次微调,每四年进行一次大调整,而某些具体课程的教学大纲几乎是年年更新。正如何钦铭教授所说:“如何在有限的教学时间内完成内容宽广的大学计算机基础教学目标,仍然是近年来困扰广大从事大学计算机基础教学的教师的核心问题”[2,5]。我们教学团队面对全校4万多不同专业的本科生,多年来一直进行着计算机基础教学的教研与教改,希望通过本文与同行分享我们的心得和困惑,共同思考和探索解決之道。
1 困境和思考
我校的信息管理与信息系统专业有一个软件外包培养方向,按照校企合作的要求,在4年的培养方案中设置了大量的计算机基础课程,开设了程序设计语言、数据结构、计算机网络和数据库等课程。3年前我们对该专业首届毕业班进行了一次调研,结果只有22%的学生对今后从事专业对口的软件外包工作感兴趣,大部分学生将从事与计算机相关性很小的工作。还有一个工程管理专业,在我们进行了国内高校的调研之后,确定规划两个培养方向,一个是以土木工程为背景的工程管理方向,另一个是以软件工程为背景的工程管理方向。由于人才市场和师资因素,我们本希望有更多的学生选择后者,并且专门对学生进行了动员(在大二的下学期要求每个同学根据自己的兴趣选择专业学习的方向)。结果该专业全体学生选择了前者。
信息技术无疑对各学科各专业越来越重要,也越来越受到重视。计算机基础教学可以分为四个层次。首先受众最多的是通识教育,几乎全部专业都需要。其次是那些应用信息技术较多的专业,需要学习一些专业的数据处理软件和编程语言(这类专业将越来越多,如上述的工程管理专业)。再次是计算机相关专业的计算机基础教学,在深度和广度上都有较高的要求(包括许多理工类专业,如上述信息管理与信息系统专业)。最高层次是计算机学科各专业的计算机教学。在培养方案设计中,根据不同层次的要求,将计算机基础课设置为通识、选修、辅修、主修等课程类别,同时根据专业差异对各课程内容和难度也进行适当调整。
在过去的三十年中,计算机科学技术是所有学科中发展最快、影响最广的学科,没有之一。计算机基础教学一直处于与时俱进的发展和演进中。尽管如此,教学内容还是会或多或少地滞后于学科发展和社会需求。教材教学内容和教学改革一直在教师、学生和社会之间的互动过程中不断更新和进行,期间经历了许多的纠结和困境。
有些课程是入门比较容易,但深入理解却比较困难(如当下最热门的python程序设计语言)。而有些课程入门较难,但是一旦入门就比较容易进行自主学习(如互联网技术)。多数人文社科课程、经济管理课程属于前者,即使学生有不少难点暂时不理解,通过死记硬背也可以初步掌握基本知识。但多数计算机基础课程属于后者,如C++、JAVA程序设计语言,即使背过所有的定义和语法,死记硬背各种程序,如果不能理解,还是没有学懂没有入门。理工类课程的特点是知识之间的关联度高,往往一步跟不上处于被动地位,追赶起来非常困难,而一旦理解领会了精髓,后续的学习比较容易自主进行。也就是说,在学习的初期,计算机基础课程较一般的经管类课程的入门难、门槛高、学习曲线陡。对于理工类专业或计算机专业不存在这类问题。我们的信息管理与信息系统、物流管理、电子商务等专业,都需要较强的信息技术的支持,我们的培养目标是既懂管理又懂信息技术的高级专业技术人才。但是几届学生普遍的结果是,大多数学生基本放弃了信息技术的学习,转向了管理方向。究其原因,是学习信息技术的门槛比学习管理专业课的门槛高,多数同学知难而退,选择在相对容易的领域发展。我们必须承认不同专业在思维方式上是存在差异的。
面对全校各专业的计算机基础教学,我们首先要根据各专业培养目标确定开设哪些计算机基础课程以及这些课程的性质(通识、选修、必修等),其次是修订各课程的教学大纲,再次是课堂教学、实验教学、课程设计、题库等各个教学环节的课程建设工作。通识课和对信息技术要求不高的专业开设的计算机基础课程是比较容易处理的,已经有相当多的经验和模式可供借鉴。问题主要集中在信息技术相关专业的计算机基础课程的教学上。
很多信息技术相关专业是学校新上专业,有些是国务院学位委员会新设专业,如电子商务、物流管理等,这些专业通常是经济管理和信息技术的结合,培养相关领域的技术管理人才。这些专业需要开设大量的经管类课程和信息技术课程。各专业对计算机基础课程的重视程度不同,兴趣点和精力投入的差异也很大。在课时量和教学内容的深度上不容易把握平衡。存在着两个极端的认识,一是计算机“狭隘工具论”,认为计算机不过是一个高效率的工具,对本专业的基本框架没有本质影响。另一个“泛计算机化”,过度迷信信息技术对专业的影响。
从学生层面看,计算机相关专业的总课时量一般都比较多,他们既要学习本专业的知识又要学习计算机知识。如会计电算化专业,他们学习会计专业课程的深度不如会计专业,开设的计算机课程更不如计算机软件专业,但是他们的总课时量却高于这两个专业。人的精力是有限的,该专业的普通同学会有这样一种挫败感,会计方面不如专业学会计的,信息技术方面不如学计算机的。
对于非理工类学生,计算机基础课程难度相对较大。加之压缩课时量,减少实验课,师生比小(一个自然班约50人)等因素,导致多数学生的计算机学习不仅没有入门,反而增添了畏惧感。不敢做题、不敢大胆编程,没有求知欲,只是在死记硬背的恶性循环中勉强应对考试。
2 一个成功的探索
计算机相关专业的计算机教学不能等同于计算机专业的计算机教学,也不是通识教育层面的教学。我们的切入点是如何让信息技术能够真正为专业工作服务。“经管类IT支撑课程群”便是在上述背景下立项的一个省级精品课程项目[6]。教育部高校电子商务专业教学指导委员会副主任李琪教授认为,类似信息管理与信息系统、电子商务等经管类专业,IT课程量应占总课程量1/3左右[3]。以此为依据。我们将JAVA,C++(C#),数据结构,数据库,WEB应用与开发等5门各专业共同的专业基础课组织在一起,由教学团队进行统一的课程建设,通过系统地学习这组IT基础课程,基本能够支撑经管类各专业对于信息技术的需求。
原本上述课程都有自己的课程大纲、教案、课件、实验教程,甚至题库等,但课程之间的衔接存在一些缝隙,不同课程存在不少重复介绍的知识。如程序设计语言课程重复介绍面向对象程序设计方法论,不同课程课后练习题类似和相同等。为此,教学团队决心将这一课程群打造成为一个有机整体,支撑经管类各专业的IT培养需求。对课程群进行统一建设可以系统地解决一些问题,可以更高效地利用课堂教学和实验教学的时间。
该项目的亮点之一是精心选择课程的教学案例,尽可能为不同的专业选择与专业相关的信息技术案例,这些由浅入深的案例便于学生的理解,提高学生的学习兴趣,同时在专业学习上也有一定的获得。多数经管类专业属于文理交叉学科,许多学生的动手能力不强。我们设计的基于案例驱动的教学模式,是建立在建构主义学习理论基础上的,同時也有利于培养自学能力和自主解决问题的能力。
为了适应被压缩的课时(如数据结构只有54学时课堂教学,36学时实验教学),我需要减少教学内容,降低难度。以课程群为单位优化课程体系,在一定程度上可以补偿教学内容的不足。为了实现课程群中各门课程间的无缝连接。我们将整个课程群的教学内容当作一门课程看待,进行系统和统一的设计。裁剪掉重复的教学内容,对于相近的教学内容采取前详后略的原则。设计统一的教学案例系列,教学案例尽可能融入各种经济管理中的模型和方法,以适合经管类学生的特点。每个教学案例具有独立性,前后案例之间具有连续性和过渡性。某些教学案例之间具有一定的关联,若干教学案例组合在一起能够形成一个相对完整的小系统,这些小系统可以进一步作为课程设计和学年论文的内容。
总之,对于计算机相关专业的计算机基础课程的教学,我们的观点是应当尽可能早地将专业知识与信息技术进行融合。让学生深刻体会信息技术对于专业工作的重要价值。
3 依然存在的问题
信息技术与专业知识融合式教学改革,需要占用更多的教学资源。除了需要对教学内容进行重新梳理和调整,还需要进行师资队伍建设。我们要求讲授计算机基础课程的老师也要掌握学生所学的专业知识,尤其是对于一些新上专业,这个要求是有一定难度的。其次是学生的学习资源问题。计算机基础课程教学一般包含课堂教学和实验教学,一个班的人数是50人左右,每个同学的学习都有一些特殊性,课堂教学中的互动和实验室个别问题的辅导都需要每个学生独占老师的时间。操作性很强的计算机课程就像英语课一样,只有小班上课(20人左右)才能取得较好的教学效果。如果计算机基础课程采取以专业案例为驱动的教学模式,在师资队伍和师生比方面都需要大幅度改进。
计算机相关专业的学生,实际上是在同样的学习周期内需要面对两个专业的学习,一个是本专业,另一个是计算机科学。两个专业的跨度越大,学生对于计算机科学的学习难度就越大,两个专业的教学融合就非常困难。我们发现很多高年级同学会直接放弃计算机课程的学习,对学习信息技术完全失去了信心。计算机相关专业的学生对于计算机课程的学习,两级分化情况非常严重。那些成绩优异的学生对学习信息技术投入的精力和热情甚至远远超过了对专业课的学习,这个极端同样也偏离了我们的培养目标。
4 新的教改目标
我们对于计算机基础课程的教改目标,就是将信息技术与每个具体的专业教育融合、融合、再融合。信息技术发展迅速,程序设计语言在发展,新架构、新范式不断涌现。计算机基础课教学不但要适应不同专业的要求,也需要不断更新教学内容,介绍社会上流行的新技术和新模式。另一方面,我们也迫切需要计算机基础课程的教学内容、教学方法具有相对的稳定性,对各个专业教学的核心内容具有一定的不变性。我们需要寻找一个以不变应万变的原则。
教育部高等学校大学计算机课程教学指导委员会认为:“系统地将计算思维落实到大学计算机基础教学中,应当尽快地建立计算思维的表述体系”[8-10]。计算思维(Computational Thinking)由美国卡内基·梅隆大学计算机科学系主任周以真(Jeannette M. Wing)教授2006年3月在美国计算机权威期刊《Communications of the ACM》杂志上首次给出[7],周教授认为:计算思维是运用计算机科学的基础概念进行问题求解、系统设计、以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。
我们认为计算思维是一种不同于数学思维、工程思维、逻辑思维的思维模式,具有其独有的特征。计算思维本质上是一种机器思维,即机器如何自动解决问题的方法和过程。以往的人类更多的是与自然打交道。下一代人类必将越来越多地与机器打交道,特别是与具有智能的机器打交道。无论是对客观世界的理解、问题求解,还是知识创造等方面,计算思维都具有重要作用。所以建立和培养计算思维是计算机基础教育的一个重要使命。
我们下一步的教改目标,就是建立以培养计算思维为核心理念的面向非计算机专业的计算机基础教学体系,建立“以抽象、自动化、设计、通信、协作、记忆、评估为基本概念的带有层次结构的计算思维表述体系框架”[8],并逐步向新的教学体系过渡。
5 结束语
计算机相关专业对计算机学科的教学需求正在不断提升,这需要在有限的课时分配条件下完成越来越多的教学任务,同时还要保障教学质量。对此困境我们采用了基于任务驱动的案例教学法,整合了经管类各专业的经典案例,以专业为基础有针对性地组织教学内容,通过建设经管类IT课程群,有意识地培养非计算机专业学生的计算思维,在提高教学质量的同时缓解了教师和学生的教学和学习压力,经过几年的努力,收效显著。
参考文献(References):
[1] 九校联盟(C9)计算机基础教学发展战略联合声明[J].中国大学教学,2010.9.
[2] 何钦铭,陆汉权,冯博琴.计算机基础教学的核心任务是计算思维能力的培养--《九校联盟(C9)计算机基础教学发展战略联合声明》解读.中国大学教学,2010.9.
[3] 李琪.高校电子商务专业教学改革与发展.高等学校电子商务专业发展与教学研讨会,2011.
[4] 程向前.计算机基础教学如何与专业相结合[J].计算机教育,2012.1.
[5] 陆汉权,何钦铭,徐镜春,基于计算思维的“大学计算机基础”课程教学内容设计[J].中国大学教学,2012.9.
[6] http://web5.sdufe.edu.cn/jpkc2012/it2012/courseGroup/default.htm
[7] Jeannette M. Wing. Computational Thinking[J]. Commu-nications of ACM,2006.49(3).
[8] 陈国良,董荣胜.计算思维的表述體系[J].中国大学教学,2013.12.
[9] 陈国良,董荣胜.计算思维与大学计算机基础教育[J].中国大学教学,2011.1.
[10] 嵩天,李凤霞,蔡强,李仲君,史树敏.面向计算思维的大学计算机基础课程教学内容改革[J].计算机教育,2014.2.