999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于計算思維的X-Program 新工具的設計與應用

2020-07-10 05:52:26李駿揚
計算機教育 2020年4期
關鍵詞:程序計算機語言

李駿揚

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

0 引言

計算思維是一種人類通過計算機解決問題的思維模式,計算思維不是計算機的思維,而是人類面向計算機,選擇合適的方式陳述一個問題,或對一個問題的相關方面建模使其易于處理的思維方法[1]。在大學一年級的計算機基礎教學課程中,計算思維的培養已經成為一種主流[2]。

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

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

1 計算機語言入門教學

1.1 C/C++語言

C 和C++語言是目前理工科專業最為普遍采用的計算機入門語言,C 語言面向底層,C++具有面向對象的特征,既兼顧自動化、信息、電子等專業對硬件底層編程的要求,又能夠應對圖像處理、控制方法設計、信息處理等算法實現[3],C++也可以面向桌面,但在移動終端、Web 的上層系統編程中就力不從心了。

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

1.2 Python

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

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

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

1.3 圖形化編程平臺

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

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

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

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

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

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

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

2 可執行框圖X-Program

2.1 系統設計目標與教學目標結合

為了更好地結合教學,筆者自主設計了X-Program 可執行的程序框圖系統,該系統以教學為出發點,并具有以下特點:

第一,系統采用N/S 框圖的方式展現程序,程序的結構直觀清晰。

第二,系統能夠展現內存中的所有數據,學生能夠通過十進制、十六進制和二進制等多種方式查詢系統的數據。

第三,系統能夠單步跟蹤,能夠設置斷點,能夠實現在運行中對程序的調試。

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

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

2.2 基礎程序模塊

程序設計的首要問題是程序的“過程性”,以及每個步驟的“標準化”。X-Program 面向剛入門的學生,采用了一些最基本的步驟和模塊,來展現程序的過程,這些基本模塊包括:

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

創建數組:設定一個固定長度的數組

如果:條件語句

計數循環:通過計數變量的循環語句

條件循環:符合條件則循環

跳出循環:結束并跳出循環

輸入:輸入語句

輸出:輸出語句

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

由這些基礎模塊構成的程序如圖1 所示。

2.3 內存的展示

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

圖2 展示了十進制和十六進制的數據展現形式,其中在十六進制中,自動區分了整數與浮點的整數表達。

圖1 求2~1 000 質數的程序示例

圖2 十進制和十六進制內存展示

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

圖3 布爾型、整型和浮點數據的二進制內存展示

2.4 單步跟蹤與調試

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

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

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

2.5 程序的翻譯

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

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

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

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

3 課程設計與實施

3.1 與在線教學的融合

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

該MOOC 教學安排見表1。

表1 X-Program 線上慕課教學安排

在教學設計中,提倡使用案例式的教學,而非傳統的從知識點出發逐一講解。案例教學中,從提出案例或問題出發,對問題進行分析,然后引出要使用或學習的新知識點,然后運用新知識點來完成程序的設計,并在課程的最后回到案例中來,對程序解決問題的效果、執行的效率進行進一步分析,或提出改進意見,或進行應用拓展。

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

3.2 線上線下混合式教學的開展

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

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

第一階段,計算思維入門,結合慕課第一第二單元,從學生日常生活經驗出發凝練程序運行的原理與邏輯本質,與中學數學的學習經驗出發辨析程序的計算步驟與數學表達的異同。

第二階段,基礎算法入門,結合慕課第三至第七單元,以案例分析與課堂研討的方式,辨析計算機解決問題的方式與我們日常思考問題方式的差異,鍛煉學生編寫基礎算法的能力。

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

3.3 教學效果

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

圖7 X-Program 易用性與幫助度調查

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

另外,在線開放課程“程序設計基礎——發現計算之美”目前已經獲批江蘇省2018—2019 在線開放課程建設項目,中國計算機教學慕課聯盟(CMOOC)線上線下混合式教學項目,東南大學課程思政改革項目,以及中國計算機教學慕課聯盟優秀在線開放課程。實施兩輪以來,獲得了學生的好評。

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

4 結語

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

猜你喜歡
程序計算機語言
計算機操作系統
語言是刀
文苑(2020年4期)2020-05-30 12:35:30
基于計算機自然語言處理的機器翻譯技術應用與簡介
科技傳播(2019年22期)2020-01-14 03:06:34
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
讓語言描寫搖曳多姿
信息系統審計中計算機審計的應用
消費導刊(2017年20期)2018-01-03 06:26:40
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
累積動態分析下的同聲傳譯語言壓縮
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
主站蜘蛛池模板: 午夜性爽视频男人的天堂| 色婷婷亚洲综合五月| 一级一级一片免费| 1769国产精品免费视频| 中文成人在线| 日本一区二区三区精品国产| 日韩精品一区二区三区免费| 国产毛片片精品天天看视频| 日韩无码黄色网站| 亚洲高清中文字幕在线看不卡| 女人爽到高潮免费视频大全| 99久视频| 亚洲AV电影不卡在线观看| 国产日韩av在线播放| 欧美a网站| 天天摸夜夜操| 国产主播福利在线观看| 精品少妇人妻av无码久久| 国产精品99久久久久久董美香 | 高清视频一区| 毛片视频网| 精品久久久久久成人AV| 国产毛片高清一级国语| 999精品色在线观看| 国产成人精品亚洲日本对白优播| 精品人妻一区无码视频| 一级做a爰片久久毛片毛片| 国产99在线| 97超爽成人免费视频在线播放| 日本亚洲成高清一区二区三区| 国产精品区视频中文字幕| 午夜视频免费一区二区在线看| 色哟哟国产精品| 99999久久久久久亚洲| 国禁国产you女视频网站| 亚洲免费成人网| 综合网久久| 国产麻豆91网在线看| 色丁丁毛片在线观看| 国产欧美日韩资源在线观看| 一区二区三区四区在线| 内射人妻无套中出无码| 国产在线观看一区二区三区| 日韩欧美综合在线制服| 久久性妇女精品免费| 福利视频久久| 美女视频黄又黄又免费高清| 国产日本欧美亚洲精品视| 国模私拍一区二区三区| 一级一级特黄女人精品毛片| 久久婷婷五月综合色一区二区| 热思思久久免费视频| 久久公开视频| 欧美区国产区| 成人免费一级片| 婷婷亚洲视频| 久久情精品国产品免费| 18禁不卡免费网站| 国产美女免费| 欧美综合中文字幕久久| 91人人妻人人做人人爽男同| 99偷拍视频精品一区二区| 久久美女精品| 久久国产亚洲偷自| 欧美色图第一页| 色久综合在线| 国产成人久久777777| 欧美a在线视频| 婷婷久久综合九色综合88| 国产你懂得| 久久性视频| 国产一二视频| 国产美女主播一级成人毛片| 亚洲人妖在线| 精品久久蜜桃| 啦啦啦网站在线观看a毛片| 国产乱人伦偷精品视频AAA| 久久国产精品嫖妓| 久久亚洲AⅤ无码精品午夜麻豆| 国产小视频在线高清播放| 日韩高清无码免费| 成人蜜桃网|