計算機與編程專業(yè)范文

時間:2023-10-19 16:07:59

導(dǎo)語:如何才能寫好一篇計算機與編程專業(yè),這就需要搜集整理更多的資料和文獻,歡迎閱讀由公文云整理的十篇范文,供你借鑒。

計算機與編程專業(yè)

篇1

關(guān)鍵詞:非計算機專業(yè);C程序設(shè)計;編程能力;提高

中圖分類號:G642文獻標(biāo)識碼:A文章編號:1009-3044(2009)13-3446-02

1 引言

隨著高科技在各行各業(yè)的普及與深入,計算機已成為一種處理專業(yè)領(lǐng)域問題的有力工具。是否掌握計算機知識和技能已成為衡量當(dāng)代大學(xué)生適應(yīng)社會發(fā)展需要的重要標(biāo)志。非計算機專業(yè)的《C程序設(shè)計》[1]課程的教學(xué)目標(biāo)是通過學(xué)習(xí)使學(xué)生熟練C語言,掌握程序設(shè)計的思路,并具有用C語言編程的能力;培養(yǎng)學(xué)生利用計算機技術(shù)解決工程實際問題的能力。但在實際教學(xué)過程中發(fā)現(xiàn),學(xué)生對課程的基礎(chǔ)知識和基本概念的理解和掌握比較扎實,但在靈活應(yīng)用C語言編制程序的能力方面就比較薄弱,處于看得懂、編不出的狀態(tài)。

對于一些非計算機專業(yè)的學(xué)生,他們普遍對為什么要學(xué)習(xí)編程語言尤其是C語言感到困惑。另外計算機學(xué)科概念的基礎(chǔ)術(shù)語比較抽象,程序設(shè)計語言的語法枯燥,編程的算法比較復(fù)雜,學(xué)生普遍存在畏難心理[2]。由于以上幾方面的原因?qū)е聦W(xué)生在學(xué)習(xí)過程中沒有學(xué)習(xí)的興趣及動力。所以在教學(xué)中如何提高學(xué)生的學(xué)習(xí)興趣和消除學(xué)生的畏難心理是提高學(xué)生編程能力的關(guān)鍵。本文針對非計算機專業(yè)學(xué)生的特點,從理論教學(xué)和實踐教學(xué)兩個方面作了一些探索,收到了較好的效果。

2 理論教學(xué)上的探討與實踐

一直以來,程序設(shè)計課程都采取“理論+實踐”的教學(xué)模式。理論課主要教授語法、算法;實踐課主要是驗證性、設(shè)計性的內(nèi)容。本人認(rèn)為要提高學(xué)生的編程能力,理論課應(yīng)該在如何提高學(xué)生的學(xué)習(xí)興趣上下工夫。

2.1 利用第一堂課充分調(diào)動學(xué)生學(xué)習(xí)興趣

《C程序設(shè)計》課程的第一堂課一般是概述,介紹C語言的產(chǎn)生、發(fā)展以及特點,初步認(rèn)識C程序,介紹編輯、編譯、運行C程序的步驟。但如果照本宣科地向?qū)W生灌輸書本上的知識,不免讓學(xué)生感到枯燥。

本人認(rèn)為第一堂課應(yīng)該充分調(diào)動起學(xué)生學(xué)習(xí)C語言的興趣和熱情。在簡單明了地介紹上述基礎(chǔ)知識外,應(yīng)該將重點放在讓學(xué)生了解為什么要學(xué)習(xí)C語言程序設(shè)計、學(xué)習(xí)C語言是件很有意思的事情上。比如本人會把用C語言編程解決實際問題作為一個切入點,以過河游戲為例。首先和學(xué)生一起玩游戲,將課堂氣氛活躍起來。學(xué)生在玩這個游戲的時候,一方面啟發(fā)其解決這個問題的方法,比如提出“規(guī)則”、“遍歷”等概念,一方面提出人在解決問題時的“力不從心”。然后不失時機的向?qū)W生展示自己編寫的解決該問題的程序,并向?qū)W生提出算法的概念。告訴學(xué)生,C語言可以解決現(xiàn)實中的實際問題,編程就是將自己所想的用另一種語言表達出來而已。

這樣,在一定程度上消除了學(xué)生對程序設(shè)計課程的恐懼心理,充分調(diào)動起其學(xué)習(xí)編程的興趣和熱情,學(xué)生普遍進入一種迫不及待、躍躍欲試的狀態(tài)。

2.2 合理調(diào)整授課順序

在C語言教學(xué)中,無論是教材還是教師上課,一般都是先介紹數(shù)據(jù)類型和表達式,再介紹各種語句的語法規(guī)則,然后是數(shù)組、函數(shù)、指針等等。這種編寫安排或教學(xué)模式不利于學(xué)生編程能力的提高[3]。學(xué)生在學(xué)習(xí)C語言時,開始懷著神秘興奮的心情進入課堂,但隨著幾節(jié)關(guān)于大量難以理解和記憶的新術(shù)語、新規(guī)則的介紹,枯燥乏味的例題分析后,學(xué)生馬上又產(chǎn)生了厭學(xué)心理,一開始的熱情也隨之減弱甚至消失。

針對這種情況以及非計算機專業(yè)學(xué)生的認(rèn)知特點,本人在教學(xué)過程中,合理調(diào)整了授課順序。本人主張應(yīng)使學(xué)生先對程序設(shè)計有個宏觀的認(rèn)識,然后才是細(xì)節(jié)上的深入。所以在第一堂課后,先講授程序設(shè)計結(jié)構(gòu),中間穿插講解必要的基礎(chǔ)知識,然后在學(xué)生上機過程中點出、強調(diào),使學(xué)生在特定的編程環(huán)境中吸收這些基礎(chǔ)知識。

3 實踐教學(xué)上的探討與實踐

《C程序設(shè)計》是一門實踐性要求很強的課程,只有通過上機實踐,學(xué)生才能真正理解消化課堂上的教學(xué)內(nèi)容,糾正原來理解上的偏差,加深對C語言的了解。學(xué)習(xí)的能力和方法比掌握的知識更為重要,教師更應(yīng)該教會學(xué)生編程領(lǐng)域的學(xué)習(xí)方法,培養(yǎng)他們的學(xué)習(xí)能力,而不是僅僅教給他們知識點。在上機實踐環(huán)節(jié)本人作了以下幾個方面的研究和嘗試。

3.1 遞進啟發(fā)式編程

在非計算機專業(yè)學(xué)生編程的時候,會覺得代碼處處出錯,無從下手,似乎只有在教師的指導(dǎo)下才能完成編程。因此,有必要找到一種有效的自我提高的方法。本人在實踐教學(xué)過程中發(fā)現(xiàn),對于初學(xué)者,應(yīng)該循序漸進地進行啟發(fā),教會學(xué)生編程的方法。

第一階段 抄代碼。在每個新知識點的學(xué)習(xí)后,提供給學(xué)生范例代碼。學(xué)生通過讀懂、調(diào)試通過程序,感受新知識點的應(yīng)用方法。

第二階段 填空補充。在讀透程序的前提下,設(shè)計新的題目,應(yīng)用前面程序的知識點。在這個階段不能全部把程序代碼給學(xué)生。采取填空的方式,讓學(xué)生去補充完成代碼,并上機調(diào)試。

在這個階段仍然要分步進行。開始的時候讓學(xué)生補充單個的語句,最后以補充程序段的方式來提高學(xué)生的編程能力。

第三階段 設(shè)計程序。在前兩個階段的基礎(chǔ)上,讓學(xué)生獨立設(shè)計出應(yīng)用相關(guān)知識點的程序。這里其實也是一種模仿階段。

這種學(xué)習(xí)方法一方面強調(diào)了學(xué)習(xí)的漸進性,降低了學(xué)習(xí)的難度,能力得以逐步提高;另一方面可以逐步使學(xué)生從依賴?yán)蠋熛颡毩⒔鉀Q問題而轉(zhuǎn)變。

3.2 鼓勵學(xué)生讀出錯信息,學(xué)會自己解決問題

學(xué)生在編程的過程中,往往一出現(xiàn)問題,就不知道該如何是好,不會自己去查錯。本人在教學(xué)過程中強調(diào)編譯環(huán)境中編譯信息的查看,鼓勵學(xué)生遇到問題自己發(fā)現(xiàn)問題、分析問題、解決問題。在出錯中學(xué)習(xí),從而提高學(xué)生的編程能力。

3.3 重視程序調(diào)試

在C的編譯編譯環(huán)境中一般都有調(diào)試功能。雖然對于非計算機專業(yè)的學(xué)生沒有調(diào)試程序的要求。但本人認(rèn)為,學(xué)生通過調(diào)試不但可以對程序進行邏輯錯誤的查找,還可以在調(diào)試過程中更深層次地理解程序的執(zhí)行過程。

4 結(jié)束語

提高非計算機專業(yè)學(xué)生的編程能力,是公共程序設(shè)計課程教學(xué)改革研究的一個課題,需要在教學(xué)的各個方面進行探索和研究。本人在提高學(xué)生學(xué)習(xí)興趣以及消除學(xué)生畏難心理等方面總結(jié)了幾種行之有效的方法,并應(yīng)用于實際教學(xué)中。學(xué)生編程能力得到了很大的提高,取得了很好的效果。

參考文獻:

[1] 譚浩強.C程序設(shè)計[M].3版.北京:清華大學(xué)出版社,2005.

[2] 謝書良.試論學(xué)習(xí)程序設(shè)計語言課程的心理障礙及壓力來源[J].計算機教育,2008(20):120-122,199.

[3] 李妮.公共《C語言程序設(shè)計》課程教學(xué)改革的探討[J].電腦知識與技術(shù),2008(23):1094-1095.

篇2

【關(guān)鍵詞】李克特量表 計算機編程 態(tài)度 性別

前言

相關(guān)研究表明,近十年中選擇計算機專業(yè)課程學(xué)生的數(shù)目一直持續(xù)下降,同時社會對合格程序員的需求卻不斷增加,造成具有良好編程素質(zhì)專業(yè)人才短缺的局面。其中一個客觀原因是由于本科計算機專業(yè)學(xué)生的編程學(xué)習(xí)效果不佳,導(dǎo)致學(xué)生對編程開發(fā)的態(tài)度消極。因此,研究計算機編程學(xué)習(xí)效果的影響因素是計算機科學(xué)教育的一個重要問題,直接影響到計算機專業(yè)的教學(xué)。

1. 研究對象和方法

研究目的:探索大學(xué)生態(tài)度和性別與計算機編程學(xué)習(xí)成績之間的關(guān)系。

研究對象:長沙學(xué)院179名(85名女性,94名男性)學(xué)習(xí)計算機編程C語言的在校大學(xué)本科計算機專業(yè)學(xué)生。

研究方法:李克特量表是目前調(diào)查研究中使用最廣泛的量表,可直接反映出被調(diào)查者的認(rèn)同程度。本次共設(shè)計與計算機編程學(xué)習(xí)相關(guān)的47個選項構(gòu)建李克特量表,每個項目可選擇:“非常同意”“同意”“既不同意也不反對”“不同意”和“非常不同意”。為量化測量值對答卷重新編碼為1到5的數(shù)值,這樣高分反映積極態(tài)度,反之亦然。

