• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      美國高校計算機科學(xué)原理課程介紹及啟示

      2018-01-31 07:49:53郭迎春
      計算機教育 2018年1期
      關(guān)鍵詞:編程作業(yè)思維

      師 碩,郭迎春,于 洋

      (河北工業(yè)大學(xué) 計算機科學(xué)與軟件學(xué)院,天津 300401)

      0 引 言

      計算思維(computational thinking)是目前國際計算機界廣為關(guān)注的一個重要概念,最早由美國卡內(nèi)基·梅隆大學(xué)計算機科學(xué)系周以真(Jeannette M. Wing)教授定義為“運用計算機科學(xué)的基本概念去求解問題、設(shè)計系統(tǒng)和理解人類的行為,涵蓋計算機科學(xué)之廣度的一系列思維活動”[1]。2008年,美國計算機協(xié)會(ACM)接受了周以真的計算思維理念,明確要求計算機導(dǎo)論類課程應(yīng)該重點講授計算思維的本質(zhì)。目前美國高校甚至中小學(xué),普遍開設(shè)了培養(yǎng)計算思維的計算機課程。在國內(nèi),2013年國家教育部高等學(xué)校大學(xué)計算機課程教學(xué)指導(dǎo)委員會發(fā)布了《計算思維教學(xué)改革宣言》[2],明確了計算思維能力培養(yǎng)在計算機基礎(chǔ)課程教學(xué)中的中心地位,同時把計算機思維能力培養(yǎng)上升到創(chuàng)新人才培養(yǎng)和國家發(fā)展的高度。目前,已有眾多院校對如何增強計算思維培養(yǎng)進行了相關(guān)的探索和實踐,也取得了一定的進展[3-4]。然而計算機科學(xué)發(fā)展迅速,如何在新技術(shù)不斷涌出的情況下更好地開展基于計算思維的教學(xué)實踐,需要我們持續(xù)探討。

      1 計算機科學(xué)原理課程介紹

      1.1 課程簡介

      內(nèi)布拉斯加大學(xué)奧馬哈分校CSCI 1200課程名稱是計算機科學(xué)原理(Computer Science Principles),課程目標(biāo)和授課內(nèi)容與我國大學(xué)中的大學(xué)計算思維課程相近。CSCI 1200課程是大學(xué)指定的自然科學(xué)通識教育課程,主要面向大一新生,任何專業(yè)的學(xué)生都可以選修這門課程,以滿足畢業(yè)時普通教育課程的要求。課程設(shè)計遵循美國大學(xué)委員會新的AP(advance placement)計算機科學(xué)原理課程,允許通過AP課程考試的高中學(xué)生獲得大學(xué)學(xué)分。學(xué)生通過此門課程的學(xué)習(xí),能掌握計算機科學(xué)的基本原理,學(xué)習(xí)解決問題的“計算”方式,提高計算思維的能力,并了解社會對持續(xù)計算創(chuàng)新的需要。

      1.2 教學(xué)內(nèi)容

      CSCI 1200課程沒有指定教材,提供了App Inventor 2: Create Your Own Android Apps和Blown to Bits: Your Life, Liberty, and Happiness after the Digital Explosion兩本電子書為主要可選的參考教材。教學(xué)內(nèi)容分為7部分。

      (1)課程簡介。包括計算機組成及應(yīng)用、發(fā)展趨勢、計算平臺的改變、職業(yè)愿景、計算思維的概念等內(nèi)容。

      (2)信息表示。涉及數(shù)據(jù)及其存儲、數(shù)制、不同數(shù)制之間的轉(zhuǎn)換。

      (3)編程基礎(chǔ)。包括決策、布爾、邏輯及關(guān)系表達式、if/else塊、隨機化、列表、文本變量、循環(huán)控制、迭代等基礎(chǔ)知識。

      (4)圖像處理基礎(chǔ)。包括圖像存儲原理、顏色模式和像素表示。

      (5)大數(shù)據(jù)和云計算。包括數(shù)據(jù)庫、大數(shù)據(jù)和云計算的原理及應(yīng)用。

      (6)建模與仿真。包括建模和仿真的原理、實現(xiàn)及應(yīng)用。

      (7)APP Inventer 項目開發(fā)。包括:①PaintPot項目。實現(xiàn)畫圖功能,介紹在App Inventer平臺開發(fā)APP項目的具體過程,包含媒體(聲音和圖片)控件的使用,使用畫布控件繪圖,控件觸摸和拖動事件的處理,APP測試及封裝發(fā)布。②Presidents’ Quiz APP項目。是一個以幻燈片形式顯示不同總統(tǒng)圖像及提示內(nèi)容再要求填寫總統(tǒng)姓名的測試游戲,旨在掌握如何定義列表、訪問列表的元素和比較文本變量。③MoleMash 游戲項目。實現(xiàn)一個鼴鼠在運動場上隨機位置彈出,玩家在其跳躍之前擊中得分的游戲,旨在學(xué)習(xí)定時器的使用,實現(xiàn)簡單動畫功能。④Pong游戲項目。它是由用戶控制球拍的彈球游戲,球在球拍和上、左、右3面墻壁之間彈跳,當(dāng)球接觸到球拍下面的墻壁時游戲結(jié)束,旨在掌握運動軌跡計算、多屏幕之間發(fā)送/接受參數(shù)、ListPicker控件等高級動畫游戲的設(shè)計。⑤雅虎股市APP項目。使用Yahoo! Finance API獲取股票的最新價格,目的是掌握應(yīng)用程序編程接口(application programming interface,API)的使用。

      1.3 教學(xué)實施

      CSCI 1200是一門3學(xué)分課程,以每周一次綜合講座或?qū)嶒灥男问竭M行,每次150分鐘,共授課16周。30名學(xué)生為一班,每班配置一名助教(teaching assistant, TA)負責(zé)習(xí)題課答疑、批改作業(yè)、指導(dǎo)項目設(shè)計及錄入成績。整個授課過程,每人配備一臺電腦,全班共享若干臺Android測試設(shè)備。

      講座課上,教師采用基于查詢的教學(xué)方法,通過實際問題引入計算概念。授課過程,教師重視和學(xué)生互動,經(jīng)常向?qū)W生提出問題或請學(xué)生直接在老師電腦上操作演示,學(xué)生也可以隨時向老師提出問題。實驗課上,教師會從實際應(yīng)用出發(fā),講解多個開發(fā)項目。重視學(xué)生之間的團隊合作,除了自己練習(xí)之外,在實驗課上設(shè)有團隊設(shè)計環(huán)節(jié), 2~4人為一組,在限定時間內(nèi)共同開發(fā)完成某一指定內(nèi)容,并要求各成員之間交換團隊角色。除有助教負責(zé)答疑外,授課教師每周提供一次2個小時的答疑,學(xué)生可以到教師辦公室當(dāng)面請教交流。整個教學(xué)過程,設(shè)置7次課堂測試,測試側(cè)重基礎(chǔ)知識的考察,多為概念解釋、小型程序設(shè)計等。

      內(nèi)布拉斯加大學(xué)奧馬哈分校使用Blackboard教學(xué)輔助系統(tǒng),CSCI 1200課程的任課教師通過該系統(tǒng)發(fā)布授課計劃、通知、課程提綱、講義、例程、習(xí)題、作業(yè)和項目等相關(guān)的教學(xué)資料;學(xué)生可以通過該系統(tǒng)提交作業(yè)、項目設(shè)計以及查看成績。

      CSCI 1200課程總成績是由作業(yè)40%、出勤和課上練習(xí)10%、課堂測試20%和項目設(shè)計30% 4部分組成。作業(yè)主要是編程練習(xí)。出勤和課上練習(xí)部分,缺勤1次扣掉1%的成績,如果超過3次成績直接為“F”,即不及格。項目設(shè)計是分組設(shè)計實現(xiàn)一個不限題目的Android移動APP,在學(xué)期中期任課老師將項目設(shè)計內(nèi)容布置下去,最后一次課程每組學(xué)生進行至少20分鐘的項目答辯,要求每名同學(xué)均參與答辯,并撰寫包括小組成員、背景、需求分析、詳細設(shè)計在內(nèi)的項目書。成績評定的說明及要求,老師在第一次課上直接公布給學(xué)生,并十分強調(diào)學(xué)術(shù)誠信,對作業(yè)、測試及項目設(shè)計抄襲采取零容忍政策,嚴格按照學(xué)校誠信準(zhǔn)則執(zhí)行。

      1.4 作 業(yè)

      第一周開始布置作業(yè),整個學(xué)期共有9次,每次作業(yè)一般給學(xué)生5天左右的時間,即下次課前兩天提交作業(yè)。教師為作業(yè)提供相應(yīng)的程序框架和部分輔助代碼,學(xué)生只需要實現(xiàn)部分程序。部分作業(yè)設(shè)有附加部分,完成后可得到更高的成績。

      作業(yè)1:在sites.google.com上創(chuàng)建自己的課程網(wǎng)站。要求:①按步驟創(chuàng)建新網(wǎng)站,在主頁加入自己的名字、專業(yè)及簡短的個人介紹。②創(chuàng)建不同級別的3個新頁面,3個頁面命名和結(jié)構(gòu)為:CSCI 1200==>Assignments==> Assignment 1,即Assignments是CSCI 1200的子網(wǎng)頁,Assignment 1又是Assignments的子網(wǎng)頁。閱讀http://www.bitsbook.com/excerpts網(wǎng)站提供的電子書的第一章,并撰寫總結(jié)提交到Assignment 1網(wǎng)頁。③自定義個人Google站點,對側(cè)邊導(dǎo)航欄進行修改、刪除或添加新內(nèi)容或鏈接操作,更改網(wǎng)站的Logo。④將建好的課程站點的網(wǎng)址提交到Blackboard系統(tǒng)。

      作業(yè)2:擴展PaintPot項目。PaintPot項目是圖形用戶界面(graphical user interface,GUI)的一個實例。要求:①在項目的基礎(chǔ)上增強GUI功能,改變項目中3個按鈕的背景顏色以提示畫筆顏色。②實現(xiàn)用戶對畫筆粗細的設(shè)置。③額外部分(增加20%成績),實現(xiàn)畫線和畫圓兩種畫筆模式。④將項目的APK文件(PaintPot.apk)提交到自己的Google網(wǎng)站,并將項目在Google網(wǎng)站的網(wǎng)址及源碼包(PaintPot.aia)提交到Blackboard系統(tǒng)。后面所有涉及編程的作業(yè)、提交內(nèi)容及方式相同。

      作業(yè)3:奇偶校驗APP。要求:①創(chuàng)建新的App Inventor項目,該項目自動生成一個7位二進制字符串,并在字符串的開頭添加一個正確的偶校驗位。②額外部分(增加10%成績),實現(xiàn)輸入錯誤檢查,單擊提交按鈕后檢測用戶輸入內(nèi)容是否為7位二進制字符串,如果不符合輸入要求,顯示“錯誤輸入!請再試一次!”的錯誤提示。

      作業(yè)4:答題APP。要求:①參考Presidents’Quiz App項目,設(shè)計問題、答案和圖像,創(chuàng)建自己的答題APP,要求至少4個問題,題目類型不限。②修改用戶瀏覽答題的方式:添加“上一個”按鈕,單擊時移動到上一個問題。添加“下一步”按鈕,單擊時若處于最后一個問題,不回到第一個問題而是保持在同一個問題,同時“下一步”按鈕文本的顏色更改為灰色,表示不能向前移動;若不是最后一個問題,“下一步”按鈕的文本顏色為黑色,并移動到下一題。③額外部分(增加10%成績),用ListPicker控件實現(xiàn)選擇答案來代替用Textbox控件輸入答案。

      作業(yè)5:MoleMash項目擴展。要求:①添加能量棒,初值設(shè)為200,每次超時能量棒數(shù)值減少10,能量等于0時結(jié)束游戲,并在畫布上顯示“能量為零”的提示消息。②增加“重置”按鈕,將分數(shù)設(shè)置為0,能量棒設(shè)置為200。根據(jù)玩家得分控制鼴鼠運動速度,得分超過20分,鼴鼠移動速度變?yōu)?.5秒;得分小于10分,速度設(shè)置為1.5秒;其他情況為1秒。

      作業(yè)6:編程練習(xí)列表和循環(huán)。要求:①用戶輸入整數(shù),分別實現(xiàn):生成0到n之間的所有整數(shù)生成0到n之間的所有偶數(shù);生成從n到1的所有整數(shù);生成個數(shù)為n的0~9之間的隨機整數(shù)。②額外部分(增加10%成績),分別實現(xiàn)文本框中數(shù)字的求和、求積計算,以及刪除偶數(shù)、奇數(shù)的操作。

      作業(yè)7:Pong項目擴展。要求:①下載Pong_noLab.aia源文件,在此基礎(chǔ)上在畫布指定位置上添加10個Image Sprites控件,并設(shè)置它們的圖像作為游戲中的磚塊。②實現(xiàn)球擊中磚塊時,磚塊消失得分加10點;單擊“重新啟動”按鈕,磚塊再次可見。③額外部分(增加10%成績),添加更多功能/操作,優(yōu)化和增強應(yīng)用程序。

      作業(yè)8:撰寫論文《論計算創(chuàng)新的影響》。要求:①說明創(chuàng)新的名稱,即陳述計算創(chuàng)新的預(yù)期目的或功能(約150字)。②解釋計算創(chuàng)新所帶來的益處或害處(約250字)。③使用的具體細節(jié),著重計算創(chuàng)新所使用的數(shù)據(jù),包括數(shù)據(jù)的生成或轉(zhuǎn)換、存儲、隱私或安全問題(約250字)。④參考文獻要求3~7個,并要求每條參考文獻提供作者、標(biāo)題、來源和發(fā)布日期的完整引用,對于在線參考需提供永久網(wǎng)址和訪問日期,并要求至少兩個參考文獻是最近兩年內(nèi)的。

      作業(yè)9:雅虎股市App項目擴展。要求:①下載Blackboard上對應(yīng)的源代碼,修改錯誤。②添加自定義股票報價屏幕,刷新按鈕后,打開一個新屏幕,為APPL、GOOG、MSFT、IBM和INTC每個股票代碼添加一個復(fù)選框,點擊刷新按鈕后,在屏幕上顯示所有選定股票的符號、名稱、最新價格、變更。

      2 教學(xué)軟件

      CSCI 1200課程的練習(xí)和項目設(shè)計都使用App Inventor并在Android移動設(shè)備上完成。App Inventor是由Google的Mark Friedman和麻省理工學(xué)院的Hal Abelson教授聯(lián)合領(lǐng)導(dǎo)開發(fā)的一款在線快速開發(fā)移動應(yīng)用的工具,被認為是一種培養(yǎng)學(xué)習(xí)者計算思維能力的工具。目前已發(fā)展到APP Inventor 2,有離線和在線兩種方式。App Inventor采用模塊化、圖形化的編程方式,正如Hal Abelson教授所說:“APP Inventor編寫的應(yīng)用程序或許不是很完美,但它們卻是普通人都能做的,而且通常是在幾分鐘內(nèi)就可完成”[5]。ai2.appinventor.mit.edu網(wǎng)站上提供了包括調(diào)試方式、設(shè)計和塊編輯器概述、程序打包及發(fā)布等內(nèi)容,這些內(nèi)容為學(xué)習(xí)者提供了極大的支持。

      2.1 調(diào)試方式

      APP Inventor開發(fā)環(huán)境采用“瀏覽器+云服務(wù)”的模式,不需在計算機上安裝配置復(fù)雜軟件,通過瀏覽器訪問AI服務(wù)器就可實現(xiàn)程序設(shè)計,因此開發(fā)環(huán)境簡單。目前國內(nèi)唯一的官方服務(wù)器是廣州教育信息中心的服務(wù)器[6]。App Inventor提供3種調(diào)試方式:

      (1)使用Android設(shè)備且有無線網(wǎng)絡(luò)連接,無需在計算機上安裝任何軟件,只需在Android設(shè)備上安裝Inventor Companion App即可,這種方式最佳。

      (2)沒有Android設(shè)備,需要在計算機上安裝軟件,以便可以使用計算機屏幕上的Android模擬器。

      (3)沒有無線網(wǎng)絡(luò)連接,需要在計算機上安裝軟件,以便可以通過USB連接到Android設(shè)備,但USB連接選項可能會有些問題,尤其是在Windows上,因此將此種調(diào)試方式作為最后的選擇。

      2.2 設(shè)計和塊編輯器

      App Inventor由Designer和Blocks編輯器組成。首先通過設(shè)置屏幕和屏幕外組件來設(shè)計APP的用戶界面,如圖1所示。然后將塊放在一起來對程序的行為進行編程,如圖2所示。這種采用拖放構(gòu)建塊、圖像化的編程模式,極易使初學(xué)者入門并在很短的時間內(nèi)具備創(chuàng)建應(yīng)用程序的能力。

      2.3 封裝和分享應(yīng)用程序

      構(gòu)建應(yīng)用程序后將其打包與朋友分享,能很好地促進編程主動性,激發(fā)學(xué)習(xí)興趣。App Inventor提供了幾種分享方式:

      (1)以可安裝在設(shè)備上的可執(zhí)行形式(.apk)。

      (2)以可以加載到App Inventor并重新混合的源代碼(.aia)形式。

      (3)在Google Play商店上發(fā)布。選擇可安裝的.apk文件進行共享,需要通過App Inventor工具欄上的“Build”菜單打包應(yīng)用程序,如圖3所示。以.aia文件共享應(yīng)用程序,如圖4所示,以方便其他人重新混合。

      圖1 設(shè)計App用戶界面

      圖2 組塊編程

      圖3 以.apk文件形式打包程序

      圖4 以.aia文件信息打包程序

      3 課程特點分析與啟示

      3.1 課程特點

      (1)以實例教學(xué)為主,重視能力培養(yǎng)。教師采用基于查詢的教學(xué)方法,通過實際問題引入計算概念。帶領(lǐng)學(xué)生進行課堂編程練習(xí),注重計算思維和編程能力的培養(yǎng)。

      (2)課程內(nèi)容新穎,實驗平臺先進。教學(xué)內(nèi)容不僅包括計算思維、編程基礎(chǔ)等內(nèi)容,還涉及大數(shù)據(jù)、云計算、建模和仿真等計算機學(xué)科中的新興知識,極好地擴展了學(xué)生的科學(xué)視野。實驗平臺采用App Inventor,這種“所見即所得”的編程工具,不僅簡化了軟件安裝及調(diào)試過程,還可以簡易、方便地實現(xiàn)學(xué)生自己的創(chuàng)作想法,調(diào)動學(xué)生創(chuàng)作的興趣。

      (3)數(shù)字化教學(xué)手段充分運用。CSCI 1200課程在講座課上使用投影儀,通過Blackboard系統(tǒng)和sites.google.com進行作業(yè)和項目的布置與提交等,數(shù)字化教學(xué)手段的運用提高了教學(xué)效果和效率。

      (4)合理的作業(yè)和項目安排。作業(yè)多是教學(xué)項目的延伸和擴展,達到由淺入深訓(xùn)練學(xué)生編程能力的目的。項目設(shè)計按小組進行,涉及分析、設(shè)計、實現(xiàn)、測試、答辯等各個環(huán)節(jié)。作業(yè)和項目都有相應(yīng)的文獻檢索和寫作要求。這些環(huán)節(jié)的設(shè)置不僅有利于學(xué)生解決實際問題能力的培養(yǎng),還提高了學(xué)生檢索文獻、撰寫文檔、團隊合作及語言表達等各項素質(zhì)。

      (5)小班授課,師生互動良好。每班30名學(xué)生,并配備一名助教,教師每周提供2小時的答疑時間,這樣的人員配置有利于提高教學(xué)質(zhì)量,保證學(xué)生得到充分的指導(dǎo)與支持。

      3.2 啟 示

      (1)結(jié)合學(xué)科發(fā)展前沿,注重教學(xué)內(nèi)容更新。CSCI 1200課程內(nèi)容包括大數(shù)據(jù)、云計算等前沿知識,實驗環(huán)節(jié)采用App Inventor云平臺,有利于學(xué)生學(xué)術(shù)思維的擴展并切身體會移動計算的益處。然而目前國內(nèi)這些課程還多是側(cè)重編程知識的講解,實驗平臺多采用Visual Basic或Visual C++,學(xué)生并不能及時接觸到計算機學(xué)科的科技前沿知識。

      (2)合理安排作業(yè)及項目,注重學(xué)術(shù)誠信培養(yǎng)。CSCI 1200課程通過多次課堂訓(xùn)練、7次測試、9次作業(yè)和一個大型項目設(shè)計,強化了學(xué)生對程序設(shè)計技能的運用,采用網(wǎng)上提交、答辯等多種方式完成,靈活多樣。而國內(nèi)這門課程的訓(xùn)練還主要是通過作業(yè)(多數(shù)要求提交手寫紙質(zhì)作業(yè))和有限次數(shù)的上機進行,方式單一,并且作業(yè)和項目雷同現(xiàn)象嚴重,通常整個班級學(xué)生的作業(yè)只有幾個相似的版本,但教師查處抄襲卻很困難。

      (3)充足教學(xué)輔助人員,充分運用數(shù)字化教學(xué)手段。CSCI 1200課程采用小班授課并配備1名助教為學(xué)生提供充足的指導(dǎo)。國內(nèi)這門課程多采用大班授課,通常班級容量有百人左右,由于師資原因,多數(shù)情況并不配備任何輔助人員,因此很難給予學(xué)生充分的指導(dǎo)和幫助。CSCI 1200課程通過Blackboard系統(tǒng)進作業(yè)布置及提交,較好地節(jié)省了師生處理作業(yè)的時間,極大地提高了教學(xué)效率。對比國內(nèi)目前只有部分高校開發(fā)了電子教學(xué)輔助系統(tǒng),但仍然存在系統(tǒng)功能不完善以及未得到充分運用等問題,數(shù)字化教學(xué)往往還只停留在投影儀的使用。

      4 結(jié) 語

      目前,將計算思維能力的培養(yǎng)作為大學(xué)計算機基礎(chǔ)教學(xué)的核心任務(wù),已經(jīng)在國內(nèi)外計算機教育領(lǐng)域達成共識。如何將計算思維落實在課程的教學(xué)中,對于計算機相關(guān)專業(yè)的本科教育非常重要。通過對美國內(nèi)布拉斯加大學(xué)奧馬哈分校CSCI 1200課程的課程內(nèi)容設(shè)計、教學(xué)環(huán)節(jié)實施、實驗平臺應(yīng)用等方面進行分析和總結(jié),結(jié)合我國對應(yīng)課程的實際教學(xué)情況提出一些看法,供同行們參考。

      [1]Wing J M. Computational Thinking[J]. Communications of the ACM, 2006, 49( 3): 33-35.

      [2]教育部高等學(xué)校大學(xué)計算機課程教學(xué)指導(dǎo)委員會.計算思維教學(xué)改革宣言[J]. 中國大學(xué)教學(xué), 2013(7): 8-10.

      [3]王大鵬, 王續(xù)琨, 劉德山, 等. 以計算思維為主線整合大學(xué)計算機通識課程[J]. 計算機教育, 2016(9): 95-98.

      [4]張廣兵. 再論基于計算思維的大學(xué)計算機基礎(chǔ)課程改革[J]. 計算機教育, 2017(2): 84-87.

      [5]Wolber D, Abelson H. App Inventor: Create Your Own Android Apps [M]. Sebastopol: O'Reilly, 2011.

      [6]李霞. 基于計算思維的App Inventor遞歸算法教學(xué)[J]. 高教學(xué)刊, 2017(1): 77-78.

      猜你喜歡
      編程作業(yè)思維
      我家有只編程貓
      我家有只編程貓
      我家有只編程貓
      我家有只編程貓
      思維跳跳糖
      思維跳跳糖
      思維跳跳糖
      思維跳跳糖
      快來寫作業(yè)
      作業(yè)
      故事大王(2016年7期)2016-09-22 17:30:08
      行唐县| 利川市| 湘阴县| 外汇| 新乡市| 石渠县| 建德市| 宣汉县| 甘泉县| 林甸县| 安康市| 迁西县| 新邵县| 南汇区| 马尔康县| 潼关县| 贵德县| 绥芬河市| 东乌珠穆沁旗| 旬邑县| 虹口区| 宁国市| 黄龙县| 正蓝旗| 安新县| 涿州市| 丰顺县| 东丰县| 金川县| 西安市| 朝阳区| 维西| 渝北区| 江达县| 泉州市| 清流县| 思南县| 大竹县| 汪清县| 万山特区| 黔江区|