項(xiàng)中華
摘要:闡述計(jì)算思維的重要性,分析目前高職學(xué)生和教師在Java課程中存在的問題,并介紹結(jié)合計(jì)算思維解決上述問題擬采取的措施。
關(guān)鍵詞:計(jì)算思維;Java程序設(shè)計(jì);教學(xué)改革
中圖分類號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2019)29-0180-02
1概述
2006年3月,卡內(nèi)基·梅隆大學(xué)的周以真教授在《communi-cations of the ACM》上,首次提出了計(jì)算思維的概念。計(jì)算思維是運(yùn)用計(jì)算機(jī)科學(xué)的基礎(chǔ)概念去求解問題、設(shè)計(jì)系統(tǒng)和理解人類的行為。它包括了涵蓋計(jì)算機(jī)科學(xué)之廣度的一系列思維活動(dòng)。計(jì)算思維是由人和機(jī)器執(zhí)行,受限于計(jì)算過程中的能力。目前,計(jì)算思維是計(jì)算機(jī)界普遍關(guān)注的重要概念,也是當(dāng)前中小學(xué)及高校計(jì)算機(jī)教育重點(diǎn)研究的課題之一。
2課程特點(diǎn)
Java是面向?qū)ο蟪绦蛟O(shè)計(jì)語言,其教學(xué)內(nèi)容可以分成面向過程的程序設(shè)計(jì)和面向?qū)ο蟮某绦蛟O(shè)計(jì)兩個(gè)部分。
面向過程的部分類似于C語言主要介紹語言的語法規(guī)則,內(nèi)容包括變量的基本類型、運(yùn)算符、程序邏輯結(jié)構(gòu)控制等,使學(xué)生在C語言基礎(chǔ)上,進(jìn)一步掌握有關(guān)編程方法理論。強(qiáng)調(diào)基于計(jì)算機(jī)的基礎(chǔ)概念,以解決數(shù)學(xué)問題為主,需要掌握和應(yīng)用各種常用算法。
面向?qū)ο蟛糠种饕獌?nèi)容為面向?qū)ο蟪绦蛟O(shè)計(jì),具體包括類和繼承,以及接口和多態(tài)等,不僅僅是面向?qū)ο蟪绦蛘Z法,更需要以計(jì)算思維將現(xiàn)實(shí)業(yè)務(wù)邏輯抽象表達(dá),更注重培養(yǎng)抽象思維能力。
可見,Java程序設(shè)計(jì)這門課不僅僅是簡(jiǎn)單的學(xué)習(xí)與應(yīng)用語法規(guī)則,更是要注重計(jì)算思維的訓(xùn)練,以及基于該思維的分析問題、解決問題能力。
3教學(xué)中存在的問題
3.1學(xué)生方面
(1)高職學(xué)生高考入學(xué)成績(jī)普遍較低,尤其是數(shù)學(xué)與英語,學(xué)生基礎(chǔ)知識(shí)薄弱,邏輯思維能力不強(qiáng),對(duì)英文存在恐懼心理。
(2)學(xué)生學(xué)習(xí)目的不明確,自主能動(dòng)性不強(qiáng),尤其缺乏自我能力,極易受到外界環(huán)境的影響。
(3)因?yàn)檎n程開設(shè)在大一第二學(xué)期,作為大一新生,學(xué)生對(duì)大學(xué)生活還未完全適應(yīng),直接導(dǎo)致了學(xué)習(xí)效果不佳,部分學(xué)生經(jīng)過第一學(xué)期的c語言課程,對(duì)程序設(shè)計(jì)產(chǎn)生畏懼甚至厭學(xué)心理。
3.2教師方面
(1)教師基本按照教材章節(jié)安排教學(xué),過于強(qiáng)調(diào)知識(shí)的講授和整體性,忽視了對(duì)學(xué)生思維方式培養(yǎng),無法將重點(diǎn)知識(shí)內(nèi)容教學(xué)展示給學(xué)生。
(2)過于強(qiáng)調(diào)語法和編程規(guī)則,在講課過程中往往沒有留給學(xué)生足夠時(shí)間去思考和消化,忽略算法的設(shè)計(jì)過程,只是照搬經(jīng)典算法,過于注重語法知識(shí),勢(shì)必會(huì)阻礙學(xué)生計(jì)算思維的培養(yǎng),造成學(xué)生知識(shí)片面化,無法完整的理解知識(shí)結(jié)構(gòu),無法將知識(shí)應(yīng)用于實(shí)際。
(3)教學(xué)方式基本采用單一的灌輸式教學(xué),任課老師側(cè)重教,而學(xué)生只管學(xué),缺乏對(duì)學(xué)生思維的引導(dǎo),沒有將計(jì)算思維與課堂教學(xué)環(huán)節(jié)相結(jié)合,學(xué)生也很難由被動(dòng)學(xué)習(xí)轉(zhuǎn)換為主動(dòng)學(xué)習(xí)。
(4)教學(xué)組織沒有兼顧學(xué)生個(gè)體差異,缺乏層次遞增的教學(xué)設(shè)計(jì),往往導(dǎo)致基礎(chǔ)好的學(xué)生沒吃飽,基礎(chǔ)差的學(xué)生沒吃到。
4擬采取的措施
(1)調(diào)整課程內(nèi)容,以基本語法和面向?qū)ο缶幊虨橹鳎釛壘W(wǎng)絡(luò)、數(shù)據(jù)庫等相關(guān)知識(shí),著重對(duì)學(xué)生計(jì)算思維方面的培養(yǎng)。
(2)以算法設(shè)計(jì)為教學(xué)重點(diǎn),擯棄以前以語法為教學(xué)重點(diǎn)的教學(xué)方法。從自然語言描述問題開始,引導(dǎo)學(xué)生從多方面積極思考,形成求解思路,激活學(xué)生的創(chuàng)新思維,最后編寫符合語法規(guī)則的程序代碼。
(3)改變學(xué)生的思維習(xí)慣,以計(jì)算機(jī)為主體去思考問題。學(xué)生遇到問題時(shí),往往沒有考慮計(jì)算機(jī)的約束與局限,而是慣性思維,導(dǎo)致算法錯(cuò)誤。應(yīng)使學(xué)生了解計(jì)算機(jī)程序的執(zhí)行順序,學(xué)會(huì)監(jiān)控和調(diào)試程序,培養(yǎng)他們利用計(jì)算思維解決問題的能力。
(4)積極引導(dǎo)學(xué)生學(xué)習(xí)經(jīng)典算法解決問題。培養(yǎng)學(xué)生對(duì)經(jīng)典算法的應(yīng)用能力,從模仿開始,在程序設(shè)計(jì)中,學(xué)習(xí)分析解決問題的方法和步驟,逐步培養(yǎng)學(xué)生自己解決抽象問題的能力,主動(dòng)用計(jì)算思維去解決問題,舉一反三,融會(huì)貫通。
(5)設(shè)計(jì)由淺入深,層層遞進(jìn)的教學(xué)案例。從簡(jiǎn)單的問題人手,打消學(xué)生的畏難情緒,然后由淺人深,由簡(jiǎn)單到復(fù)雜,逐步地優(yōu)化算法,使學(xué)生易于接受。
(6)設(shè)計(jì)趣味性、綜合性的教學(xué)案例。采用分而治之的計(jì)算思維,逐步細(xì)化分解到各個(gè)單元,將計(jì)算思維的訓(xùn)練貫穿其中,在學(xué)生自主實(shí)踐中,認(rèn)識(shí)和掌握解決問題的思維方式,教會(huì)學(xué)生如何學(xué)習(xí)和思考。
5結(jié)束語
計(jì)算思維在Java程序設(shè)計(jì)中起著很重要的作用。在教學(xué)中不能僅滿足于學(xué)生學(xué)會(huì)編程技巧,更要注重培養(yǎng)學(xué)生的思維能力、創(chuàng)新能力以及自學(xué)能力,還要教給學(xué)生歸納總結(jié)、舉一反三的學(xué)習(xí)方法,要采用慢慢引入、循序漸進(jìn)的方式把這種思維滲透到各個(gè)知識(shí)點(diǎn)。培養(yǎng)學(xué)生在編程中使用計(jì)算思維,是教師的責(zé)任,當(dāng)然,它是一個(gè)需要在教學(xué)中長期探索,不斷實(shí)踐。
有意識(shí)地將計(jì)算思維培養(yǎng)融入課程中,不僅有利于學(xué)生提高程序設(shè)計(jì)能力,更有利于學(xué)生用計(jì)算機(jī)學(xué)科的思維方式來解決現(xiàn)實(shí)問題,培養(yǎng)學(xué)生的計(jì)算思維能力和解決實(shí)際問題的能力,讓每個(gè)學(xué)生將計(jì)算思維滲透到生活之中,利用計(jì)算思維去解決問題,更好地適應(yīng)未來的生活。激發(fā)他們對(duì)計(jì)算機(jī)學(xué)科的興趣,有利于提高學(xué)生學(xué)習(xí)的積極性,改善學(xué)生的自主學(xué)習(xí)能力和學(xué)習(xí)效果。