研究者:由長沙學(xué)院計算機科學(xué)與技術(shù)系兩位教授設(shè)計問題選項,11名學(xué)生(4名女性,5名男性)監(jiān)督完成答卷以確保被調(diào)查者了解每一個項目的預(yù)期含義。

2. 計算機編程學(xué)習(xí)效果的影響因素分析

根據(jù)Erodogan和Kabaca的研究,計算機專業(yè)大學(xué)生作為一個基于認(rèn)知,情感和行為的信息受眾集體其個人信心(態(tài)度)對學(xué)習(xí)效果有著明顯影響。計算機專業(yè)的學(xué)生一般在本科學(xué)習(xí)的第三學(xué)期進行計算機編程的入門學(xué)習(xí)。

3. 調(diào)查結(jié)果

在對編程態(tài)度和性別之間的相關(guān)性研究中,學(xué)生性別對編程態(tài)度的影響經(jīng)計算平均得分為3.59(Xmin=1.66, Xmax=4.94, б=0.645)??芍獙W(xué)生對待編程的態(tài)度普遍比較消極,同時男性對編程態(tài)度的積極性明顯高于女性,如表1所示:

從表2可知,四個分量表中除對編程學(xué)習(xí)成功的態(tài)度沒有顯著差異以外,在其他的三個分量表中男生表現(xiàn)出更積極的態(tài)度。

編程的態(tài)度和編程的成就之間關(guān)聯(lián)度是一個關(guān)鍵問題。為研究這個問題,特別做了編程效果與平均PAS(皮爾森)值相關(guān)性分析,結(jié)果如表3所示:

從表3可知,學(xué)生編程的態(tài)度與他們學(xué)習(xí)編程入門的課程之間有明顯的相關(guān)性。其中相關(guān)性最高的是對學(xué)習(xí)編程會帶來成功的信心。另一方面,對成功的態(tài)度與學(xué)習(xí)計算機編程并沒有特別的關(guān)聯(lián),這其中相關(guān)性最低的就是對編程有用性的感知與在編程方面獲得的成就之間的關(guān)系。因此16.7%的學(xué)生對編程態(tài)度的變化歸咎于他們的信心、動機和對計算機程序設(shè)計有用性的感知。

4. 調(diào)查結(jié)果分析

綜上所述,在計算機編程教學(xué)中學(xué)習(xí)態(tài)度和學(xué)習(xí)效果呈正相關(guān)關(guān)系,同時女性在計算機編程中參與程度較低,這與一般情況下女性在計算機專業(yè)的入學(xué)率非常低而且女性較男性對電腦負(fù)面態(tài)度更多是一致的。

關(guān)于學(xué)習(xí)態(tài)度的研究一直是教育學(xué)研究的重要問題之一,學(xué)生的主體態(tài)度是決定教學(xué)方法和教學(xué)材料設(shè)計時要考慮的一個重要因素。本研究中調(diào)查的47個項目有35項涉及編程態(tài)度,以反映學(xué)生對計算機編程的感受和看法。調(diào)查結(jié)果表明,學(xué)生的平均態(tài)度得分與編程入門課程及格之間顯性相關(guān)(r= 0.443,P

5. 結(jié)論

本次研究結(jié)果有一定的局限性,主要體現(xiàn)在調(diào)查科目與測試樣本相對較小,相關(guān)研究可參考科斯特洛和奧斯本對因素分析的相關(guān)文章。另一個局限性是被調(diào)查者可能受到不同班級與授課老師的影響。這些問題均應(yīng)被包括在進一步的研究中。

篇3

關(guān)鍵詞:C語言;編程基礎(chǔ);教學(xué)

當(dāng)今社會,在我們看到計算機行業(yè)的美好就業(yè)前景的同時,也看到了計算機專業(yè)教育的美好前景。同許多學(xué)科的教學(xué)過程一樣,計算機專業(yè)教育也要重視專業(yè)基礎(chǔ)課程的教學(xué)。目前,大多數(shù)高校將C語言作為計算機專業(yè)的編程基礎(chǔ)課程,作者認(rèn)為將C語言作為高校計算機專業(yè)的編程基礎(chǔ)課程是必須而必要的,但是,在C語言的教學(xué)中,往往因為目的不夠明確,理念不夠準(zhǔn)確,而使我們的C語言教學(xué)沒有達到應(yīng)有的效果。因此,在這里提出C語言教學(xué)的四個定位問題。

一、教學(xué)課程性質(zhì)的定位

C語言課程性質(zhì)的定位:C語言是一門計算機專業(yè)的編程基礎(chǔ)課程。

20世紀(jì)70年代,在B語言的基礎(chǔ)上設(shè)計出了C語言。其中,UNIX操作系統(tǒng),以及運行這一系統(tǒng)中大部分程序都是用C語言寫成的。而被我們廣泛使用的微軟Windows操作系統(tǒng)的核心代碼也是用C語言來編寫的。1983年形成了C語言的ANSI(American National Standards Institute)標(biāo)準(zhǔn),1989年ANSI C被ISO(International Standards Organization,國際標(biāo)準(zhǔn)化組織)所接受,這就是常說的C89標(biāo)準(zhǔn),C89標(biāo)準(zhǔn)成為C語言的國際標(biāo)準(zhǔn)。而標(biāo)準(zhǔn)化委員會又于1999年再次修訂C89,成為了C99標(biāo)準(zhǔn)。從這些事情上,不難想到C語言的重要作用和歷史地位。因此C語言的通用性和規(guī)范性要普遍強于同時代其它的任何一種編程語言。當(dāng)今編程語言以C++,C#和JAVA為主流,而他們正是從C語言發(fā)展而來。因此,從編程技術(shù)的發(fā)展過程和編程技術(shù)的前后銜接性而言,C語言也是最恰當(dāng)?shù)?。所以,將C語言定位于計算機專業(yè)的編程基礎(chǔ)課程是最合適的選擇。

二、教學(xué)目標(biāo)的定位

C語言作為計算機專業(yè)的編程基礎(chǔ)課程,在開展C語言教學(xué)時,必須對C語言課程的教學(xué)目標(biāo)有明確的定位。

目前,社會IT行業(yè)中,C語言實際應(yīng)用的程度和廣度都在大大的縮減,C語言的開發(fā)應(yīng)用能力被他的后繼編程語言所取代。C語言的職業(yè)應(yīng)用領(lǐng)域更多的是結(jié)合匯編語言在單片機開發(fā)中的應(yīng)用,如AVR單片機C語言開發(fā),這突現(xiàn)在C語言的低端開發(fā)能力上。計算機或者單片機低端的開發(fā)應(yīng)用是建立在對硬件相當(dāng)熟悉的基礎(chǔ)之上的,在這種情況下,要求編程基礎(chǔ)課程的C語言突出其職業(yè)能力培養(yǎng)是不現(xiàn)實的。

因此,C語言課程的教學(xué)目標(biāo)應(yīng)該定位在計算機編程技術(shù)應(yīng)用理念、編程邏輯思維、實際問題在編程中數(shù)學(xué)模型抽象能力等方面,即思維方式和模式上的培養(yǎng)認(rèn)知上。C語言教學(xué)的開展不是去追求其職業(yè)能力,而是鍛造和培養(yǎng)學(xué)生的編程思維能力,為后繼專業(yè)課程的學(xué)習(xí)打下良好的基礎(chǔ)。因為,沒有編程思維的理念認(rèn)識,編程思維模式的轉(zhuǎn)變,計算機專業(yè)課程的學(xué)習(xí)是事倍功半的。

三、教學(xué)內(nèi)容的定位

C語言本身所涉及的開發(fā)應(yīng)用能力是一個很龐大的系統(tǒng),C語言本身也是一個中級編程語言。C語言在低級方面,它允許在算法邏輯中通過詳細(xì)的定義,來達到最高的計算機效率;C語言在高級方面,它隱含了計算機的結(jié)構(gòu)細(xì)節(jié),提高編程的效率。因此,C語言是介于低級編程語言和高級編程語言之間的中級編程語言。C語言本身也有著豐富而復(fù)雜的函數(shù)庫。所以,在C語言的教學(xué)中還應(yīng)該注意教學(xué)內(nèi)容的篩選。從國內(nèi)絕大多數(shù)面向高校編寫的C語言教材來看,C語言的教學(xué)主要是側(cè)重在學(xué)生運用其高級能力方面,解決數(shù)理問題方向,這也充分說明我國計算機專業(yè)教育大環(huán)境對C語言課程的定位。

在C語言教學(xué)中,結(jié)合C語言常規(guī)教材的特點,對教學(xué)內(nèi)容的定位應(yīng)當(dāng)做到既有全局的認(rèn)識,又要有所側(cè)重;既要注重學(xué)生在C語言應(yīng)用方面能力的培養(yǎng),更要注重學(xué)生通過C語言對編程理念的認(rèn)知。因為,C語言的教學(xué)內(nèi)容的取舍不再是單純的為C語言本身而定,更多的是想達到拋磚引玉的效果。

C語言的教學(xué)可以分為四個部分:數(shù)據(jù)類型和運算、邏輯結(jié)構(gòu)、模塊化思想、輸入輸出。

(1)數(shù)據(jù)類型和運算應(yīng)該包括:普通變量與類型、指針、數(shù)組、結(jié)構(gòu)以及基本的運算,盡管指針、數(shù)組、結(jié)構(gòu)是在后期的教學(xué)中才涉及,但是它們依然是屬于數(shù)據(jù)類型的范疇,只能說它們是一種特殊的變量。

在普通變量與類型階段,教學(xué)內(nèi)容的重點應(yīng)該放在對變量的存儲機制和運算機理的認(rèn)識和概念理解方面。而到了指針和數(shù)組方面,就要求學(xué)生能夠靈活應(yīng)用變量的存儲機制和運算機理。而結(jié)構(gòu)部分是早期編程語言對于實際問題抽象方面最好的數(shù)據(jù)模型,有助于進一步提高學(xué)生的數(shù)據(jù)抽象能力。

(2)邏輯結(jié)構(gòu)的主要內(nèi)容是三大結(jié)構(gòu):順序,選擇,循環(huán)。這是所有成熟編程語言的重要邏輯結(jié)構(gòu)模式。在這個部分,側(cè)重于引領(lǐng)學(xué)生如何將實際問題的解決思維方式轉(zhuǎn)變?yōu)橛萌蠼Y(jié)構(gòu)來解決的邏輯思維方式。在教學(xué)中,單純的就結(jié)構(gòu)談?wù)Z法,會限制學(xué)生的眼光,相反,應(yīng)該就語法談結(jié)構(gòu),編程中的邏輯結(jié)構(gòu)才是計算機所有編程語言的理念之一。

(3)模塊化思想是指C語言中的函數(shù)部分:標(biāo)準(zhǔn)庫函數(shù),自定義函數(shù)。C語言的函數(shù)思想是編程模塊化思想的前身。在C語言中,將指定問題的處理過程放到函數(shù)里解決,函數(shù)的相對獨立能力,使函數(shù)能夠多次或者多處被使用。避免代碼重用,提高了執(zhí)行效率。

函數(shù)的應(yīng)用,模塊化的思維模式在編程技術(shù)的應(yīng)用中,為程序的分工協(xié)作,或者把一個大問題分成多個小問題來解決提供了最佳的途徑。所以在教學(xué)中,應(yīng)當(dāng)使學(xué)生充分認(rèn)識到編程的模塊化思想應(yīng)用的重要性和必要性。

