?

螺旋模式下非計算機專業程序設計課程中計算思維的培養

2018-01-04 11:35盧文偉夏其表
計算機時代 2018年11期
關鍵詞:非計算機專業項目設計螺旋式

盧文偉 夏其表

摘 要: 程序設計是大學非計算機專業重要的計算機類課程,其中計算思維的培養是非計算機專業程序設計課程的主要目的。文章針對非計算機專業學生在學習程序設計課程中存在的問題,提出了基于螺旋式的教學模式下,以階段性項目設計為主體的程序設計課程中計算思維的培養方案。該研究通過對各階段課堂的合理安排與優化,讓學生在掌握編程技能的同時能更好地理解計算思維。

關鍵詞: 程序設計; 計算思維; 非計算機專業; 螺旋式; 項目設計

中圖分類號:G642 文獻標志碼:A 文章編號:1006-8228(2018)11-79-02

Abstract: Program design is an important computer course for non-computer specialty in colleges, and the training of computational thinking is the main purpose of programming courses to non-computer majored student. With the analysis of the problems in learning programming, in this paper, the spiral-model based teaching method is proposed which trains the computational thinking to non-computer majored student by designing projects phase by phase in programming courses. The students can master the programming skill, and meanwhile, understand computational thinking by the reasonable arrangement in each stage of the course.

Key words: program design; computational thinking; non-computer specialty; spiral model; project design

0 引言

計算機程序設計作為大學通識教育的重要課程,其主要目的不僅僅是使得大學生能夠掌握計算機的基本知識,熟悉編程技能,更重要的是培養大學生具備計算的思維方式[1]。不同于傳統基于邏輯的理論思維和基于實證的實驗思維,計算思維以從抽象到設計、從構造到編程實現的計算方式對問題進行基于構造思維的研究[2]。隨著計算機科學與技術的不斷發展,人們對自然現象與規律的研究越來越依賴于相應的計算模式[3],如:計算物理、計算仿真等等。然而,常規的計算機程序課堂往往只注重于對學生編程技能的培養,特別是在針對非計算機專業的程序設計通識課程中,由于課時緊張,基礎相對薄弱,要培養學生的計算思維方式就顯得任重道遠。

螺旋模式的教學是將整個課程合理地設置為若干個階段,以特定的學習目標為契機,將每一階段學習內容與目標建立在另一個階段的分析與整合之上,從整化零,又由零歸整。在簡單的學習與復雜的整合間反復進行,前一階段是后一階段的基礎,后一階段是前一階段的發展,螺旋向上,逐步達到既定目標[4]。計算思維的培養無法一蹴而就,也無法通過簡單的程序設計案例的教學與實踐達到目標,其需要通過對能體現計算思維的問題或項目進行不斷分析、整合,在反復向上的學習過程中激發學生興趣,理解計算思維的含義。在綜合分析學生學情與課程現狀的基礎上,研究在面向非計算機專業的程序設計課程(以c語言為例)中,以項目化、模塊化為向導,利用螺旋模式的課程發展方式,層層引導,最終實現對學生計算思維的培養。

1 螺旋模式下的計算思維培養

由于非計算機專業的學生面臨所在的專業課程多,程序設計學習時間緊,且學習時間呈現碎片化等問題。在以項目化、模塊化為向導,進行螺旋式教學時,項目的設計需要符合學生學習所處階段的難度,并且模塊量不宜太大,以能在3到5次課完成為宜。以下,以程序流程控制的教學階段為學習目標,設計相關項目及功能模塊,對螺旋模式下的計算思維培養課堂方式進行闡述與分析。

1.1 結合計算思維的項目設計與模塊分解

在結合計算思維的教學過程中,為充分發揮螺旋式的課程體系與方式,當課程處于程序流程控制的教學階段時,設計如圖1所示項目進行教學與實踐。這是一個簡單的“猜數字”與“猜大小”的游戲項目,該項目既符合螺旋式的教學方法,也有助于在設計過程中逐步理解計算思維,同時,該項目具備一定的娛樂性和實用性,有助于激發學生的學習興趣。

