基于计算思维的C语言程序设计课程教学初探

2018-03-19 16:46陈广群胡晓蓉来敏健
电脑知识与技术 2018年4期
关键词:教学方案计算思维C语言

陈广群+胡晓蓉+来敏健

摘要:计算思维在计算机教育中的应用,越来越受到学界和教育界的关注。从现有研究工作中存在的问题和C语言程序设计课程教学过程中的痛点入手,提出了基于“模型构建”思想的C语言教学方案,阐述了计算思维在C语言教学中运用的必要性和可行性,分析了现有问题的逻辑层次关系,并以此为线索,从方案设计思想、方案实施框架、方案技术支撑等方面,讨论了基于计算思维教学方案的实施过程策略,提出了实施过程中需注意的问题及解决方法。

关键词:计算思维;C语言;教学方案

中图分类号:TP312.1-42 文献标识码:A 文章编号:1009-3044(2018)04-0128-02

Preliminary Exploration of C Language Programming Teaching Based on Computational Thinking

CHEN Guang-qun, HU Xiao-rong, LAI Min-jian

(Computer and Information Science Department,Yuzhang Normal University, Nanchang 330103, China)

Abstract: The application of computational thinking in computer education has attracted more and more attention from both academic and educational circles. This paper must begin from the process of teaching the existing problems and the research work of "C programming language" ,then and propose the C language teaching scheme Based on model construction. It expounds the necessity and feasibility of applying computational thinking in C language teaching and analyzes the existing problems of the logical hierarchy. These will be clues and discuss the implementation process of teaching plan Based on computational thinking from the design and implementation scheme of framework, technical support and other aspects, lastly put forward some problems needing attention in the implementation process and solutions.

Key words: computational thinking; C language; teaching plan

1 概述

國内外学者对于如何将计算思维应用于计算机教育改革这一问题[1],进行了深入的研究,产生了大量的研究成果。这些工作主要分为政策型研究和教学型研究两种。其中,政策型研究,主要是从宏观层面对面向计算思维计算机教育改革做前瞻性的研究,以其推进后续相关改革,其内容主要涉及具体实施方案、实施的客观条件、保障细节等多个方面。而教学性研究则主要是从具体的计算机教学过程入手,讨论如何在具体课程中,将计算思维融合到具体的教学活动中,其内容多是教学方案的创新。

目前的研究工作主要存在的问题:从研究对象方面,大部分研究工作都是针对计算机学科中某些基础性课程的研究,例如,C语言程序设计课程,和计算思维相关的研究很少。从动机方面,大部分的研究工作,都是基于计算思维的基本概念,通过直接外化的方式,提出具体的教学方案与流程。这种研究思路固然直观,但是,这种思路存在明显不足:没有根据教学内容的特殊性,对计算思维进行新的解构,使之适用于目标教学。从切入点方面,大部分研究都是选择通过解决具体的问题,来推进课程的教学过程。虽然,从教育学的角度,这种方式在存在一定程度上合理性;但是,从计算思维的角度来看,其背后的逻辑本质上还是一种工具思维。这些研究并没有足够重视计算思维是与计算机课程的教授内容之间存在的某种内在有机联系。从实施过程方面,将计算思维应用于计算机教学是有益的,学界和教育界也已经意识到这一点。但是相关研究要么是进行理论层面研究,要么是以过去教学经验为支撑,进行技术方案的探讨。看似百花齐放,实则各自为政,缺乏有效的量化方法,来实现对教学过程的动态评估,从而达到逐步改进教学质量的目的。

2 计算思维教学方案的问题分析

本文所提出的六个问题,并不是相互独立的,而是具有层次结构的。第一个问题(即“研究对象方面”)是关键。研究对象的选择实际上体现了对计算思维认识程度的深浅。事实上,计算思维教学的目标分为两个层次。一个是形成对计算思维的感性认识,其核心是了解计算思维的组成要件和核心概念。另一个是形成对计算思维的理性认识,其核心是如何利用计算思维指导我们解决实际问题,这也是现有的大多数研究所忽视的。余下的五个问题是教学过程中存在的问题,它们之间不是相互独立的,而是具有层次结构的。如图1所示,它们可以分为以下三个层次。首先是方案设计思想层次,它对应于第二个问题(即“研究动机方面”);其次是方案实施框架层次,它对应第三个问题(即“研究切入点方面”);方案技术支撑层次,它包含第四、五、六个问题。

3 計算思维教学方案

3.1 方案设计思想

计算思维是一种科学思维,与理论思维、实验思维一起构成了人类的三大思维[2]。但是,目前大多数研究工作都忽略了一个事实:计算思维过程本质上是对客观世界中的某种规律或者事物,进行模型构建。作为一门程序设计课程,C语言程序设计课程教学的终极目标可概括为:利用一系列多模态手段。从模型构建的这一新视角来看,那么C语言程序设计课程内容和计算思维的内涵具有很高的契合度。

3.2 方案实施框架