(4)輸入輸出即I/O。這里的輸入輸出既包括控制臺的輸入和輸出(scanf函數(shù)和printf函數(shù)),也包括文件的輸入和輸出(fscanf函數(shù)和fprintf函數(shù))。在技術(shù)上,控制臺I/O和文件I/O只有微小的差別,但在概念上,兩者是截然不同的范疇。

輸入輸出的內(nèi)容能夠使學(xué)生明確,程序代碼的編寫過程和運行過程是完全不同的兩個過程,編寫過程是從程序開發(fā)者的立場出發(fā),而運行過程就要從程序使用者的立場出發(fā)。輸入輸出部分的內(nèi)容是一個強化,強化學(xué)生在編程理念上有程序員和用戶的立場差別。

四、教學(xué)理念的定位

在C語言教學(xué)中,教學(xué)理念的定位將直接引領(lǐng)教學(xué)的開展過程,直接影響教學(xué)方法、手段的設(shè)計與使用。把握好教學(xué)理念,是教學(xué)成功開展的捷徑。

(1)實例性教學(xué),先應(yīng)用再理解。

C語言課程同許多計算機專業(yè)課程一樣,是一門應(yīng)用型的工具學(xué)科,我們這里的應(yīng)用不指行業(yè)應(yīng)用或者職業(yè)需求應(yīng)用,而是指建立在計算機硬件條件下的軟件的運用過程,這些都有一定的標(biāo)準(zhǔn),典型的說,比如C語言本身的C89,C99標(biāo)準(zhǔn),對于這些標(biāo)準(zhǔn)的理解,對于計算機初學(xué)者而言是非常困難的。在教學(xué)中,學(xué)生常習(xí)慣去追求為什么要這樣?這就涉及到C語言本身內(nèi)在運作機制的理解,很容易造成知難而退。在教學(xué)中引入實例性教學(xué)模式,目的在于使學(xué)生在學(xué)習(xí)中首先關(guān)注的是怎么用,而不是為什么,然后再去關(guān)注程序的運行過程,最后理解程序的存儲機制和運作原理。在IT行業(yè)中,許多程序員也可以證明這一點,對于他們而言,應(yīng)用是第一位的, 理解是第二位。

所以,在C語言教學(xué)中以實例教學(xué)方法為主,把握先應(yīng)用再理解的原則,從而使學(xué)生在應(yīng)用的基礎(chǔ)上,再加強對編程的理解。

C語言教學(xué)中,新語法新知識的學(xué)習(xí)過程,通過對同一問題的舊新知識解決過程的對比,突顯新知識的優(yōu)越性,突出新知識的必要性和重要性。我們稱之為“實例對比法”。

在知識的展開、強化、復(fù)習(xí)過程中,通過多個實例的解題過程,關(guān)注學(xué)習(xí)內(nèi)容的變化過程,在解題過程中,引導(dǎo)學(xué)生的思考過程,接受和形成自己的經(jīng)驗,我們稱之為“實例經(jīng)驗法”。

經(jīng)歷了一個階段的學(xué)習(xí),在學(xué)習(xí)內(nèi)容的總結(jié)中,讓學(xué)生從事一個相對綜合的實例的開發(fā)過程,在教學(xué)中,引導(dǎo)學(xué)生對這個綜合實例進行功能拆分和模塊分析,而這個實例的分析和開發(fā)過程,可以讓學(xué)生獨立完成,或者分小組完成。強化學(xué)生的綜合知識能力,培養(yǎng)學(xué)生實際問題的分析解決能力。最后教學(xué)中,對綜合實例進行分析,探討,教學(xué)相長。我們稱之為“綜合實例法”。

(2)培養(yǎng)學(xué)生的邏輯思維為主,強化源代碼為輔

C語言課程作為計算機專業(yè)編程的基礎(chǔ)學(xué)科,教學(xué)中把如何引導(dǎo)學(xué)生用編程的思維模式去分析問題、解決問題能力的培養(yǎng)放到重中之重,而把學(xué)生是否能夠?qū)懗稣_的C語言源代碼做客觀的分析。如果學(xué)生的源代碼符合編程邏輯思維模式的要求,解題的邏輯結(jié)構(gòu)準(zhǔn)確,僅在C語言語法上有錯誤,對于這種情況,教學(xué)中應(yīng)當(dāng)作出肯定。學(xué)生在學(xué)習(xí)中,重視對編程理念的認(rèn)識,要遠(yuǎn)比他們重視源代碼要重要的多,當(dāng)然兩者兼顧自然最好。同時也要說明,這種觀念只適應(yīng)在編程的基礎(chǔ)教育中。

(3)打破常規(guī)思維模式習(xí)慣,打造良好的編程習(xí)慣

計算機專業(yè)的編程基礎(chǔ)是培養(yǎng)學(xué)生的編程邏輯思維模式。對于這種思維模式有別于常規(guī)的思維模式。常規(guī)上,人們使用的一種思維模式是來自于一般數(shù)學(xué)的思維模式,而這種一般數(shù)學(xué)思維模式是“集中型”的,在多個已知條件下,結(jié)論是明確的或者是唯一的。而計算機專業(yè)的編程中要求的思維模式是“發(fā)散型”的,在編程理念中解決實際問題時,要求歸納的是解決問題的方法,處理在各種可能條件下得到結(jié)論的過程。簡單一點說,使用編程的方法解決實際問題時,對于一個“點”上的問題,往往要在一個“面”上分析,歸納這個“面”上所有點的條件,在程序控制過程中,篩選所滿足條件的“點”;在編程中,對這個面的每一點都要妥當(dāng)?shù)奶幚?,這樣寫出的程序才不至于漏洞百出。

打造學(xué)生良好的編程習(xí)慣,比如說:變量名的命名規(guī)則,變量聲明定義方法、源代碼分層次分段書寫;把大問題分解成若干個小問題使用函數(shù)來解決,即模塊化思想。這些小的習(xí)慣的運用,對于程序而言,也許并不影響結(jié)果,而對于學(xué)生而言,也不存在困難的技術(shù)問題,但是這些小的習(xí)慣的形成,將會直接帶來良好的程序風(fēng)格和可讀性,為以后寫出高質(zhì)量的程序代碼打下基礎(chǔ)。

綜上所述,高校計算機專業(yè)C語言課程是專業(yè)編程的基礎(chǔ)課程,教學(xué)中弱化其社會實際職業(yè)應(yīng)用能力,強化編程思維理念的培養(yǎng),明確教學(xué)的目的,定位準(zhǔn)確的教學(xué)理念,使用強化訓(xùn)練的教學(xué)手段,為以后后繼的專業(yè)知識學(xué)習(xí)構(gòu)建良好的基礎(chǔ)和框架。

參考文獻:

《C++ 程序設(shè)計教程》 錢能 清華大學(xué)出版設(shè)

《C++ 參考大全》 [美]Herbert Schidt電子工業(yè)出版設(shè)

篇4

關(guān)鍵詞:計算機網(wǎng)絡(luò)課程;實踐;教改

一、引言

計算機網(wǎng)絡(luò)編程是計算機專業(yè)一門重要的專業(yè)基礎(chǔ)課,通過教學(xué)使學(xué)生初步理解了計算機網(wǎng)絡(luò)編程的基礎(chǔ)知識,但是在具體應(yīng)用中,學(xué)生們普遍感受到的問題是,難以使學(xué)到的理論知識付諸于具體應(yīng)用。所以這時就需要改革計算機網(wǎng)編程實踐課,通過建立完善的實驗環(huán)境,制定科學(xué)合理的課程和考核方式,給學(xué)生創(chuàng)造實踐的機會,培養(yǎng)學(xué)生的動手能力,增加他們的就業(yè)能力。

二、計算機網(wǎng)絡(luò)編程課程的實際情況

上海電機學(xué)院是一個應(yīng)有型本科學(xué)校,注重實踐,而目前來看,在教學(xué)中對于計算機網(wǎng)絡(luò)這門課程,存在如下問題:

(一)理論與實踐的脫節(jié)。目前很多高校計算機網(wǎng)絡(luò)課 程實驗學(xué)時很少,甚至沒有開設(shè)實驗課程,只注重理論教學(xué)。

(二)教學(xué)過程實驗課時有限,課下知識得不到鞏固。由于實踐課時有限,業(yè)余時間實驗室不開放,學(xué)生實踐課所學(xué)知識,課下得不到鞏固,容易很快的忘記。導(dǎo)致學(xué)生的實踐動手能力不強,對所學(xué)知識掌握不牢固,不能滿足市場的需求。

(三)實驗內(nèi)容少且過于簡單。由于受實踐課時的限制,開設(shè)的實驗只是演示和驗證性等一些簡單的實驗。缺乏綜合性、設(shè)計性實驗,學(xué)生的創(chuàng)新能力得不到鍛煉。

(四)師資、設(shè)備落后。計算機網(wǎng)絡(luò)技術(shù)發(fā)展過快,日新月異,我們很多高校的設(shè)備相對比較落后,不能滿足當(dāng)前的需要,我們的教師缺乏實踐教學(xué)經(jīng)驗。

三、計算機網(wǎng)絡(luò)編程課程的實踐探索

根據(jù)實際情況,不僅在師資隊伍和教學(xué)內(nèi)容方面進行改革實踐、而且在教學(xué)方法、實踐考核等方面,對課程進行了一系列的改革實探索,并且取得了較良好的效果。改革是一個長期的過程,不斷采用新方法與時俱進、及時進行創(chuàng)新,采用網(wǎng)絡(luò)新設(shè)備,提高教學(xué)水平,為社會培養(yǎng)更多優(yōu)的應(yīng)用型技術(shù)專業(yè)人才。我們的探索在這幾個方面:

(一)教學(xué)內(nèi)容的改進。制定實驗的教學(xué)內(nèi)容應(yīng)該考慮企業(yè)的需求,依據(jù)企業(yè)的需求來制定教學(xué)內(nèi)容,特別是實驗內(nèi)容,這對于學(xué)生的就業(yè)進一步促進。

(二)加強項目建設(shè)。在實驗內(nèi)容上,對于項目的要求十分重視,在試驗教學(xué)中,應(yīng)以實驗的項目形式進行,這樣的實驗形式比單一知識點的復(fù)習(xí)利于學(xué)生能力的掌握,這對于實踐能力有很大好處。

(三)實驗室開放管理。多給學(xué)生實踐的機會,這樣的機會可來自實習(xí),在學(xué)校階段則來自于實驗室,在不影響正常的教學(xué)的情況下可開放式管理,讓學(xué)生能來實驗室學(xué)習(xí),給學(xué)生提供更多的機會,從而能進一步提高學(xué)生的動手能力。

(四)合理考核??己顺煽儜?yīng)包括平時和期末,考慮實驗及理論。

(五)教師建設(shè)。加強教師培訓(xùn),提高實驗技術(shù)人員的素質(zhì)工作水平,重實驗技術(shù)人員交流和培訓(xùn)工作。購買實驗教學(xué)設(shè)備。使得能適應(yīng)網(wǎng)絡(luò)編程教學(xué)的需求。

對于實驗教學(xué)研究應(yīng)有的研究原則:科學(xué)性原則、主動性原則、交互性原則、堅持以學(xué)生為本的原則、培養(yǎng)學(xué)生獨立探索和合作探索精神的原則、效益性原則。據(jù)此進行網(wǎng)絡(luò)編程技術(shù)的建設(shè)發(fā)展。

