陳廣群+胡曉蓉+來(lái)敏健
摘要:計(jì)算思維在計(jì)算機(jī)教育中的應(yīng)用,越來(lái)越受到學(xué)界和教育界的關(guān)注。從現(xiàn)有研究工作中存在的問題和C語(yǔ)言程序設(shè)計(jì)課程教學(xué)過程中的痛點(diǎn)入手,提出了基于“模型構(gòu)建”思想的C語(yǔ)言教學(xué)方案,闡述了計(jì)算思維在C語(yǔ)言教學(xué)中運(yùn)用的必要性和可行性,分析了現(xiàn)有問題的邏輯層次關(guān)系,并以此為線索,從方案設(shè)計(jì)思想、方案實(shí)施框架、方案技術(shù)支撐等方面,討論了基于計(jì)算思維教學(xué)方案的實(shí)施過程策略,提出了實(shí)施過程中需注意的問題及解決方法。
關(guān)鍵詞:計(jì)算思維;C語(yǔ)言;教學(xué)方案
中圖分類號(hào):TP312.1-42 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):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 概述
國(guó)內(nèi)外學(xué)者對(duì)于如何將計(jì)算思維應(yīng)用于計(jì)算機(jī)教育改革這一問題[1],進(jìn)行了深入的研究,產(chǎn)生了大量的研究成果。這些工作主要分為政策型研究和教學(xué)型研究?jī)煞N。其中,政策型研究,主要是從宏觀層面對(duì)面向計(jì)算思維計(jì)算機(jī)教育改革做前瞻性的研究,以其推進(jìn)后續(xù)相關(guān)改革,其內(nèi)容主要涉及具體實(shí)施方案、實(shí)施的客觀條件、保障細(xì)節(jié)等多個(gè)方面。而教學(xué)性研究則主要是從具體的計(jì)算機(jī)教學(xué)過程入手,討論如何在具體課程中,將計(jì)算思維融合到具體的教學(xué)活動(dòng)中,其內(nèi)容多是教學(xué)方案的創(chuàng)新。
目前的研究工作主要存在的問題:從研究對(duì)象方面,大部分研究工作都是針對(duì)計(jì)算機(jī)學(xué)科中某些基礎(chǔ)性課程的研究,例如,C語(yǔ)言程序設(shè)計(jì)課程,和計(jì)算思維相關(guān)的研究很少。從動(dòng)機(jī)方面,大部分的研究工作,都是基于計(jì)算思維的基本概念,通過直接外化的方式,提出具體的教學(xué)方案與流程。這種研究思路固然直觀,但是,這種思路存在明顯不足:沒有根據(jù)教學(xué)內(nèi)容的特殊性,對(duì)計(jì)算思維進(jìn)行新的解構(gòu),使之適用于目標(biāo)教學(xué)。從切入點(diǎn)方面,大部分研究都是選擇通過解決具體的問題,來(lái)推進(jìn)課程的教學(xué)過程。雖然,從教育學(xué)的角度,這種方式在存在一定程度上合理性;但是,從計(jì)算思維的角度來(lái)看,其背后的邏輯本質(zhì)上還是一種工具思維。這些研究并沒有足夠重視計(jì)算思維是與計(jì)算機(jī)課程的教授內(nèi)容之間存在的某種內(nèi)在有機(jī)聯(lián)系。從實(shí)施過程方面,將計(jì)算思維應(yīng)用于計(jì)算機(jī)教學(xué)是有益的,學(xué)界和教育界也已經(jīng)意識(shí)到這一點(diǎn)。但是相關(guān)研究要么是進(jìn)行理論層面研究,要么是以過去教學(xué)經(jīng)驗(yàn)為支撐,進(jìn)行技術(shù)方案的探討。看似百花齊放,實(shí)則各自為政,缺乏有效的量化方法,來(lái)實(shí)現(xiàn)對(duì)教學(xué)過程的動(dòng)態(tài)評(píng)估,從而達(dá)到逐步改進(jìn)教學(xué)質(zhì)量的目的。
2 計(jì)算思維教學(xué)方案的問題分析
本文所提出的六個(gè)問題,并不是相互獨(dú)立的,而是具有層次結(jié)構(gòu)的。第一個(gè)問題(即“研究對(duì)象方面”)是關(guān)鍵。研究對(duì)象的選擇實(shí)際上體現(xiàn)了對(duì)計(jì)算思維認(rèn)識(shí)程度的深淺。事實(shí)上,計(jì)算思維教學(xué)的目標(biāo)分為兩個(gè)層次。一個(gè)是形成對(duì)計(jì)算思維的感性認(rèn)識(shí),其核心是了解計(jì)算思維的組成要件和核心概念。另一個(gè)是形成對(duì)計(jì)算思維的理性認(rèn)識(shí),其核心是如何利用計(jì)算思維指導(dǎo)我們解決實(shí)際問題,這也是現(xiàn)有的大多數(shù)研究所忽視的。余下的五個(gè)問題是教學(xué)過程中存在的問題,它們之間不是相互獨(dú)立的,而是具有層次結(jié)構(gòu)的。如圖1所示,它們可以分為以下三個(gè)層次。首先是方案設(shè)計(jì)思想層次,它對(duì)應(yīng)于第二個(gè)問題(即“研究動(dòng)機(jī)方面”);其次是方案實(shí)施框架層次,它對(duì)應(yīng)第三個(gè)問題(即“研究切入點(diǎn)方面”);方案技術(shù)支撐層次,它包含第四、五、六個(gè)問題。
3 計(jì)算思維教學(xué)方案
3.1 方案設(shè)計(jì)思想
計(jì)算思維是一種科學(xué)思維,與理論思維、實(shí)驗(yàn)思維一起構(gòu)成了人類的三大思維[2]。但是,目前大多數(shù)研究工作都忽略了一個(gè)事實(shí):計(jì)算思維過程本質(zhì)上是對(duì)客觀世界中的某種規(guī)律或者事物,進(jìn)行模型構(gòu)建。作為一門程序設(shè)計(jì)課程,C語(yǔ)言程序設(shè)計(jì)課程教學(xué)的終極目標(biāo)可概括為:利用一系列多模態(tài)手段。從模型構(gòu)建的這一新視角來(lái)看,那么C語(yǔ)言程序設(shè)計(jì)課程內(nèi)容和計(jì)算思維的內(nèi)涵具有很高的契合度。
3.2 方案實(shí)施框架
模型構(gòu)建本質(zhì)上是一種思維過程,其目的是實(shí)現(xiàn)對(duì)研究對(duì)象的仿真、模擬和預(yù)測(cè)。簡(jiǎn)單來(lái)講,該思維過程包含以下幾個(gè)要素。首先是系統(tǒng)變量抽象;然后是客觀規(guī)律表達(dá);最后是問題求解。相比之下,傳統(tǒng)的C語(yǔ)言課程內(nèi)容,是根據(jù)難易程度,遞進(jìn)式展開的。以譚浩強(qiáng)版《C語(yǔ)言程序設(shè)計(jì)》教材為例[3],其內(nèi)容包括14章,它們分別是:(1)C語(yǔ)言概述;(2)程序的靈魂——算法;(3)數(shù)據(jù)類型、運(yùn)算符與表達(dá)式;(4)最簡(jiǎn)單的C程序設(shè)計(jì)——順序程序設(shè)計(jì);(5)選擇結(jié)構(gòu)程序設(shè)計(jì);(6)循環(huán)控制;(7)數(shù)組;(8)函數(shù);(9)預(yù)處理命令;(10)指針;(11)結(jié)構(gòu)體和共用體;(12)位運(yùn)算;(13)文件;(14)常見錯(cuò)誤和程序調(diào)試。共14個(gè)章節(jié)內(nèi)容中涉及主要知識(shí)點(diǎn),按照模型構(gòu)建的三個(gè)要點(diǎn),并結(jié)合C語(yǔ)言的特點(diǎn),可重構(gòu)為四個(gè)層次,如圖2所示。第一個(gè)層次是抽象表達(dá)層,包括第3、7、10、11章,它的主要功能是實(shí)現(xiàn)對(duì)研究對(duì)象中的核心因素進(jìn)行提取和抽象表達(dá),其本質(zhì)是數(shù)據(jù)結(jié)構(gòu)。這種表達(dá)分為2個(gè)方面。其一,簡(jiǎn)單的直譯型表達(dá)(對(duì)應(yīng)于第3章)。其二,復(fù)雜事物的表達(dá)(對(duì)應(yīng)于第7、10、11章)。當(dāng)一個(gè)事物是通過多個(gè)屬性表征的時(shí)候,利用結(jié)構(gòu)體和共用體高耦合型的數(shù)據(jù)結(jié)構(gòu)。而且,當(dāng)遇到復(fù)雜的對(duì)象時(shí),采用數(shù)組、指針等表達(dá)技巧。第二個(gè)層次邏輯表達(dá)層,包括第4、5、6章,這三個(gè)章節(jié)分別介紹三種原子型邏輯結(jié)構(gòu)。第三個(gè)層次是問題求解層,包括第4章,該章節(jié)主要給出常見問題求解方法。第四個(gè)層次C語(yǔ)言特性層,包括第12、13、14章,這三章主要介紹C語(yǔ)言相比其它語(yǔ)言所獨(dú)有的特點(diǎn)與功能。
對(duì)于邏輯表達(dá)層,同樣包含兩個(gè)教學(xué)重點(diǎn)。一個(gè)是各邏輯結(jié)構(gòu)的等價(jià)性。例如,“while do”、“do while”以及“for”循環(huán)的異同和等價(jià)替換形式。另一個(gè)是特殊語(yǔ)法表達(dá)方式。如果“if”只有一句執(zhí)行代碼,可以省略“{}”。這兩個(gè)重點(diǎn)中的第二個(gè)從工程實(shí)踐的角度提出。教學(xué)經(jīng)驗(yàn)發(fā)現(xiàn),受教者對(duì)特殊語(yǔ)法的不熟悉會(huì)造成代碼閱讀困難。
對(duì)于問題求解層,在適度增加深度的同時(shí),需對(duì)廣度進(jìn)行擴(kuò)展。其中,深度的增加體現(xiàn)在引入數(shù)值計(jì)算的基礎(chǔ)內(nèi)容;廣度的擴(kuò)展體現(xiàn)在保留原有諸如遞歸、排序等經(jīng)典算法的同時(shí),引入基于迭代過程的學(xué)習(xí)算法思想。這個(gè)層次的兩個(gè)重點(diǎn)是所有教學(xué)重點(diǎn)的核心。
3.3 方案技術(shù)支撐
本文提到的方案技術(shù)支撐,主要是針對(duì)兩個(gè)問題提出解決方法。一個(gè)問題是,方案實(shí)施過程中,缺乏量化方法這一不足。在現(xiàn)有研究工作中,這一點(diǎn)較少被關(guān)注。
傳統(tǒng)的教學(xué)過程,主要通過課堂講解和課后作業(yè)結(jié)合的方法,來(lái)推動(dòng)教學(xué)進(jìn)度,加強(qiáng)教學(xué)效果。但這種方式很難及時(shí)地反饋受教者真實(shí)的學(xué)習(xí)狀態(tài)和當(dāng)前水平,從而造成不能根據(jù)作業(yè)情況,反向指導(dǎo)教學(xué)活動(dòng)的改進(jìn)。另一方面,字面作業(yè)或電子版作業(yè),需要教學(xué)人員花費(fèi)大量的精力來(lái)評(píng)判,教學(xué)周期緩慢,對(duì)于C語(yǔ)言程序設(shè)計(jì)大班授課的基礎(chǔ)性課程效率很不劃算。
針對(duì)以上問題,本文提出了以大數(shù)據(jù)分析為核心的WEB解決方案。該方案具有四方面的特點(diǎn)。其一,以一個(gè)教學(xué)周為周期,通過WEB發(fā)布題目和接收作業(yè),減少作業(yè)的形式感,其主要功能是自動(dòng)化完成數(shù)據(jù)的采樣收集。其二,題目用英文表述,讓受教者在英文環(huán)境中,通過增加接觸頻率,加深對(duì)專業(yè)術(shù)語(yǔ)和概念的理解。其三,面向解題過程,重新設(shè)計(jì)題目。其四,采用統(tǒng)計(jì)學(xué)工具,實(shí)現(xiàn)數(shù)據(jù)分析。
4 結(jié)論
計(jì)算思維能夠和C語(yǔ)言程序設(shè)計(jì)教學(xué)進(jìn)行有機(jī)的融合,通過對(duì)C語(yǔ)言教學(xué)目標(biāo)中各個(gè)知識(shí)點(diǎn)的重新梳理和歸納,完全能夠?qū)⒂?jì)算思維的基本要點(diǎn),很形象的表述出來(lái)。事實(shí)上,計(jì)算思維處于整個(gè)計(jì)算機(jī)學(xué)科的核心位置,它幾乎囊括了該學(xué)科的
各個(gè)層面,通過C語(yǔ)言程序設(shè)計(jì)這門課程,希望達(dá)到對(duì)計(jì)算思維內(nèi)涵較為全面的理解,略顯單薄。因此,C語(yǔ)言程序設(shè)計(jì)課程必須和計(jì)算機(jī)學(xué)科的其它主干課程,進(jìn)行有機(jī)整合,橫向互聯(lián),才能實(shí)現(xiàn)對(duì)計(jì)算思維較好的詮釋。
作為一種基于思維方式的訓(xùn)練,研究性學(xué)習(xí)方式,它符合計(jì)算機(jī)學(xué)科發(fā)展的趨勢(shì),也符合新時(shí)期教育培養(yǎng)目標(biāo),適合C語(yǔ)言程序設(shè)計(jì)課程,具有很強(qiáng)的生命力和前瞻性。
參考文獻(xiàn):
[1] 楊男才.基于計(jì)算思維的高中信息科技《算法與程序設(shè)計(jì)》教學(xué)探究[D].陜西,陜西師范大學(xué),2013.
[2] 葛明珠.基于計(jì)算思維的協(xié)作學(xué)習(xí)模式在中學(xué)信息技術(shù)課程中的實(shí)踐與研究[D].陜西,陜西師范大學(xué),2014.
[3] 譚浩強(qiáng).C語(yǔ)言程序設(shè)計(jì)[M].清華大學(xué)出版社,2005.
[4] 陳廣群,孔發(fā)弟.案例教學(xué)法在C語(yǔ)言程序設(shè)計(jì)教學(xué)中的應(yīng)用[J].南京廣播電視大學(xué)學(xué)報(bào),2013(3):85-87.
[5] 陳廣群,孔發(fā)弟.C語(yǔ)言課堂教學(xué)改進(jìn)初探[J].南京廣播電視大學(xué)學(xué)報(bào),2009(2):47-49.