模型构建本质上是一种思维过程,其目的是实现对研究对象的仿真、模拟和预测。简单来讲,该思维过程包含以下几个要素。首先是系统变量抽象;然后是客观规律表达;最后是问题求解。相比之下,传统的C语言课程内容,是根据难易程度,递进式展开的。以谭浩强版《C语言程序设计》教材为例[3],其内容包括14章,它们分别是:(1)C语言概述;(2)程序的灵魂——算法;(3)数据类型、运算符与表达式;(4)最简单的C程序设计——顺序程序设计;(5)选择结构程序设计;(6)循环控制;(7)数组;(8)函数;(9)预处理命令;(10)指针;(11)结构体和共用体;(12)位运算;(13)文件;(14)常见错误和程序调试。共14个章节内容中涉及主要知识点,按照模型构建的三个要点,并结合C语言的特点,可重构为四个层次,如图2所示。第一个层次是抽象表达层,包括第3、7、10、11章,它的主要功能是实现对研究对象中的核心因素进行提取和抽象表达,其本质是数据结构。这种表达分为2个方面。其一,简单的直译型表达(对应于第3章)。其二,复杂事物的表达(对应于第7、10、11章)。当一个事物是通过多个属性表征的时候,利用结构体和共用体高耦合型的数据结构。而且,当遇到复杂的对象时,采用数组、指针等表达技巧。第二个层次逻辑表达层,包括第4、5、6章,这三个章节分别介绍三种原子型逻辑结构。第三个层次是问题求解层,包括第4章,该章节主要给出常见问题求解方法。第四个层次C语言特性层,包括第12、13、14章,这三章主要介绍C语言相比其它语言所独有的特点与功能。

对于逻辑表达层,同样包含两个教学重点。一个是各逻辑结构的等价性。例如,“while do”、“do while”以及“for”循环的异同和等价替换形式。另一个是特殊语法表达方式。如果“if”只有一句执行代码,可以省略“{}”。这两个重点中的第二个从工程实践的角度提出。教学经验发现,受教者对特殊语法的不熟悉会造成代码阅读困难。

对于问题求解层,在适度增加深度的同时,需对广度进行扩展。其中,深度的增加体现在引入数值计算的基础内容;广度的扩展体现在保留原有诸如递归、排序等经典算法的同时,引入基于迭代过程的学习算法思想。这个层次的两个重点是所有教学重点的核心。

3.3 方案技术支撑

本文提到的方案技术支撑,主要是针对两个问题提出解决方法。一个问题是,方案实施过程中,缺乏量化方法这一不足。在现有研究工作中,这一点较少被关注。

传统的教学过程,主要通过课堂讲解和课后作业结合的方法,来推动教学进度,加强教学效果。但这种方式很难及时地反馈受教者真实的学习状态和当前水平,从而造成不能根据作业情况,反向指导教学活动的改进。另一方面,字面作业或电子版作业,需要教学人员花费大量的精力来评判,教学周期缓慢,对于C语言程序设计大班授课的基础性课程效率很不划算。

针对以上问题,本文提出了以大数据分析为核心的WEB解决方案。该方案具有四方面的特点。其一,以一个教学周为周期,通过WEB发布题目和接收作业,减少作业的形式感,其主要功能是自动化完成数据的采样收集。其二,题目用英文表述,让受教者在英文环境中,通过增加接触频率,加深对专业术语和概念的理解。其三,面向解题过程,重新设计题目。其四,采用统计学工具,实现数据分析。

4 结论

计算思维能够和C语言程序设计教学进行有机的融合,通过对C语言教学目标中各个知识点的重新梳理和归纳,完全能够将计算思维的基本要点,很形象的表述出来。事实上,计算思维处于整个计算机学科的核心位置,它几乎囊括了该学科的

各个层面,通过C语言程序设计这门课程,希望达到对计算思维内涵较为全面的理解,略显单薄。因此,C语言程序设计课程必须和计算机学科的其它主干课程,进行有机整合,横向互联,才能实现对计算思维较好的诠释。

作为一种基于思维方式的训练,研究性学习方式,它符合计算机学科发展的趋势,也符合新时期教育培养目标,适合C语言程序设计课程,具有很强的生命力和前瞻性。

参考文献:

[1] 杨男才.基于计算思维的高中信息科技《算法与程序设计》教学探究[D].陕西,陕西师范大学,2013.

[2] 葛明珠.基于计算思维的协作学习模式在中学信息技术课程中的实践与研究[D].陕西,陕西师范大学,2014.

[3] 谭浩强.C语言程序设计[M].清华大学出版社,2005.

[4] 陈广群,孔发弟.案例教学法在C语言程序设计教学中的应用[J].南京广播电视大学学报,2013(3):85-87.

[5] 陈广群,孔发弟.C语言课堂教学改进初探[J].南京广播电视大学学报,2009(2):47-49.

猜你喜欢
教学方案计算思维C语言
基于Visual Studio Code的C语言程序设计实践教学探索
基于C语言的计算机软件编程
O2O模式下电子商务教学方案的设计与实施
浅谈"互联网+"时代高职院校电子商务O2O模式的实践教学方案及应用考核
高职高专院校C语言程序设计教学改革探索
程序设计课程中计算思维和应用能力培养问题研究
论子函数在C语言数据格式输出中的应用