四、結(jié)束語

在應(yīng)用型本科教學(xué)中,計算機網(wǎng)絡(luò)編程技術(shù)應(yīng)重視實踐,從教學(xué)內(nèi)容、考核、教師、項目等方面進行改進,適應(yīng)實踐的發(fā)展。網(wǎng)絡(luò)編程技術(shù)實際應(yīng)用能力的培養(yǎng)應(yīng)按照企業(yè)需求來建立,不僅在課本中的理論,還包括實際應(yīng)用。應(yīng)用型本科院校的課堂教學(xué)需要體現(xiàn)“應(yīng)用”本質(zhì),不僅強調(diào)學(xué)生對所學(xué)理論的理解,更強調(diào)培養(yǎng)學(xué)生的實踐應(yīng)用能力。對計算機網(wǎng)絡(luò)編程課程的實踐教學(xué),需要創(chuàng)新。從內(nèi)容上說,創(chuàng)新包括科學(xué)創(chuàng)新、技術(shù)創(chuàng)新、知識創(chuàng)新、文化創(chuàng)新、教育創(chuàng)新、制度創(chuàng)新、理論創(chuàng)新等。大學(xué)教育要想傳承久遠(yuǎn),就必須實現(xiàn)教學(xué)創(chuàng)新。創(chuàng)新型人才以人為本,強調(diào)個性,要求個性教育化。

參考文獻:

篇5

隨著科技的不斷進步,計算機技術(shù)的快速普及和發(fā)展,傳統(tǒng)編程教學(xué)表現(xiàn)出了其自身明顯的劣勢,筆者通過閱讀大量資料,并結(jié)合自身實踐,將傳統(tǒng)編程教學(xué)中存在的幾點問題總結(jié)如下:

①語法學(xué)習(xí)過程較長從我國當(dāng)前各高校計算機編程語言的教學(xué)來看,基本上都選擇了計算機編程C語言、C++、C#、或java等,從這些編程語言的比較來看,其中相對要容易學(xué)習(xí)和掌握,而C語言、C++相對要比較難掌握,它們屬于強類型編程語言,語法比較復(fù)雜,其中會存在較多的語法陷阱,導(dǎo)致學(xué)生將很多的時間浪費在糾錯上,學(xué)生在進行學(xué)習(xí)時,需要用較長的時間來修正代碼中的錯誤和漏洞,這帶來的直接影響就是不利于學(xué)生編程思想的形成,最終導(dǎo)致只會使用一些編程工具,但是卻不能在未來更好的進行編程工作。C#在面向?qū)ο缶幊陶Z言中,即使是比較優(yōu)異的一種,但是使用C#進行編程,需要計算機具備較高的配置,如果學(xué)校機房設(shè)備等比較落后,或者是學(xué)校硬件建設(shè)資金不足,那么進行設(shè)備更新,采用高配置的計算機是比較困難的,而且,C#僅支持windows平臺,這就在很大程度上阻礙了部分不能在windows環(huán)境下學(xué)習(xí)的學(xué)生使用這一語言。

②受高校授課制度的影響編程語言的學(xué)習(xí)通常需要一段較長的、連續(xù)性的時間,而一般高校的授課時間都是固定的,每節(jié)課程的時間需要統(tǒng)一安排,排課老師需要考慮不同課程之間的授課沖突問題,所以一般情況下無法實現(xiàn)編程教學(xué)的集中授課,而只是同其他課程一樣進行分節(jié)學(xué)習(xí),這種授課模式對于編程教學(xué)來講,其弊端就是難以讓學(xué)生形成連貫性思維,通常會造成盡管這節(jié)課的內(nèi)容在課堂上已經(jīng)全部掌握,但是等到隔幾天再進行下節(jié)課的授課時,卻全部都已經(jīng)忘記的現(xiàn)象,導(dǎo)致編程教學(xué)效果較差??陀^來講,編程課程實際上是一門比較枯燥的課程,不容易讓學(xué)生全身心的投入和激發(fā)他們的興趣。

③不利于學(xué)生的自主學(xué)習(xí)編程語言(如C語言、C++等)是比較難掌握的一門語言,一般需要教師對其進行入門教育。但是,在實際的教學(xué)中教師也僅僅是“拋磚引玉”的作用,教師將其基本要領(lǐng)教授于學(xué)生之后,還需要學(xué)生對其進行深入的研究與實踐。然而,這些編程語言自身的學(xué)習(xí)難度在很大程度上決定了學(xué)生進行自主學(xué)習(xí)的難度,尤其是對于非計算機專業(yè)的學(xué)生。比如C語言的學(xué)習(xí),就需要學(xué)習(xí)者首先具備較好的計算機功底,要詳細(xì)的了解并理解堆棧、內(nèi)存、指針、數(shù)組等概念,掌握代碼的書寫要求,對于很多計算機專業(yè)基礎(chǔ)知識不扎實的學(xué)生,及非計算機專業(yè)學(xué)生來講,代碼就好比是天書,無法正常的判斷代碼錯誤原因,最終導(dǎo)致學(xué)習(xí)失敗,最終放棄對編程語言的學(xué)習(xí)。

2Python編程語言在計算機理論教學(xué)中的作用

與C語言、C++、java等編程語言相比,Python語言表現(xiàn)出了其明顯的優(yōu)勢,筆者接下來從以下三方面進行具體的分析。

①學(xué)習(xí)難度最小化首先,Python的代碼書寫規(guī)則與計算機算法中的“偽代碼”非常相似,GuidovanRossum最初在開發(fā)這一語言時,參考了ABC語言的特性,使其最終設(shè)計出的語言書寫規(guī)則與日常英語十分相似,在很大程度上增加了這一語言的易用性,即使是非計算機專業(yè)的學(xué)生,只要認(rèn)真研究就可以迅速掌握,大大節(jié)約了教學(xué)資源。Python可以支持unicode字符集,因此就解決了ascii字符集的字節(jié)存儲空間問題。uniocde字符在其它語言中一般需要進行比較復(fù)雜的轉(zhuǎn)換,而python具有強大的序列(各類定長數(shù)組、動態(tài)數(shù)組、字符串等),從而較容易的實現(xiàn)了在同一個序列中放置不同數(shù)據(jù)類型的數(shù)據(jù),以此省略了較復(fù)雜的組合變量聲明和處理。還有就是Python自身的IDLE既可以在windows平臺上使用,又可以在UNIX上得到較好支持。學(xué)生只需對python進行入門學(xué)習(xí),便可以快速的進行代碼書寫。

②提高學(xué)生學(xué)習(xí)動力Python編程語言具備對學(xué)生的計算機功底要求較低,因此擴大了其使用人群,盡管是計算理論知識基礎(chǔ)薄弱的非本專業(yè)學(xué)生也能夠較快的掌握這一編程語言,并能夠樹立較強的編程思維,在很大程度上提高了學(xué)生的學(xué)習(xí)動力,我國有不少的編程愛好者,他們一般都沒有接受過系統(tǒng)的計算機理論的學(xué)習(xí),而Python的易用性恰恰解決了他們理論知識薄弱的問題,面向用戶的設(shè)計和偏重程序邏輯的編碼方式,讓更多的編程愛好者樹立較強的編程思路。③強大的類庫使編程更簡易Python有強大的各種類庫的支撐,具備較多的免費編程資源,更容易進行布置,因此減小了開發(fā)難度,加快了開發(fā)速度。另外,由于Python是開源的,為了能夠更加方便的進行工作,可以自行擴展Python的庫,構(gòu)建具備自身特色的類庫。

3結(jié)論

篇6

關(guān)鍵詞:編程能力;課程設(shè)置;教學(xué)方法;實踐

編程是指我們?yōu)榱私柚嬎銠C來解決某個問題而使用某一種程序設(shè)計語言來編寫程序代碼,并最終得到結(jié)果的過程。編程是人和計算機之間溝通交流的唯一方式,如果沒有編程計算機就是等同于一堆廢鐵。編程能力在計算機專業(yè)技能中排在首位,因此有些學(xué)生雖然在學(xué)校期間學(xué)習(xí)了很多專業(yè)課程,但是由于編程能力弱,在步入社會后就出現(xiàn)了就業(yè)困難的情況。這就需要我們改變以往的傳統(tǒng)教學(xué)方法,以新的方式來培養(yǎng)學(xué)生的編程能力。

1、合理的課程設(shè)置

根據(jù)教學(xué)的三要素即教學(xué)目標(biāo)、教學(xué)重點、教學(xué)難點來合理的靈活的安排程序設(shè)計類課程,這樣才能更好的培養(yǎng)學(xué)生的編程能力。在第一學(xué)期的課程設(shè)置上,我們應(yīng)該首先增加幾堂引導(dǎo)學(xué)生入門這樣的課程,循序漸進的將學(xué)生引入到編程學(xué)習(xí)當(dāng)中,使學(xué)生感受到學(xué)習(xí)編程的樂趣,這樣學(xué)生就不會在學(xué)習(xí)一門陌生的課程時感到可怕和厭學(xué)。在進入正式學(xué)習(xí)編程課程后,在講解基礎(chǔ)知識的同時要增加講解實例的課程,只有學(xué)會運用知識,才能培養(yǎng)學(xué)生的編程能力。

2、改變教學(xué)方法

傳統(tǒng)的教學(xué)方法是灌輸式、交代式的教學(xué),為了激發(fā)學(xué)生的積極性,使學(xué)生能夠主動的思考問題,我們要帶著問題進行授課,通過與學(xué)生一起找到解答的方法并最終得到正確答案,來完成教學(xué)過程。

3、加強實踐和練習(xí)

學(xué)習(xí)計算機專業(yè)就是為了以后應(yīng)用到實際的計算機操作中,因此學(xué)生不能只學(xué)會專業(yè)的理論知識,更重要的是要將理論聯(lián)系到實際,在實踐中運用自如。這就需要學(xué)生大量的練習(xí),在練習(xí)中提高自身的編程能力。

3.1 強化上機實踐

編程的實踐需要學(xué)校為學(xué)生提供良好的上機環(huán)境,因為只有在計算機上進行編譯、運行,編程能力才能得到鍛煉,而不能紙上談兵。學(xué)校應(yīng)該提供一套完善的系統(tǒng)來給學(xué)生進行編程實踐練習(xí),學(xué)生通過自己編程、上機操作、程序運行后得到正確與否的結(jié)果來訓(xùn)練自己的編程技能。培養(yǎng)學(xué)生實踐、查找錯誤、改正錯誤、再實踐,如此循環(huán)直到正確的這種上機實踐習(xí)慣。

在輔導(dǎo)學(xué)生實踐時,要求學(xué)生上機前做好充分準(zhǔn)備,認(rèn)真編寫程序,確保在上機實踐時能順利操作,避免臨時抱佛腳。在上機實踐的過程中,要讓學(xué)生查找自己編寫的程序中的錯誤或不足,以便修改和完善。在整個實踐完成之后,要求學(xué)生將本次實踐整理出一份報告,上交給老師批改。寫報告是為了讓學(xué)生及時的總結(jié)本次實踐的經(jīng)驗,吸取教訓(xùn)。這樣深入精確化的實踐訓(xùn)練大大挺高了練習(xí)的效率,讓學(xué)生學(xué)會獨立分析及解決問題,挺高了學(xué)生的編程能力。

