亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于計算思維的X-Program 新工具的設(shè)計與應(yīng)用

        2020-07-10 05:52:26李駿揚
        計算機教育 2020年4期
        關(guān)鍵詞:入門程序設(shè)計編程

        李駿揚

        (東南大學(xué) 自動化學(xué)院,江蘇 南京 210096)

        0 引言

        計算思維是一種人類通過計算機解決問題的思維模式,計算思維不是計算機的思維,而是人類面向計算機,選擇合適的方式陳述一個問題,或?qū)σ粋€問題的相關(guān)方面建模使其易于處理的思維方法[1]。在大學(xué)一年級的計算機基礎(chǔ)教學(xué)課程中,計算思維的培養(yǎng)已經(jīng)成為一種主流[2]。

        理工科學(xué)生在計算機語言入門的學(xué)習中會遇到很多的困難。學(xué)生在編寫第一個可以運行的程序前,其需要掌握的前置語法知識包括編譯預(yù)處理、變量定義、運算符、表達式、程序結(jié)構(gòu)等。此外,學(xué)生還必須對計算機處理問題的方式有所理解,對算法有所理解。眾多前置知識的學(xué)習往往會導(dǎo)致兩方面的問題:首先,在前置學(xué)習中方向不明,容易喪失學(xué)習的興趣;其次,后期的學(xué)習中,任何前置知識掌握得不牢固,都會導(dǎo)致編寫程序中出現(xiàn)各種困難,降低學(xué)習的效率。

        基于計算思維和可執(zhí)行程序框圖的計算機語言入門教學(xué)模式是一種全新的教學(xué)模式,它有助于大學(xué)一年級學(xué)生轉(zhuǎn)變思維方式,暫時屏蔽繁復(fù)語法的干擾,專心于計算思維與算法的學(xué)習,并從算法基本邏輯出發(fā),逐步過渡到C/C++等語言的學(xué)習。

        1 計算機語言入門教學(xué)

        1.1 C/C++語言

        C 和C++語言是目前理工科專業(yè)最為普遍采用的計算機入門語言,C 語言面向底層,C++具有面向?qū)ο蟮奶卣鳎燃骖欁詣踊?、信息、電子等專業(yè)對硬件底層編程的要求,又能夠應(yīng)對圖像處理、控制方法設(shè)計、信息處理等算法實現(xiàn)[3],C++也可以面向桌面,但在移動終端、Web 的上層系統(tǒng)編程中就力不從心了。

        然而,在教學(xué)中,C 和C++語言卻具有兩面性。一方面,C 和C++面向底層的特性,對指針和內(nèi)存的操作,極好地揭示了計算機處理問題的方式,從另一個側(cè)面展示了程序設(shè)計的魅力,學(xué)生在精通C 和C++之后,一般都可以輕松學(xué)習其他的語言;另一方面,過多的新特性的堆積,過多的需要編程者親歷親為且不可疏漏的操作,給初學(xué)者的學(xué)習帶來了巨大的困難。

        1.2 Python

        Python 語言目前在計算機基礎(chǔ)教學(xué)過程中越來越流行,無論是大學(xué)一年級的計算機語言入門,還是在中學(xué)生的計算機語言教學(xué)中,Python語言越來越廣泛地在教學(xué)中進行使用[4]。

        Python 語言的優(yōu)勢在于語法簡單,可集成性強,但是Python 語言依然無法擺脫語法的束縛,依然需要較多的前置學(xué)習。

        另外,針對理工科學(xué)生,特別是自動化、電子、信息類專業(yè)的理工科學(xué)生來說,Python太多地隱藏了計算機底層的處理方式,在學(xué)習Python 語言之后,面對C 和C++語言依然有諸多困難。

        1.3 圖形化編程平臺

        圖形化編程平臺目前廣泛使用在青少年編程教育和一些行業(yè)應(yīng)用中。早期的圖形化編程平臺主要以流程圖的方式展現(xiàn),如LabView,還有筆者為微波儀器計量機構(gòu)開發(fā)的計量自動測試系統(tǒng)。這類軟件平臺針對的用戶群是某行業(yè)的專業(yè)人士,用戶特點是對本行業(yè)極為精通,但是缺乏專業(yè)代碼能力,因此采用流程圖等圖像化形式快速組態(tài)其需要完成的工程任務(wù)[5]。這類軟件早期也在青少年的編程學(xué)習中出現(xiàn),如樂高的RTX系統(tǒng)(基于LabView),但此后都被基于程序框圖的EV3 圖形化編程平臺所替代。

        流程圖的優(yōu)勢在于對順序的直觀展現(xiàn),但是在面對條件和循環(huán)時,卻不如N/S 圖等程序框圖表達那樣具有結(jié)構(gòu)性。目前,面向青少年的編程平臺大多采用類似N/S 圖的框圖編程。在機器人領(lǐng)域,比較典型的編程平臺有樂高的NXT和EV3 平臺、VEX 的RQ 機器人編程平臺等。在通用編程領(lǐng)域,目前使用最廣泛的是MIT 的Scratch 平臺,國內(nèi)也有大量模仿或嵌套Scratch的編程平臺,如Hopscotch、Mixly、網(wǎng)易卡卡、編程貓等[6]。但是,我們在教學(xué)實踐中發(fā)現(xiàn),純圖形化編程平臺雖然可以將編程思維導(dǎo)向程序邏輯的思考,但是依然存在以下問題:

        第一,為適合青少年的學(xué)習,大多數(shù)圖形化語言界面有低幼化的傾向,其編程界面不適合面向大學(xué)一年級的學(xué)生使用。

        第二,對數(shù)學(xué)表達式的處理過于復(fù)雜,并盡可能避免出現(xiàn)數(shù)學(xué)表達。由于這些編程平臺過于游戲化,因此展現(xiàn)算法的能力有限。學(xué)生在轉(zhuǎn)入高級語言學(xué)習時依然會遇到算法的瓶頸。

        第三,主要功能的實現(xiàn)依靠調(diào)用和拼搭,而不是對算法的深入思考,不適合培養(yǎng)具有獨立思考能力的科研與工程人才。

        第四,缺乏程序調(diào)試的手段,面對程序運行的錯誤,只能靠“看”,而不是單步跟蹤、內(nèi)存檢查等常有的程序調(diào)試方法。

        第五,從教學(xué)的角度,這些工具大多缺乏從圖形化語言到普通計算機的銜接,由于圖形化編程平臺的簡易性,部分學(xué)生在面對普通計算機語言時會顯得畏懼不敢嘗試。

        2 可執(zhí)行框圖X-Program

        2.1 系統(tǒng)設(shè)計目標與教學(xué)目標結(jié)合

        為了更好地結(jié)合教學(xué),筆者自主設(shè)計了X-Program 可執(zhí)行的程序框圖系統(tǒng),該系統(tǒng)以教學(xué)為出發(fā)點,并具有以下特點:

        第一,系統(tǒng)采用N/S 框圖的方式展現(xiàn)程序,程序的結(jié)構(gòu)直觀清晰。

        第二,系統(tǒng)能夠展現(xiàn)內(nèi)存中的所有數(shù)據(jù),學(xué)生能夠通過十進制、十六進制和二進制等多種方式查詢系統(tǒng)的數(shù)據(jù)。

        第三,系統(tǒng)能夠單步跟蹤,能夠設(shè)置斷點,能夠?qū)崿F(xiàn)在運行中對程序的調(diào)試。

        第四,對表達的處理,既可以采用手動書寫的模式,讓學(xué)生逐步理解計算機中表達的書寫形式,亦可以直接展示成數(shù)學(xué)公式的形式,但不采用Scratch 用積木組合的形式。

        第五,系統(tǒng)可以將偽碼翻譯為常用的計算機語言,包括C、C++、Java、Basic、Python、Pascal 等。

        2.2 基礎(chǔ)程序模塊

        程序設(shè)計的首要問題是程序的“過程性”,以及每個步驟的“標準化”。X-Program 面向剛?cè)腴T的學(xué)生,采用了一些最基本的步驟和模塊,來展現(xiàn)程序的過程,這些基本模塊包括:

        表達式:書寫一個可賦值的表達式

        創(chuàng)建數(shù)組:設(shè)定一個固定長度的數(shù)組

        如果:條件語句

        計數(shù)循環(huán):通過計數(shù)變量的循環(huán)語句

        條件循環(huán):符合條件則循環(huán)

        跳出循環(huán):結(jié)束并跳出循環(huán)

        輸入:輸入語句

        輸出:輸出語句

        通過這些模塊,就可以非常方便地編寫出大部分C 和C++語言所可以書寫的入門程序。

        由這些基礎(chǔ)模塊構(gòu)成的程序如圖1 所示。

        2.3 內(nèi)存的展示

        在程序設(shè)計的過程中,存儲器的訪問與程序的過程同等重要。X-Program 采用了三種方式來展示運行中的內(nèi)容,包括十進制模式、十六進制模式和二進制模式。

        圖2 展示了十進制和十六進制的數(shù)據(jù)展現(xiàn)形式,其中在十六進制中,自動區(qū)分了整數(shù)與浮點的整數(shù)表達。

        圖1 求2~1 000 質(zhì)數(shù)的程序示例

        圖2 十進制和十六進制內(nèi)存展示

        在二進制模式下,系統(tǒng)將根據(jù)自動區(qū)分整數(shù)和浮點,并展示出不同數(shù)據(jù)在二進制中的表達。在圖3 中,分別展示了布爾型數(shù)據(jù)、整型和雙精度浮點的二進制表達。

        圖3 布爾型、整型和浮點數(shù)據(jù)的二進制內(nèi)存展示

        2.4 單步跟蹤與調(diào)試

        X-Program 支持一步一步地來運行程序,每一步的運行,程序都會自動展示出當前內(nèi)存的情況,并顯著地標出當前運行的步驟,如圖4 所示。

        于此同時,X-Program 也支持設(shè)定斷點,程序運行到某個斷點步驟時將自動暫停。另外,當程序運行暫停時,X-Program 支持對程序的修改,并即刻生效。

        圖4 X-Program 單步跟蹤(包括當前程序,正在運行(暫停)的步驟,當前內(nèi)存,以及當前輸出的內(nèi)容)

        2.5 程序的翻譯

        X-Program 為了方便學(xué)生未來從圖像化程序設(shè)計轉(zhuǎn)向普通的文本程序設(shè)計,設(shè)計了將框圖程序翻譯成常用計算機語言程序,包括C、C++、C#、Java、Basic、Python、Pascal 等。

        圖5 和圖6 中展示了X-Program 翻譯成C++語言和Python 語言的結(jié)果。

        圖5 X-Program 翻譯為C++程序,并相互對比

        圖6 X-Program 翻譯為Python 程序,并相互對比

        3 課程設(shè)計與實施

        3.1 與在線教學(xué)的融合

        以X-Program 為工具的在線開放課程(MOOC)“程序設(shè)計基礎(chǔ)——發(fā)現(xiàn)計算之美”,已經(jīng)在中國大學(xué)慕課上線,目前完整實施了兩輪教學(xué)。該課程的主要學(xué)習目標為:能夠描述并設(shè)計常用的程序設(shè)計算法,運用多種程序的基本結(jié)構(gòu),靈活調(diào)度存儲,構(gòu)建基本的數(shù)據(jù)結(jié)構(gòu),分解復(fù)雜問題,并能夠通過X-Program 編寫中小規(guī)模的代碼,解決學(xué)生在高等數(shù)學(xué)、線性代數(shù)、大學(xué)物理等一年級課程中所涉及的一些問題。

        該MOOC 教學(xué)安排見表1。

        表1 X-Program 線上慕課教學(xué)安排

        在教學(xué)設(shè)計中,提倡使用案例式的教學(xué),而非傳統(tǒng)的從知識點出發(fā)逐一講解。案例教學(xué)中,從提出案例或問題出發(fā),對問題進行分析,然后引出要使用或?qū)W習的新知識點,然后運用新知識點來完成程序的設(shè)計,并在課程的最后回到案例中來,對程序解決問題的效果、執(zhí)行的效率進行進一步分析,或提出改進意見,或進行應(yīng)用拓展。

        X-Program 工具的下載,在該在線開發(fā)課程第一單元第四課時“附A:X-Program 的下載與安裝”。

        3.2 線上線下混合式教學(xué)的開展

        該MOOC 在設(shè)計中,充分考慮線上線下混合式教學(xué)[7]的實施,不僅安排了學(xué)生的學(xué)習內(nèi)容,也對教學(xué)的實施進行了設(shè)計說明與建議。

        為了有效銜接學(xué)生未來C/C++等語言的學(xué)習,建議對X-Program 的混合式教學(xué)分3 個階段組成。

        第一階段,計算思維入門,結(jié)合慕課第一第二單元,從學(xué)生日常生活經(jīng)驗出發(fā)凝練程序運行的原理與邏輯本質(zhì),與中學(xué)數(shù)學(xué)的學(xué)習經(jīng)驗出發(fā)辨析程序的計算步驟與數(shù)學(xué)表達的異同。

        第二階段,基礎(chǔ)算法入門,結(jié)合慕課第三至第七單元,以案例分析與課堂研討的方式,辨析計算機解決問題的方式與我們?nèi)粘K伎紗栴}方式的差異,鍛煉學(xué)生編寫基礎(chǔ)算法的能力。

        第三階段,銜接階段,充分利用X-Program的語言翻譯功能,對已經(jīng)學(xué)過的案例進行翻譯對比,逐步從圖像化語言過渡到C/C++等計算機語言。

        3.3 教學(xué)效果

        通過兩個學(xué)期的運用,學(xué)生認可了X-Program對程序設(shè)計入門的幫助,在2019—2020 學(xué)年秋季學(xué)期面向三個教學(xué)班93 名參與課程的學(xué)生的調(diào)查中,共88.3%的學(xué)生肯定了X-Program 的易用性,超過90%的學(xué)生表示X-Program 對程序設(shè)計的學(xué)習有幫助,如圖7 所示。

        圖7 X-Program 易用性與幫助度調(diào)查

        從教學(xué)效果上看,2019—2020 學(xué)年秋季學(xué)期,兩個班級采用X-Program 與MOOC 混合式教學(xué),并在第七周轉(zhuǎn)入C 語言的學(xué)習。另兩個班級從第一周開始就進行C 語言學(xué)習。在第九周,進行C 語言基礎(chǔ)語法(不含指針與結(jié)構(gòu)體)和算法的階段性測試,從總體成績分布上看,雖然X-Program+MOOC 教學(xué)方案的班級,學(xué)習C 語言晚于平行對照班級,但是測試成績分布總體優(yōu)于平行班級,如圖8 所示。

        另外,在線開放課程“程序設(shè)計基礎(chǔ)——發(fā)現(xiàn)計算之美”目前已經(jīng)獲批江蘇省2018—2019 在線開放課程建設(shè)項目,中國計算機教學(xué)慕課聯(lián)盟(CMOOC)線上線下混合式教學(xué)項目,東南大學(xué)課程思政改革項目,以及中國計算機教學(xué)慕課聯(lián)盟優(yōu)秀在線開放課程。實施兩輪以來,獲得了學(xué)生的好評。

        圖8 X-Program+MOOC 班級與對照班級教學(xué)效果對比

        4 結(jié)語

        以學(xué)習者為中心的教學(xué)理念,幫助學(xué)習者的學(xué)習得到更多的收獲,是大學(xué)教師進行課程設(shè)計與改革的基本出發(fā)點。目前,中學(xué)信息教育部分內(nèi)容與大學(xué)計算機程序基礎(chǔ)課程與程序設(shè)計課程有較大的重疊,但是由于地域差異,實施效果的差異,大學(xué)一年級需要零基礎(chǔ)學(xué)習計算機語言的學(xué)生普遍存在,且該現(xiàn)狀在短期內(nèi)不可能完全改變。然而,隨著時代的發(fā)展,越來越多的高中學(xué)生在進入大學(xué)校園前,已經(jīng)具備一定的計算機編程能力,這更需要像X-Program 這樣的入門工具,以及類似“程序設(shè)計基礎(chǔ)——發(fā)現(xiàn)計算之美”這樣的在線開放課程,幫助零基礎(chǔ)的學(xué)生快速地在程序設(shè)計思維上進行提升,并跟上整體的教學(xué)進度。

        猜你喜歡
        入門程序設(shè)計編程
        我家有只編程貓
        我家有只編程貓
        我家有只編程貓
        我家有只編程貓
        名偵探入門測試
        趣味(語文)(2021年3期)2021-07-16 06:46:16
        基于Visual Studio Code的C語言程序設(shè)計實踐教學(xué)探索
        計算機教育(2020年5期)2020-07-24 08:52:56
        從細節(jié)入手,談PLC程序設(shè)計技巧
        電子制作(2019年9期)2019-05-30 09:42:04
        學(xué)習和自己的相處之道 獨木舟的入門 CANOE
        中國自行車(2018年6期)2018-07-23 03:17:20
        幾何入門,四個“重視”
        高職高專院校C語言程序設(shè)計教學(xué)改革探索
        超碰色偷偷男人的天堂| 国产精品毛片av一区二区三区| 女优av性天堂网男人天堂| 亚洲自偷自拍另类第1页| 国产美女露脸口爆吞精| 精品一区二区三区免费爱 | 日韩精品视频av在线观看| 公和我做好爽添厨房| 图片区小说区激情区偷拍区| 欧美在线成人午夜网站| 尤物成av人片在线观看| 日出白浆视频在线播放| 久久综合九色综合欧美狠狠 | 中国内射xxxx6981少妇| 亚洲精品中国国产嫩草影院美女 | 无码三级在线看中文字幕完整版| 无码人妻丝袜在线视频| 蜜臀av一区二区三区| 亚洲 欧美 国产 制服 动漫| 亚洲av成人无码网天堂| 国产美女亚洲精品一区| 大量漂亮人妻被中出中文字幕| 色婷婷综合久久久久中文字幕| 伊人色综合久久天天人手人停| 激情视频国产在线观看| 米奇欧美777四色影视在线| 国产成年无码v片在线| 精品午夜一区二区三区久久| 蜜桃在线视频一区二区| 欧美激情一区二区三区| 伊人久久网国产伊人| 亚洲中国美女精品久久久 | 国产精品久线在线观看| 欧美成aⅴ人高清免费| av网站一区二区三区| 日日麻批免费40分钟无码| 午夜福利电影| 亚洲精品二区在线观看| 中国久久久一级特黄久久久| 超薄丝袜足j好爽在线观看| 国产va在线播放|