在如圖1的項目中,為更好實現螺旋式教學,首先,對項目進行功能模塊的分解與說明,主要包括如下模塊。

⑴ 登錄模塊:用于用戶登錄,只有登錄成功才能進入功能界面,有3次密碼輸入機會,如果3次密碼輸入錯誤,結束程序。

⑵ 選擇模塊:給出3個選項,選“1”進入“猜數字”模塊,選“2”進入“猜大小”模塊,選“3”則“退出程序”,選擇其他數字提示“輸入錯誤”并重新輸入。

⑶ 猜數字模塊:這是一個簡單的猜數字游戲,隨機產生一個[10,99]之間的整數,用戶猜測該數字,共5次機會,每次的猜測會提示“太大”、“太小”或“猜對了”。

⑷ 猜大小模塊:隨機產生一個[1,6]之間整數,1~3表示“小”,4~6代表“大”,用戶猜測隨機產生的數為“大”或“小”,并顯示結果。

1.2 螺旋式課堂設計與階段分解

在體現計算思維的螺旋式教學過程中,核心是如何進行課堂的計算思維化設計以及各階段間的螺旋式關聯。針對上述設計的項目及模塊,本節進行相關的課堂設計與分析。

如表1所示,該項目的設計是基于流程控制的教學階段,對于該項目,將其分解為三個課堂子階段,分別為項目架構及解析、模塊分解與實現、項目整合及總結,各子階段間互為基礎與提升,體現螺旋式的課堂方式。

在進行課堂設計時,采用理論與實踐的交叉模式,便于學生掌握編程技能的同時,積極探索,主動思考,理解計算思維。在第1個子階段中,首先對問題進行抽象化,以計算思維方式對項目整體框架和流程進行系統的分析。具體的流程分析如圖2所示,將問題進行抽象化處理,并且在功能模塊選擇中引入if或switch選擇語句。該階段主要以理論分析為主,適當結合實踐操作。在第2個子階段中,將各功能模塊單獨提取并實現。在各功能模塊的實現中會使用選擇及循環結構,該階段以實踐為主,其中適當講解語法。在最后一個子階段中,結合第1、2個子階段內容,將已實現的功能模塊進行整合,該部分要以實踐操作為主;此外,對項目進行總結,主要要求體現計算思維相關內容,該部分以理論為主。

2 總結

在計算機科學與技術全方位普及的時代,計算思維的培養是面向非計算機專業程序設計課堂的主要目標,但是傳統的小案例或大項目的教學方式并不能很好的實現計算思維的培養方向。本文的研究中,探索在課程的設計與實施過程中,以螺旋式的教學方法為基礎,對各學習階段的設計,要設計出能較好體現計算思維的項目,并合理設計課堂,優化教學方案。通過對課堂與階段項目的合理安排,使學生在掌握編程技能的同時理解計算思維。

參考文獻(References):

[1] 鄭紅波,鄭浩,秦緒佳.非計算機專業程序設計類課程之計算思維培養[J].中國信息技術教育,2017.8:89-92

[2] Wing JM.Computational Thinking [J].Communications of the ACM,2006.49(3):33-35

[3] 陳杰華.程序設計課程中強化計算思維訓練的實踐探索[J].計算機教育,2009.20:84-85

[4] 郭艷燕,周世平,賀利堅等.信息化平臺下的程序設計課程混合式教學[J].計算機教育,2017.6:74-78

猜你喜歡
非計算機專業項目設計螺旋式
非計算機專業計算機基礎教學的總結與思考
高校非計算機專業計算機網絡基礎教學改革探究
溫泉旅游服務區項目規劃設計
程序設計課程中計算思維和應用能力培養問題研究
一秒變酷炫!德國攝影師將螺旋式樓梯拍成“盜夢空間”
螺旋式推進
中英語篇結構對比分析
校企協同的材控專業項目設計與實踐課程建設與實踐
項目驅動式教學法在“網頁設計與制作”中的研究與應用
非計算機專業VF課程教學內容與方法探究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合