3.2 選擇典型習(xí)題

課后的習(xí)題練習(xí)能夠幫助學(xué)生將課上老師教授的教材內(nèi)容運用到習(xí)題中,從而更好的理解和鞏固知識點,同時也能檢查出自己對課上內(nèi)容的理解及掌握的程度。在做習(xí)題中,尤為重要的是習(xí)題的選擇,學(xué)生不能一味的追求量而忽略了質(zhì)。老師可以幫助學(xué)生根據(jù)各階段的重難點來選擇典型的習(xí)題,提高學(xué)習(xí)效率。對于普遍存在的問題,老師應(yīng)該在課堂上進行統(tǒng)一講解,但是由于編程是一門專業(yè)的課程,往往會出現(xiàn)學(xué)生們在專業(yè)理論和技術(shù)上都有自己獨特的見解。這時候就需要老師對學(xué)生的見解進行分析和評價,鼓勵學(xué)生們在專業(yè)領(lǐng)域里不斷探索。

3.3 掌握練習(xí)時機

許多學(xué)生都會按照教材上的進度來制定自己的學(xué)習(xí)計劃,其實這是不合理的。學(xué)生應(yīng)該根據(jù)自己的專業(yè)特點和將來的就業(yè)需求,來安排自己大學(xué)四年的學(xué)習(xí)計劃。就培養(yǎng)編程能力來說,本專業(yè)的學(xué)生應(yīng)該從大一開始就進行大量的編程練習(xí)。編程能力是從事計算機技術(shù)開發(fā)工作所必備的基本功,而想成為一名編程高手,大量的練習(xí)則是必不可少的。從大一開始練習(xí)編程,能夠很快的體驗到編程的樂趣,提升自己的自信心,盡早形成專業(yè)的思維方式。擁有大學(xué)四年積累的大量編程經(jīng)驗,學(xué)生在畢業(yè)時就可以自信的選擇好的工作了。

3.4 實踐中多交流

篇7

關(guān)鍵詞:軟件工程 編程語言

中圖分類號: TP311文獻標(biāo)識碼:A文章編號:1672-3791(2012)03(a)-0000-00

2010年3月,國務(wù)院學(xué)位委員會了新修訂的學(xué)科目錄。對計算機專業(yè)來說,此次修訂最大的變化是軟件工程從隸屬于計算機科學(xué)技術(shù)的二級學(xué)科上升為同其平行的一級學(xué)科,這意味著隨著計算機技術(shù)的發(fā)展,軟件在計算機中的作用越來越大,從而使計算機最核心的東西,編程更加重要。那么,軟件開發(fā)人員應(yīng)該掌握那幾種編程語言呢?筆者認(rèn)為:軟件開發(fā)人員應(yīng)該掌握以下幾種語言:C語言, C++及VisualC++,Java語言,Visual Basic及Access.?,F(xiàn)分別闡述如下:

1 C語言

C語言已經(jīng)誕生30多年了,今天仍然被廣泛的使用,而與它同一時期出現(xiàn)的語言,許多都已經(jīng)被淘汰了,這充分說明了C語言內(nèi)在的強大的生命力。今天,C語言已經(jīng)成了工科專業(yè)的必修課和計算機等級考試的必考語言。對計算機及相關(guān)專業(yè)來說,C語言是最應(yīng)該被掌握的,其原因有三。第一,C語言短小精悍,功能強大,通用性好,目前從大、中型機到工作站、微型機,幾乎都配有C語言編譯系統(tǒng),這有助于C語言的學(xué)習(xí)和開發(fā)。第二,C語言對于理解其它計算機編程語言乃至計算機工作原理都有很好的幫助作用。正如一位美國信息專家所說:“大學(xué)生畢業(yè)前要學(xué)好C語言,C語言是程序員共同的語言。C語言比其他高級語言都更接近機器。如果你不能解釋為什么while(*s++=*t++)的作用是復(fù)制字符串的,那你就是在盲目無知的情況下編程,就像一個醫(yī)生不懂最基本的解剖學(xué)就在開處方。”這句話很好的道出了C語言的本質(zhì)。第三,對于自動化等專業(yè)的學(xué)生來說,經(jīng)常要用到單片機對系統(tǒng)進行控制,由于匯編語言的復(fù)雜及通用性差,C語言有取代匯編語言的趨勢。

2 C++及Visual C++

自從微軟推出視窗操作系統(tǒng)以來,圖形窗口界面成了事實上的工業(yè)標(biāo)準(zhǔn)?,F(xiàn)在的操作環(huán)境大部分都是窗口環(huán)境,而要用C語言編寫一個窗口界面簡直是一個令人望而生畏的任務(wù),用VC++則輕而易舉。并且C語言是面向結(jié)構(gòu)的,可重用性差,難以面對大規(guī)模的任務(wù)。而從C語言脫胎而來的C++語言除了繼承c語言的優(yōu)點之外,還具有封裝性、繼承性、多態(tài)性等面向?qū)ο缶幊陶Z言所具有的所有特征,可以很好的應(yīng)付大規(guī)模的任務(wù)??吹竭@里,讀者可能要問,既然這樣,我只學(xué)C++語言好了,不用學(xué)C語言了,其實不然,雖然C++包含了C,但C++是面向?qū)ο蟮?,而C語言是面向過程的,由于C++過于龐大復(fù)雜,很難掌握,所以非專業(yè)人員只要掌握C語言就可以了。需要特別強調(diào)的是目前C語言的主流開發(fā)環(huán)境也是VisualC++6.0。這里需要注意的是VisualC++與C++并不是一回事,C++是一種語言,而VisualC++是微軟公司所提供的一種開發(fā)環(huán)境。另外,這里之所以將C++及VisualC++合起來談,是因為微軟在軟件領(lǐng)域的壟斷地位,及龐大的MFC(微軟基礎(chǔ)類庫)可以利用。在Visual C++環(huán)境下學(xué)習(xí)C++還可以更好的了解微軟的產(chǎn)品及工作原理。

3 Java語言

隨著互聯(lián)網(wǎng)的出現(xiàn),軟件的開發(fā)模式從單機轉(zhuǎn)向網(wǎng)絡(luò)。Java就是一種很好的針對網(wǎng)絡(luò)開發(fā)的語言,當(dāng)然,VC++也可以。前面已經(jīng)講過,VC++過于復(fù)雜,難以掌握,因此java就成為一個不錯的選擇。Java語言拋棄了C++中指針,多重繼承等復(fù)雜概念,相比C++簡單了很多。并且它也是完全面向?qū)ο蟮?,即具有封裝性、繼承性、多態(tài)性。雖然Java不具有多重繼承功能,但通過接口屬性也可以實現(xiàn)多重繼承。Java是一個分布式語言,利用J ava來開發(fā)分布式的網(wǎng)絡(luò)程序是Java的主要應(yīng)用之一,Java的安全性高是受人青睞的另一個主要原因。因此對于非計算機專業(yè)人員,Java就是一個很好的選擇。Java是與平臺無關(guān)的,對于目前主流的兩大操作平臺,Windows與Linux都可以很好的支持,Java是通過Java虛擬機來實現(xiàn)與平臺無關(guān)這一機制的。由于計算機專業(yè)人員需要熟悉不同的操作平臺進行開發(fā),因此,計算機專業(yè)人員也應(yīng)該掌握J(rèn)ava語言。

4 Visual Basic及Access

我們知道現(xiàn)在是信息社會,對于信息的管理來說,經(jīng)歷了人工管理,文件管理,數(shù)據(jù)庫管理等階段,目前,大型信息系統(tǒng)都是數(shù)據(jù)庫管理。因此對一個軟件開發(fā)人員來講,還需要掌握一門數(shù)據(jù)庫語言,目前主流的數(shù)據(jù)庫語言是SQL語言。VB對數(shù)據(jù)庫的支持就很好,并且內(nèi)置了SQL語言。在功能強大的VC++中訪問數(shù)據(jù)庫要比VB復(fù)雜的多。而且VB簡單易學(xué),入門容易。對數(shù)據(jù)庫管理系統(tǒng)來說,Oracle和SQLServer過于龐大,內(nèi)容繁雜,不容易入門。Access雖然是針對小型數(shù)據(jù)庫的,但是功能也很強大,并且與Oracle和SQLServer一樣,都是主流的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。Access通過它的工具VBA與Visual Basic緊密集成在一起。學(xué)習(xí)VB還可以對微軟的Office系列產(chǎn)品進行更深入的了解。目前,用VB和VBA(Visual Basic for Application)進行開發(fā)仍有一定市場。

5 結(jié)語

本文探討了軟件開發(fā)的四種編程語言,并分別指出了它們的特點及性能。當(dāng)然并不是說,只學(xué)習(xí)這四門語言就夠了,軟件開發(fā)人員要學(xué)習(xí)的東西還很多,比如數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)、組成原理、編譯原理、計算機網(wǎng)絡(luò)等。但這四種語言應(yīng)該軟件開發(fā)人員應(yīng)該掌握的四種語言。目前軟件開發(fā)有專業(yè)的開發(fā)人員和非專業(yè)的開發(fā)人員,所謂專業(yè)的開發(fā)人員是指計算機專業(yè)畢業(yè),系統(tǒng)的學(xué)習(xí)過計算機理論知識,他們是軟件開發(fā)的骨干。非專業(yè)開發(fā)人員是指沒有系統(tǒng)的學(xué)習(xí)過計算機理論,但由于工作關(guān)系又經(jīng)常接觸計算機,因為現(xiàn)在是信息時代,他們是計算機開發(fā)的主力,因為他們熟悉本行業(yè)的流程,專業(yè)人員與他們結(jié)合起來才能開發(fā)出高效的軟件??紤]到計算機與非計算機專業(yè)之間的差別,這里給出學(xué)習(xí)四種語言的如下建議:對專業(yè)開發(fā)人員來講,四種語言都應(yīng)該掌握或至少熟悉。對于非專業(yè)人員,掌握四種語言有較大困難,可在掌握VB及Access的基礎(chǔ)上再掌握一種語言(筆者推薦C或者Java)。

參考文獻:

[1] 譚浩強. C語言程序設(shè)計[M]. 清華大學(xué)出版社.2010.

[2] 孫鑫. 余安萍 VC++深入詳解[M].電子工業(yè)出版社. 2006 .

[3] 朱福喜. Java語言程序設(shè)計[M]. 科學(xué)出版社.2009

篇8

【關(guān)鍵詞】教學(xué)改革;編程;高職教育

一、高職院校計算機編程類課程教學(xué)的現(xiàn)狀

高職院校計算機編程類課程教學(xué)的好壞,一直制約著學(xué)生專業(yè)核心課程的學(xué)習(xí),也成為影響學(xué)院招生的重要因素。與計算機軟件開發(fā)息息相關(guān)的編程知識是一個不斷發(fā)展,并不斷的更新的新興學(xué)科,因此,我們計算機編程類課程的教學(xué)就不能墨守成規(guī),這對當(dāng)前的高職計算機教育提出了更嚴(yán)格的要求。當(dāng)前高等職業(yè)院校計算機編程類課程的教學(xué)還存在一些問題。

(一)課程教學(xué)安排不夠合理

由于計算機編程類課程屬于專業(yè)基礎(chǔ)課程,理論知識偏多,目前大部分高職院校此類課程的教學(xué)以理論課程為主,實踐課程較少。有些課程如c語言程序設(shè)計、Java程序設(shè)計等會安排一定的實踐課程。但是由于課程內(nèi)容過于抽象,教師在實踐課程中也是以講授為主,學(xué)生成為了教學(xué)的旁觀者,并沒有真正融入到教學(xué)中去。

(二)課程教學(xué)對學(xué)生的評價方式過于單一

由于課程的特殊性,目前大部分高等職業(yè)院校對于編程類課程教學(xué)中的學(xué)生評價主要有平時出勤情況、期中考試和期末考試構(gòu)成,且期末考試成績占學(xué)生總評成績的大部分比例,期末考試采用的考試形式是閉卷筆試??己诵问竭^于單一。有些學(xué)生投機取巧通過背書、背課后習(xí)題甚至通過考場作弊的方式拿到高分。部分高校通過了一系列的改革,利用在線考試系統(tǒng)隨機出題方式考核,但是局限于選擇題和填空題,學(xué)生考前背題庫的現(xiàn)象隨處可見。這些問題的出現(xiàn),明顯違背了編程類課程教學(xué)設(shè)計的本意,達不到培養(yǎng)學(xué)生編程思想和提高學(xué)生能力目的。

(三)高職院校學(xué)生學(xué)習(xí)積極性不足

計算機編程類課程本是枯燥無味,比較難學(xué)的課程,且通過多年的教學(xué)經(jīng)歷我發(fā)現(xiàn)目前高職院校有很多學(xué)生都是被班主任和家長強迫上課學(xué)習(xí),只有少部分同學(xué)由于對課程感興趣或者有明確的學(xué)習(xí)目標(biāo)而主動學(xué)習(xí)。這樣導(dǎo)致部分學(xué)生對這類課程的重要性認(rèn)識的不夠充分,特別是一些基礎(chǔ)差的同學(xué)更是如此,長此以往便失去了學(xué)習(xí)的積極性。這便給高職院校編程類課程的教學(xué)和學(xué)生后續(xù)專業(yè)課程的學(xué)習(xí)造成很大障礙,更不利于學(xué)生專業(yè)能力的提升。

(四)教學(xué)模式期待進一步改革

傳統(tǒng)教學(xué)中,教師課堂講授完之后學(xué)生接著練習(xí)。大部分學(xué)生其實所謂的課后練習(xí)僅僅是將上課老師的例子記下來然后重復(fù)地輸入到電腦里然后運行,或者是將教材上的實例輸入到電腦運行,如果運行正常,這次練習(xí)到此結(jié)束。如果運行過程中出了問題,那么也是輸入錯別字母所致。其實在這個練習(xí)過程中學(xué)生能學(xué)到的僅僅是計算機的信息錄入能力。因為在整個過程中學(xué)生不會去思考和發(fā)現(xiàn)問題,更不會去解決問題。

二、高職院校計算機程序課程的改革

針對目前各高職院校計算機編程類課程教學(xué)中存在的各種問題,結(jié)合我院實際情況以及本人在教學(xué)過程中的親身經(jīng)歷,提出了對此類課程教學(xué)的幾點改革思路,并取得了一定成效。

(一)培養(yǎng)和提高高職院校學(xué)生學(xué)習(xí)編程類課程的積極性和主動性

高等職業(yè)教育不同于高等本科教育,高職教育重點在于培養(yǎng)學(xué)生的動手實踐能力,因此在我們的程序設(shè)計類課程的教學(xué)過程中加強對學(xué)生學(xué)習(xí)的積極性和主動性的培養(yǎng)是非常必要的。我們應(yīng)該充分認(rèn)識到高職院校學(xué)生基礎(chǔ)偏差、學(xué)習(xí)耐心不足和學(xué)習(xí)積極性不高這一特點,適當(dāng)降低課程教學(xué)內(nèi)容的難度,挖掘課程教學(xué)過程中學(xué)生學(xué)習(xí)的興趣點,創(chuàng)新實踐教學(xué)內(nèi)容,優(yōu)化教學(xué)案例,并布置以小組形式完成的且與學(xué)生生活相關(guān)的編程小項目等,以此來挖掘?qū)W生本身的潛能,讓學(xué)生體會到程序設(shè)計的成就感,進而調(diào)動學(xué)生學(xué)習(xí)的積極性。

(二)創(chuàng)新編程類課程教學(xué)模式和學(xué)生評價體系

目前大部分高職院校的教學(xué)評價系統(tǒng)僅僅只是對教學(xué)結(jié)果的評價,主要體現(xiàn)在學(xué)生的成績上而忽視了教學(xué)和學(xué)生學(xué)習(xí)的過程。學(xué)習(xí)的過程即為發(fā)現(xiàn)問題到解決問題的過程,我們的編程教學(xué)也要遵循這一過程。

據(jù)此,結(jié)合我院的實際情況和課程教學(xué)情況,本人開發(fā)出一套創(chuàng)新性學(xué)習(xí)平臺,通過此平臺可以將學(xué)生課堂學(xué)習(xí)和課后練習(xí)緊密聯(lián)系起來。首先教師上完課程后必須通過此平臺學(xué)生將要完成的課后小項目,并同時設(shè)定完成的時間。不僅如此,教師還可以設(shè)定完成該項目的同時必須記錄下來同學(xué)完成任務(wù)過程中遇到的問題(至少5條),同時學(xué)生還必須回答其他同學(xué)提出的問題(至少5條),只有在指定時間內(nèi)完成的項目并記錄了指定數(shù)目的問題和回答了指定數(shù)目的問題后,系統(tǒng)會自動幫該學(xué)生計人一定分?jǐn)?shù),每次項目的分?jǐn)?shù)累積可作為期末綜合成績評定的重要參考。學(xué)生可以實時看到自己本次課程的動態(tài)成績。通過本系統(tǒng)對教學(xué)模式和學(xué)生評價的改革可進一步提高學(xué)生主動探索式學(xué)習(xí)的主動性、積極性和團隊合作的精神。

篇9

關(guān)鍵詞:敏捷軟件開發(fā);計算機語言課程設(shè)計;團隊合作

計算機語言課程設(shè)計是各大工科院校自動化及相關(guān)專業(yè)的必修實踐環(huán)節(jié),一般安排在計算機語言類課程之后開設(shè)。學(xué)生通過2~3周的編程集訓(xùn),完成一個小規(guī)模的軟件設(shè)計,體驗軟件的開發(fā)周期,從而獲得軟件開發(fā)綜合能力的提高,為后續(xù)專業(yè)課程的學(xué)習(xí)奠定編程基礎(chǔ)。近年來,企業(yè)對本科畢業(yè)生的要求越來越高,畢業(yè)生不僅要有扎實的專業(yè)功底,而且要具備較強的計算機應(yīng)用、軟件開發(fā)、創(chuàng)新和團隊合作等綜合能力。而且,團隊合作能力越來越受到企業(yè)的重視。因此,高校應(yīng)根據(jù)現(xiàn)代企業(yè)和社會的需求進行人才的全面培養(yǎng)。作為計算機語言課程設(shè)計的帶隊教師,應(yīng)在教學(xué)過程中不斷探索新的教學(xué)方法,尋求新的編程訓(xùn)練模式。

1計算機語言課程設(shè)計的教學(xué)現(xiàn)狀

目前,我校開設(shè)的計算機語言課程設(shè)計實踐課歷時兩周,主要訓(xùn)練學(xué)生進行Windows程序的開發(fā),編程語言由學(xué)生根據(jù)自己的情況自選。課程設(shè)計的題目分為兩類:一類由帶隊教師自己擬定;另一類由學(xué)生自己擬定。教師擬定的題目大多結(jié)合生活實際,且?guī)в须y度系數(shù),最終以題目庫的形式呈現(xiàn)給學(xué)生,學(xué)生可根據(jù)自己的情況進行選題;考慮到有的學(xué)生對題目庫中的設(shè)計題目都不感興趣,影響編程的積極性,允許學(xué)生根據(jù)自己的興趣取向自擬題目,但是要得到教師的許可。這樣,學(xué)生才能真正體驗到開發(fā)程序帶來的快樂,計算機綜合能力也會得到相應(yīng)的提高。經(jīng)過多年的教學(xué)實踐探索,計算機語言課程設(shè)計實踐雖然取得了一定的成績,也得到了學(xué)生的認(rèn)可,但是還存在一些不足之處需要進一步改進。(1)每個設(shè)計題目均指定單個學(xué)生獨立完成,學(xué)生從查閱資料到完成程序設(shè)計的整個實踐過程中同學(xué)間的交流、合作機會少。(2)帶隊教師很重視計算機編程能力的培養(yǎng),但是忽視了社會實踐、團隊合作之類的軟技能[1]培養(yǎng)。分析上述的不足之處,可以看出以往的教學(xué)模式不利于學(xué)生團隊合作綜合能力的提高。因此,為了進一步提高教學(xué)質(zhì)量,令學(xué)生既能體驗最流行的編程模式,同時又能在實踐過程中培養(yǎng)創(chuàng)新探索能力、團隊合作能力,在本課程設(shè)計的教學(xué)方法改革中引入敏捷軟件開發(fā)模式[2],給學(xué)生創(chuàng)造溝通的機會,增強學(xué)生的團隊意識,讓學(xué)生在團隊互動的實踐過程中得到最好的編程鍛煉,使得軟件開發(fā)能力和軟技能綜合能力得到最大的提升。

2敏捷軟件開發(fā)模式

2.1敏捷軟件開發(fā)模式

敏捷軟件開發(fā)模式[2]是從2001年2月開始興起的軟件開發(fā)模式,屬于輕載軟件模式。因為它的開發(fā)效率高于重載軟件開發(fā)模式,已成為全球流行的軟件開發(fā)模式。2010年12月10日,中國敏捷軟件開發(fā)聯(lián)盟正式成立[3],從此,國內(nèi)的軟件界也加入了敏捷軟件開發(fā)模式的行列。敏捷開發(fā)模式有一個突出的優(yōu)點——非常重視團隊合作。該開發(fā)模式有很多子方法[2]:如極限編程(ExtremeProgrammin)、特性驅(qū)動開發(fā)(FeatureDrivenDevelopmen)、水晶方(CrystalMethodologie)、Scrum方法、動態(tài)系統(tǒng)開發(fā)(DynamicSystemsDevelopmentMethodolog)等,每個子方法中都內(nèi)含了團隊編程。和傳統(tǒng)的軟件開發(fā)方法不同,敏捷軟件開發(fā)的團隊成員在每天開始工作前,都要進行一次集體的面對面的討論與交流[2]。所以,為了保證整個開發(fā)過程的順利進行,團隊的每個成員必須要學(xué)會主動和他人交流。

2.2敏捷軟件開發(fā)子模式的選擇

在所有敏捷開發(fā)的子模式中,開發(fā)團隊一般為5~6人。如果在計算機語言課程設(shè)計中規(guī)定5~6名學(xué)生組建一個編程團隊,那么肯定有些學(xué)生會變得不主動。仔細(xì)研究敏捷開發(fā)的子模式,發(fā)現(xiàn)極限編程中的結(jié)對編程方法非常適合小規(guī)模團隊的編程訓(xùn)練。這種編程模式通常由兩個學(xué)生組成一個編程小組,在同一臺計算機前共同完成一個軟件的開發(fā)。具體分工是:一個學(xué)生負(fù)責(zé)寫代碼,另一個學(xué)生負(fù)責(zé)檢查代碼的正確性。在開發(fā)過程中,負(fù)責(zé)輸入代碼和檢查代碼的角色可以根據(jù)需要靈活地調(diào)換。在整個編程過程中,一旦發(fā)現(xiàn)語法和運行錯誤,須及時討論并調(diào)試。在計算機語言課程設(shè)計的實踐過程中采用結(jié)對編程這種敏捷方法,相對于以往的訓(xùn)練方式,是一種新的教學(xué)方法。這種結(jié)對方式既可以提高程序的開發(fā)效率、縮短代碼的開發(fā)周期,又有利于建立起良好的團隊合作和學(xué)習(xí)氛圍。這也符合現(xiàn)在的以CDIO(ConceiveDesignImplementOperat)理念[4]培養(yǎng)工程技術(shù)人員的要求。

3敏捷軟件模式在計算機語言課程設(shè)計的實踐應(yīng)用

3.1組建團隊

在課程設(shè)計開始之前,首先要進行團隊組建,即結(jié)對。敏捷宣言的原則中提到[3]:“最好的架構(gòu)、需求和設(shè)計出于自組織團隊”。所以,組建團隊時,教師從不強行指定,而是讓學(xué)生本著自愿結(jié)對的原則,這樣形成的小團隊才是最有潛力的團隊。在接下來的兩周時間內(nèi),結(jié)對的學(xué)生將在整個課程設(shè)計過程共同完成軟件的前期調(diào)研、設(shè)計開發(fā)、調(diào)試和成果答辯匯報等。學(xué)生將在所選項目的開發(fā)過程中通過親身體驗團隊合作學(xué)會如何發(fā)現(xiàn)問題、共同分析問題和解決問題,同時提高自身的項目分析能力、創(chuàng)新思維能力和合作交流能力。

3.2選題與構(gòu)思

結(jié)對以后,小組成員要通過初步討論進行選題和方案構(gòu)思。如果對題目庫中的題目不太感興趣,允許學(xué)生根據(jù)自己的興趣自擬題目。待題目確定后,繼續(xù)進行查閱資料、調(diào)研,并設(shè)計出初步的方案。如果兩個人對設(shè)計方案意見不一致,需要進一步進行溝通交流。必要時請老師參與討論,最終的設(shè)計方案必須是通過結(jié)對的兩人討論一致好方案。在整個選題構(gòu)思過程中,學(xué)生都處于主動地位。

3.3具體實踐

這一階段,結(jié)對的學(xué)生要根據(jù)第二步的設(shè)計方案開始編程。按照經(jīng)典的結(jié)對編程流程,兩個學(xué)生須在同一臺計算機前一起編程。由于在本課程設(shè)計開設(shè)之前學(xué)生從沒有經(jīng)過系統(tǒng)的軟件開發(fā)訓(xùn)練,所以在課程設(shè)計的過程中,不能照搬經(jīng)典的結(jié)對編程流程。我們?yōu)槊總€結(jié)對組配備兩臺計算機,結(jié)對的雙方要合理地利用兩臺計算機:一臺用來顯示資料和代碼實例;另一臺主要用來結(jié)對編程實現(xiàn)。這樣整個代碼的開發(fā)仍在一臺計算機上完成,負(fù)責(zé)輸入代碼的學(xué)生要保證代碼輸入的快速性,負(fù)責(zé)校驗代碼的學(xué)生要保證代碼的正確性。編程中如果遇到了不懂的地方,可以利用另外一臺計算機隨時進行資料查閱和代碼實例的比照。在整個編程實現(xiàn)的過程中,結(jié)對編程的兩個人要相互信任、互相督促,共同學(xué)習(xí)編程的技能,這樣編程能力弱的學(xué)生也能在結(jié)對過程中學(xué)到編程的方法,共同完成團隊的任務(wù)。在整個實踐階段,為了掌握學(xué)生編程的進度,帶隊教師將以客戶的身份全程參與到每個結(jié)對小組的實訓(xùn)中。建議每個小組在開始一天的工作前,必須開會決定當(dāng)天的任務(wù),并做成計劃文檔;每天的工作完成后,需將當(dāng)天的編程結(jié)果給帶隊教師看,教師會根據(jù)每天的進展對每個結(jié)對小組當(dāng)天的結(jié)果提出反饋的意見和改進的要求。

3.4檢查與提交

具體實踐完成后,結(jié)對小組邀請教師來檢查已完成的軟件。通常,帶隊教師先檢查代碼的正確性,保證程序能順利運行;然后,從使用者的角度來檢查軟件是否符合設(shè)計要求。如果發(fā)現(xiàn)問題,則再次討論修改,直到通過教師的認(rèn)可方可提交代碼。

3.5考核

作為一門實踐課,成績考核是非常重要的,不能光靠最后提交的程序評定成績,這樣就會造成成績的不公平。采用了敏捷軟件的結(jié)對開發(fā)模式后,由于帶隊教師全程參與了各個小團隊的開發(fā)過程,掌握了每個團隊成員的平時表現(xiàn),設(shè)計成績由程序運行情況(40%)、答辯情況(10%)、平時表現(xiàn)(30%)和報告文檔(20%)四部分組成,每一部分又分為五個等級,具體評分標(biāo)準(zhǔn)見表1。

4結(jié)束語

面對用人單位對人才的高要求,高校對程序設(shè)計之類的實訓(xùn)課應(yīng)不斷探索新的教學(xué)方法。將敏捷軟件開發(fā)模式應(yīng)用到計算機語言課程設(shè)計的教學(xué)中,已在我校自動化12級、13級的學(xué)生中進行了兩年的實踐。從兩年的教學(xué)效果來看,在新的教學(xué)模式要求下,學(xué)生學(xué)會了相互間的交流、相互間的合作,學(xué)會和別人一起分享成功。從小團隊的組建到課題的選擇,從方案的設(shè)計再到實現(xiàn),均通過結(jié)對的兩人合作完成,給學(xué)生提供了很大的自主空間。相對于以前的教學(xué)模式,學(xué)生在課程實踐中獲得計算編程能力的極速提升,軟技能也得到了培養(yǎng),極大地提高了學(xué)生的積極性和創(chuàng)新性。后續(xù)專業(yè)課的任課教師也反饋:學(xué)生經(jīng)過本教學(xué)模式的編程訓(xùn)練,在專業(yè)課需要編程的實驗環(huán)節(jié)表現(xiàn)出了很強的程序開發(fā)能力和組織能力。

參考文獻

[1]袁華,張凌.網(wǎng)絡(luò)工程設(shè)計實踐課程能力培養(yǎng)初探[J].計算機工程與科學(xué),2014,36(A2):242-245.

[2][美]RobertC.Martin.敏捷軟件開發(fā):原則、模式與實踐[M].北京:清華大學(xué)出版社,2003.

[3]張志麗.軟件開發(fā)生命周期法比較之敏捷與傳統(tǒng)[J].電腦開發(fā)與應(yīng)用,2013,26(12):32-37.

[4]顧佩華,包能勝,康全禮.CDIO在中國[J].高等工程教育研究.2012(3):24-40.

篇10

關(guān)鍵詞:計算思維;大學(xué)計算機基礎(chǔ);教學(xué)改革

1.計算思維是改變大學(xué)計算機基礎(chǔ)課程現(xiàn)狀的核心推力

計算思維(Computational Thinking)是美國卡內(nèi)基梅隆大學(xué)計算機系周以真教授提出的概念,其定義為“運用計算機科學(xué)的基本概念去求解問題、設(shè)計系統(tǒng)和理解人類的行為,包括了涵蓋計算機科學(xué)之廣度的一系列思維活動”。計算思維反映了計算機技術(shù)本質(zhì)特征和解決問題的核心方法,能夠提升非計算機專業(yè)學(xué)生的計算素養(yǎng),培養(yǎng)學(xué)生用計算機處理和解決領(lǐng)域問題時的思維方法和表達形式,對學(xué)生有深遠(yuǎn)影響。2010年陳國良院士提出將“計算思維能力培養(yǎng)”作為計算機基礎(chǔ)課程教學(xué)改革切入點的倡議,2012年7月,教指委在西安舉辦了“第一屆計算思維與大學(xué)計算機課程教學(xué)改革研討會”。2013年7月“第二屆計算思維與大學(xué)計算機課程教學(xué)改革研討會”在成都召開。這些都表明,增強計算思維能力的培養(yǎng)已成為非計算機專業(yè)計算機課程教學(xué)改革的重要方向。

大學(xué)計算機基礎(chǔ)是大學(xué)本科的公共基礎(chǔ)課程,通常作為大學(xué)第一學(xué)期的課程。當(dāng)前,在該課程教學(xué)過程中存在一些問題,已經(jīng)引起廣泛關(guān)注:首先,多數(shù)教學(xué)內(nèi)容是計算機專業(yè)知識的濃縮,缺乏主線,顯得多而雜;其次,實踐環(huán)節(jié)側(cè)重軟件工具使用,由于不少學(xué)生在高中階段已經(jīng)掌握這些工具的使用,導(dǎo)致其失去對該課程的學(xué)習(xí)興趣。不少專業(yè)教師和教育管理者已經(jīng)針對課程教學(xué)中存在的問題進行了有益探索與實踐,例如,面向多類專業(yè)不同計算機基礎(chǔ)的學(xué)生,組織了分類教學(xué),收到一定效果,但沒有從根本上改變課程現(xiàn)狀。而以計算思維教育與訓(xùn)練為核心實施大學(xué)計算機基礎(chǔ)的改革與創(chuàng)新,能從根本上改變該課程的現(xiàn)狀,并有效提升教學(xué)質(zhì)量與效果。

2.大學(xué)計算機基礎(chǔ)課程教學(xué)過程體現(xiàn)計算思維培養(yǎng)

2.1亟待解決的問題

課程的改革目標(biāo)是讓學(xué)生在學(xué)習(xí)計算機核心知識和掌握應(yīng)用工具的基礎(chǔ)上學(xué)習(xí)運用高效的思維去思考,將無意識的計算思維教學(xué)理念提升到有意識、系統(tǒng)性的計算思維教學(xué)。力求從根本上扭轉(zhuǎn)目前大學(xué)計算機基礎(chǔ)課程所面臨的教學(xué)困境。針對以上目標(biāo),需要以計算思維為核心重構(gòu)教學(xué)內(nèi)容,并通過合適的教學(xué)實踐手段和方法使得這些重構(gòu)的內(nèi)容能夠被學(xué)生接受和理解。通過分析,提煉出要解決的具體問題如下:

1)在有限課時內(nèi)需要培養(yǎng)學(xué)生哪些具體計算思維要素。

我們的目標(biāo)是傳授給學(xué)生基本的計算機核心知識,但是計算機科學(xué)作為一門學(xué)科包含了復(fù)雜的知識體系,并在不斷地發(fā)展和創(chuàng)新,需要確定哪些知識點能夠被定義為該課程教授的核心內(nèi)容。

2)如何在學(xué)生尚未掌握任何一門編程語言的情況下實踐所學(xué)計算思維內(nèi)容。

大學(xué)計算機基礎(chǔ)課程所面臨的是大學(xué)一年級學(xué)生,除個別學(xué)生在入校之前有過編程經(jīng)驗,學(xué)生普遍沒有編程基礎(chǔ)。如何在缺乏編程實踐的前提下讓學(xué)生掌握計算思維是決定最終教學(xué)效果的關(guān)鍵問題。

3)面向不同基礎(chǔ)和專業(yè)的學(xué)生如何體現(xiàn)不同的計算思維的教育和訓(xùn)練內(nèi)容。

2.2分類教學(xué)、專業(yè)融合的教學(xué)內(nèi)容設(shè)計

西北工業(yè)大學(xué)是一所以發(fā)展航空、航天、航海工程教育和科學(xué)研究為特色,以工、理為主,管、文、經(jīng)、法協(xié)調(diào)發(fā)展的研究型、多學(xué)科性和開放式大學(xué)。不同專業(yè)對學(xué)生的計算機知識的要求不同,存在較大差異。相同專業(yè)學(xué)生之間的計算機知識也有較大差距,在這種情況下采用分類教學(xué)是必要的。例如在程序設(shè)計課程中按照文、理科進行分類實踐教學(xué),取得了良好的成效,積累了經(jīng)驗,但是在大學(xué)計算機基礎(chǔ)課程中尚未實施。此次以計算思維培養(yǎng)為核心的大學(xué)計算機基礎(chǔ)課程教學(xué)改革在教學(xué)內(nèi)容設(shè)計上除按照文、理分類外,還考慮到特殊方向和專業(yè)學(xué)生群體的較高計算機教育的需求,將教學(xué)內(nèi)容分為4個方向:(1)面向理工類專業(yè)學(xué)生;(2)面向文管類專業(yè)學(xué)生;(3)面向國際班學(xué)生全英文計算機教學(xué);(4)面向教育實驗學(xué)院卓越班。

西北工業(yè)大學(xué)作為理工科重點院校,大多數(shù)學(xué)生都?xì)w類于方向(1),以2013年數(shù)據(jù)為例,方向(1)約占62%,方向(2)約占17%,方向(3)約占4%,方向(4)約占17%。在確定每個方向?qū)W生教學(xué)內(nèi)容時,遵循“兩個融合”的原則,將計算機基礎(chǔ)教育與計算思維培養(yǎng)融合,構(gòu)建以計算思維能力培養(yǎng)為主線的非計算機專業(yè)通識教育;將計算機基礎(chǔ)知識與學(xué)生的專業(yè)技術(shù)融合,在進行計算機思維培養(yǎng)教學(xué)內(nèi)容選擇時,注重計算機基礎(chǔ)知識與學(xué)生專業(yè)方向的融合度。“兩個融合”的具體內(nèi)容包括:

(1)計算思維培養(yǎng)融合,是指將計算機科學(xué)中最具有基礎(chǔ)性和長期性的計算思想教授給學(xué)生,側(cè)重使非計算機專業(yè)學(xué)生能夠領(lǐng)略計算的核心方法,學(xué)會如何把問題轉(zhuǎn)化成能夠用計算機解決的形式,培養(yǎng)學(xué)生從本質(zhì)和全局來建立解決問題的思路,為其今后的專業(yè)學(xué)習(xí)和應(yīng)用計算技術(shù)打下堅實基礎(chǔ)。

(2)專業(yè)技術(shù)融合,是指根據(jù)學(xué)生專業(yè)特點和需求,在計算思維培養(yǎng)融合的基礎(chǔ)上,動態(tài)選擇課程內(nèi)容,形成可定制教學(xué)模塊,實施分類分層教學(xué)。

“兩個融合”原則體現(xiàn)了具有鮮明特色的非計算機專業(yè)大學(xué)計算機教學(xué)方案,形成了縱向分類、橫向分層的教學(xué)內(nèi)容。每個方向內(nèi)容由基本理論知識層、計算思維融合層、專業(yè)融合層組成。以面向理工類專業(yè)學(xué)生的方向(1)為例說明各層的含義,如圖1所示。

1)基本理論知識層。

該層屬于計算機基本知識內(nèi)容,包括基本概念和基本計算思維模塊,在介紹計算機軟、硬件的歷史和未來發(fā)展趨勢過程中貫徹計算機基本知識,包括二進制、馮?諾依曼計算機、圖靈機、計算復(fù)雜性等計算機重要基礎(chǔ)概念等。這部分內(nèi)容比較近似于之前課程中計算機基本知識部分,但我們在教學(xué)改革中對其內(nèi)容重新組織,從計算機重要的“分層”和“抽象”概念出發(fā)引導(dǎo)學(xué)生學(xué)習(xí)這部分知識,力圖讓學(xué)生領(lǐng)略到這些技術(shù)背后的基本計算思維內(nèi)涵。通過學(xué)習(xí)計算機發(fā)展歷史,讓學(xué)生對整個計算科學(xué)發(fā)展有全局了解。

2)計算思維層。

包括問題求解方法和算法模塊,學(xué)生在學(xué)習(xí)了計算機重要基礎(chǔ)知識后,開始深入學(xué)習(xí)計算系統(tǒng)底層具體思維和運行機制。這部分從系統(tǒng)和算法角度讓學(xué)生學(xué)習(xí)計算機解決問題的方法,包括求解框架、典型案例的計算算法、具體思維過程和實現(xiàn)方法等,讓學(xué)生在計算思維較高層次討論計算機學(xué)科的根本問題和思維方式,深入了解計算機的工作和運行機理。這一部分內(nèi)容體現(xiàn)了本課程的計算思維培養(yǎng)目標(biāo)。

3)專業(yè)融合層。

最高層的專業(yè)融合層完成融合專業(yè)知識、提升學(xué)生在專業(yè)學(xué)習(xí)中應(yīng)用計算思維的能力的任務(wù)。該部分從數(shù)據(jù)處理和網(wǎng)絡(luò)計算角度,讓學(xué)生領(lǐng)略到計算機目前最廣泛的應(yīng)用模式,從而在自己的專業(yè)領(lǐng)域加以運用。這部分模塊屬于變化較大的模塊,目前仍然需要開發(fā)和擴充大量與其他專業(yè)更為緊密相關(guān)的案例和應(yīng)用模式。

按照圖1所示,不同類別學(xué)生在基本理論知識層內(nèi)容是相同的,在第2層上,教育實驗學(xué)院學(xué)生所學(xué)的算法和系統(tǒng)內(nèi)容更為深化和多樣,實現(xiàn)了差異化教學(xué)。在專業(yè)融合層,為理工類和文管類不同專業(yè)特色的學(xué)生設(shè)計了不同模塊內(nèi)容。理工類學(xué)生學(xué)習(xí)數(shù)據(jù)處理和計算網(wǎng)絡(luò)知識,而文管類學(xué)生側(cè)重學(xué)習(xí)用計算機處理數(shù)據(jù)和利用計算知識研究社會關(guān)系等。

2.3兩階段培養(yǎng)、可視化計算思維實踐的實驗環(huán)節(jié)

一直以來,實驗教學(xué)通常是理論教學(xué)的輔助,和理論教學(xué)在章節(jié)內(nèi)容上是對應(yīng)的。但在我們的教學(xué)改革中將實驗課程和理論課程定位為“互補關(guān)系”,實驗課程具有相對獨立性,在內(nèi)容中體現(xiàn)“兩階段培養(yǎng)”的實驗教學(xué)理念。第一階段實驗為計算機基礎(chǔ)知識實踐,包括Windows的使用、常用工具軟件的使用、常見網(wǎng)絡(luò)應(yīng)用等。此階段目標(biāo)是培養(yǎng)學(xué)生對計算機基本操作技能和常用工具軟件的掌握;第二階段實驗是關(guān)于計算思維的實驗。這部分內(nèi)容要求學(xué)生依據(jù)具體應(yīng)用問題設(shè)計程序,實現(xiàn)典型算法。兩階段培養(yǎng)中的第一階段目標(biāo)就是要學(xué)生熟練掌握工作和學(xué)習(xí)中常用的工具類軟件,為以后的學(xué)習(xí)和科研打下基礎(chǔ)。

針對在本文2.1節(jié)中提出的第2個問題,即此階段的學(xué)生尚未具備程序設(shè)計的基本知識和經(jīng)驗,我們認(rèn)為,采用可視化編程工具是解決這一問題的有效方法。可視化編程工具支持可視化(Visual)程序設(shè)計,主要是讓程序設(shè)計人員利用軟件本身所提供的控件,構(gòu)造應(yīng)用程序的各種界面,可視化編程技術(shù)已經(jīng)成為當(dāng)今軟件開發(fā)的重要工具和手段。

為此,我們在課程實驗改革中引入可視化編程工具Raptor,使得尚未具備編程基礎(chǔ)的大一學(xué)生能夠?qū)嵤┧惴▽嵺`和驗證。Raptor是一種可視化的程序設(shè)計環(huán)境,其將程序設(shè)計中的要素以圖形符號的方式展現(xiàn),使得學(xué)生在不具備編程知識的基礎(chǔ)上可以實踐計算機中算法類問題。目前,它已經(jīng)在卡內(nèi)基?梅隆大學(xué)等世界22個以上的國家和地區(qū)的高等院校中使用。

在實驗課程中設(shè)計了4個學(xué)時講解Raptor工具并要求每個學(xué)生至少課堂完成8個基本算法實驗任務(wù)。在實驗課之外,要求學(xué)生用Raptor完成算法類大作業(yè)并撰寫實驗報告,以綜合訓(xùn)練學(xué)生解決算法類問題的能力。教學(xué)過程和最后的調(diào)查結(jié)果表明,引入算法類可視化工具有助于實驗教學(xué)取得良好效果。

3.改革實踐和總結(jié)

在2013-2014學(xué)年,我們將改革后的教學(xué)內(nèi)容對部分理工類班級開展了試點教學(xué),試點專業(yè)涉及材料、自動化、電子信息專業(yè)等,在課程末期分別針對任課教師和學(xué)生做了教學(xué)效果調(diào)查,調(diào)查結(jié)果表明教學(xué)效果基本達到預(yù)期教學(xué)目標(biāo)。

教師普遍感受為所帶課程的難度和以往課程內(nèi)容相比備課較難,但課堂氛圍較好,內(nèi)容受到學(xué)生關(guān)注,尤其實驗環(huán)節(jié)引入了Raptor可視化程序設(shè)計工具,課堂氛圍活躍,學(xué)生的學(xué)習(xí)興趣和積極性較以往有大幅提高。

部分學(xué)生調(diào)查結(jié)果如圖2和圖3所示。圖2是學(xué)生對計算思維認(rèn)識的調(diào)查結(jié)果,顯示出大多數(shù)學(xué)生(達到60%以上)理解了計算思維的概念,認(rèn)識到計算思維和計算機基礎(chǔ)課程的重要性,不僅僅只是學(xué)習(xí)工具應(yīng)用,而是對今后理解和掌握計算機應(yīng)用技術(shù)奠定基礎(chǔ),從無意識地應(yīng)用計算機解決問題到有意識地培養(yǎng)自己的計算思維思想。圖3為調(diào)查學(xué)生認(rèn)為教學(xué)內(nèi)容中哪部分收獲最大,19%的學(xué)生認(rèn)為計算思維有最大收獲,居第二位置,說明這部分的學(xué)習(xí)為培養(yǎng)優(yōu)秀學(xué)生的創(chuàng)新能力打下了良好的基礎(chǔ)。