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

美國高校計算機程序設計課程介紹及啟示

2019-12-05 00:23:42許真珍
計算機教育 2019年3期
關鍵詞:作業課程教師

許真珍

(大連理工大學 軟件學院,遼寧 大連 116620)

0 引言

程序設計課程是高校計算機相關專業的重要課程,中國高校計算機專業通常會以C語言、C++語言或者Java語言作為載體,為學生講授程序設計思想和奠定程序設計技術基礎。

美國在計算機領域取得的研究成果一直處于領先地位,這無疑離不開美國高校優質的計算機教育水平。不少學者利用在美國訪學等機會深入了解美國高校的教學機制,學習其先進的教學理念,給出不少啟示,關注的課程有軟件工程[1]、計算機科學原理[2]、電路與電子技術[3]、操作系統[4]、程序設計[5-6]等。文獻[5]和文獻[6]分別介紹美國羅格斯大學和斯坦福大學程序設計課程的教學體系,不同大學的教學體系設置也各不相同。筆者利用在美國德州農工大學訪學一年的機會,通過旁聽課程以及與授課人員交流,對該校計算機程序設計課程的教學進行調研,總結其課程特點,分析對國內相關課程的教學啟示。

1 美國德州農工大學

美國德州農工大學(Texas A&M University,TAMU)是一所世界著名的公立研究型大學,全美規模第六大的大學。學校成立于1876年,主校區位于美國德克薩斯州的卡城(College Station)。德州農工大學在2018年US News發布的大學排名中位列第69位,在美國公立大學中排名第25位。

工程學院是德州農工大學最大的一個學院,擁有教師650人以上,學生19 000人以上,2018年在US News發布的全美最佳工程學院排名中位列第12位。工程學院下設14個系,計算機科學與工程系是其中的一個系,該系在機器人、機器視覺、人工智能等研究領域成果卓著。和國內大學類似,德州農工大學也將程序設計課程分為基礎課程和高級課程,供不同基礎的學生進行修讀。

2 程序設計基礎課程

2.1 課程目標

程序設計基礎課程的課程名為程序設計與概念導論(introduction to program design and concepts),課程編號為CSCE121[7]。學習該門課程只需要有一些基本的編程經驗,如高中階段學過編程課程即可。課程目標是以C++語言為載體,讓學生了解計算機程序結構、設計和開發的概念,人們如何與計算機溝通,計算機如何影響社會,并理解面向對象的編程概念(對象、類、繼承、多態、封裝等),學會用高級編程語言C++編寫計算機程序,進行算法設計與實現,提高解決問題的能力,培養計算思維。

2.2 課程安排

1)課堂講課。

課程在每年的春季學期開設,每周2次課堂講課,每次75 min,共計15周。每次課程的講義資料和程序源碼都可以在課程網站上下載。授課內容主要是通過各種示例介紹面向對象的程序設計方法。在第一節課上,主講教師給學生提供Linux和Git之父Linus Torvalds寫的一篇文章“The Beauty of Programming”,很好地激發學生的學習興趣。在第二節課上,主講教師將C++的操作符、注釋方式、輸入輸出、變量、程序結構、預編譯指令等語法層面的內容全部羅列出來,供有一定編程基礎的學生與之前學過的編程語言進行對比。與國內大學對C++每個語法知識點細細講解不同,美國大學該課程的教學結合程序示例重點講解指針、抽象、容器、模板等面向對象難點內容,學生課下必須提前進行預習,才能跟上課程節奏。

2)課后作業。

每次課都會有課后作業。課后作業主要基于已經學過的知識,但也會覆蓋即將學到的內容,要求提交到學校的eCampus管理系統中,課堂上將針對課后作業中的問題進行充分討論。

3)上機實驗。

課程每周都配套安排1次上機實驗課,每次50 min,在機房進行;除了剛開始的兩周以及期中考試周,其余每周上機課都在后半段安排上機測試環節,注重每節課學生學習效果的反饋。上機課由助教進行指導,助教通常為主講教師的博士生。每次上機課的內容都非常詳盡地展示在課程網站上,包括這節課的目標、上機任務、參考資料、擴展思考題、致謝等。

上機課的任務難度隨著課程進度逐步遞增,其中很多任務都帶有啟發性,如給定一個實際問題,補充完整某個函數,或者給定某一段代碼,讓學生發現代碼中的缺陷并進行修訂,這些缺陷往往不是簡單的語法層面的錯誤,而是更高級別的程序設計層面的問題,如缺乏程序安全性考慮等。上機課程的設計考慮到不同學生的基礎,對于比較難的上機題目,在題目下方點擊一個可以展開的“提示”按鈕,即可看到對該題目解決方案的提示信息,給完成編程實驗有困難的學生使用。此外,針對能快速完成實驗任務的學生,額外提供擴展思考題供學生提高練習。

4)課后答疑。

除了上課和上機之外,主講教師和每位助教每周均有1次60 min的答疑時間,此外,每門課程還特別配備幾位同行教師(peer teachers),這些同行教師同樣可以在每周指定的時間段內為這門課有困難的學生提供指導和幫助。由于美國大學的學生多數是住在校外的,為了便于師生溝通,美國很多高校都在使用Piazza網站搭建師生課后溝通的橋梁。該網站是一款專門為教師、助教和學生服務的問答互動平臺,集wiki和論壇模式為一體,可以實現隨時隨地的師生線上互動,支持移動手機IOS和Android應用[8]。主講教師會在Piazza上為自己的課程創建一個問答中心,并在第一節后告知學生加入課程,之后學生和教師可以在上面分享問題和答案,平臺也能方便地查找問題和答案。不同的用戶可以對同一個問題進行回答,而每位用戶的問答記錄也都會保存。如果學生急需一個問題的答案,可以對問題設置標簽;教師可以查看問題標簽的數量,有選擇地在課堂上詳細講解某些問題。

5)教學資源。

課程沒有指定的教材,只有參考書目,包括《A Computer Science Tapestry》《Programming Principles and Practice Using C++》以及經典的《C++ Primer》。主講教師的講義是最主要的教學資源,教師會經常更新講義內容,使學生獲得最新的知識和信息。

2.3 評分機制

課程的成績組成:上機測驗占15%,兩次期中考試各占20%,期末考試占45%。課程網站上顯示,往年第一次期中考試的最高分為100分,最低分為0分,平均分為68.5分;第二次期中考試的最高分為100分,最低分為0分,平均分為50.4分。綜上可見,評分總體是偏低的。

期中和期末考試都是紙卷考試,主要以程序設計題為主,也有少量的多選題。考試允許學生攜帶參考資料,但對攜帶的材料有明確規定,學生可以攜帶5張A4尺寸的紙張,正反面均可以做筆記,并且告知學生考試的題目基于平時課后作業和上機練習的內容,但不會是類似的題目。

3 程序設計高級課程

3.1 課程目標

程序設計高級課程的名稱是編程語言(programming language),編號為 CSCE314[9],要求具有一定的計算機基礎并且已經完成數據結構與算法這門課的學生學習。課程介紹兩種不同的高級編程語言,一種是函數式編程語言Haskell,另一種是面向對象編程語言Java。課程的教學目標是使學生在學完課程后能夠更有效地使用現代編程語言,更容易地學習其他新的編程語言,并對語言結構、通用抽象機制和程序運行效率有更深入的理解。

Haskell是一種標準化的、通用純函數式編程語言,有非限定性語義和強靜態類型,主要的執行環境是GHC。國內很少有高校會教授Haskell這門編程語言,往往只介紹更加大眾化的C、C++、Java編程語言,而將Haskell和Java放在同一門課程中講授也很特別,旨在對比兩種不同編程思想的語言,讓學生學會用函數式編程方法設計和實現程序,同時了解面向對象語言的主要特征,獲得自主學習更多編程語言的能力。

3.2 課程安排

課程在每年的春季和秋季學期均可以選修,每周3次課堂講課,每次75 min,共計15周。1—7周介紹Haskell語言,第8周進行期中考試,9—15周介紹Java語言。

課程共安排10次課后作業,在課程網站上有每次作業的詳細要求,包括作業目標、指導建議、作業題目、致謝和測試用例。每次作業都由若干編程題組成,多數題目提供代碼框架或部分代碼,甚至有的題目為了使學生更清楚題目要求,還提供示例代碼。比較特別的是,教師為每道題目提供測試程序,學生只需下載并導入測試程序,便可以自動執行測試用例對自己的程序進行測試,判斷程序的運行情況。作業中的題目有一些是經典的數學編程題(如中國余數理論),課程網站上會給出詳細的問題背景資料,并在致謝中列出問題來源,甚至對首次將該問題作為編程練習題的人加以感謝,體現美國對知識產權的重視。

課程的參考書目包括劍橋大學出版社的《Programming in Haskell》以及Ken Arnold等人撰寫的《The Java Programming Language》。學校圖書館可以下載參考書的電子版,還提供大量與課程有關的網絡資源鏈接供學生參考,因此,學生課后自主學習的工作量很大。

3.3 評分機制

課程的成績組成:課堂測驗占10%,課后作業占30%,期中考試占30%,期末考試占30%。實際上,主講教師對自己所授課程的評分機制有絕對的自主權,每個學期都可以進行調整,但通常期末考試都不會超過總成績的50%,更看重學生平時的階段性表現,注重學習過程。如果學生超過截止日期提交作業,除非有學校認可的不可抗力原因,否則每遲交一天,成績將減少25%。

學校對學術誠信非常重視,明確規定學生之間可以接受的合作和不可接受的合作??梢越邮艿暮献靼ㄓ懻擃}目以理解其含義、討論解決該問題的可行解決方案,但具體的解決方案必須由學生獨立構建和編寫,還要明確說明別人給予的任何幫助以及引用的任何資源,包括人、書、論文、解決方案、網頁或其他。不可接受的合作包括剽竊他人和給他人提供剽竊。他們認為剽竊是最嚴重的學術不端行為,破壞同事之間的信任,影響研究的正常傳播,在學生守則中明確規定對學術不端行為的處罰條例。德州農工大學的學生自稱為Aggie,每一位Aggie在入學時都要簽署一份學術誠信聲明:每一位Aggie都不會撒謊、欺騙、偷竊和容忍做這些事的人。在上交任何學術相關的材料之前,每位學生還會要求打印并簽署誠信誓詞:以我的名譽擔保,作為一名Aggie,我在這份學術工作中既沒有給予也沒有接受任何未經授權的幫助。

4 課程分析與啟示

1)重視培養學生的計算思維能力。

程序設計課程不能過多關注某個編程語言本身的語法知識,而忽略對學生計算思維能力的培養。國內程序設計課程往往對編程語言本身介紹過多,要求學生熟練掌握編程語言的每一個知識點,而對具體問題解決時的算法設計、方案對比、性能分析都做得不夠,往往直接拋出具體的算法,讓學生學習如何將算法變成代碼。只有多讓學生分析問題、設計算法,才能更好地鍛煉學生的邏輯思維能力。

2)重視不同編程思想語言的對比教學。

程序設計課程的教學主旨是讓學生學會如何用計算機程序結構和邏輯框架解決實際問題,然而,編程語言更新換代非???,讓學生快速掌握不同的編程語言思想并能在今后的工作中快速學習新的編程語言非常重要。國內高校每門程序設計課程只專注某一門編程語言,如C、C++或Java,沒有將不同的編程語言放在一起進行對比教學。不同編程思想語言的對比教學,可以將學生的注意力從某一門語言的語法規則轉移到不同語言的編程思想上,體會不同語言的特性和優缺點。

3)注重學生平時學習過程。

考核上程序設計課程期末考試成績不會超過總成績的50%,而是更注重每個階段的學習驗收,將大量的隨堂測試、上機實驗、上機測試、課后作業、期中考試均作為學生的評分依據。國內很多高校仍然以期末考試作為主要的考核手段,期末考試通常會占比70%以上,這樣很容易導致學生不注重平時積累,只想著期末考試前突擊,對學習以動手實踐為主的程序設計課程是非常不利的。

4)照顧不同編程基礎的學生。

美國很多高中開設計算機課程,不少學生具有一定的編程基礎,因此課程網站上的作業布置會考慮到不同編程基礎的學生需求。對于編程基礎薄弱的學生,有難度的題目都會提供解題提示信息,但開始提示信息是隱藏的,也并不鼓勵學生在充分思考前查看;而對于編程基礎較好的學生,擴展的思考題會極大地激發學生的學習熱情,豐富有趣的問題背景資料也能極大地拓寬學生的知識面。

5)注重課下師生互動交流。

每門課程都安排教師、助教、同行教師每周有固定的辦公室答疑時間,都開設Piazza課程問答中心,可以實現充分的師生互動交流,便于及時解答學生的疑問。國內高校教師課后主要通過Email和學生進行聯絡,有些教師也建立課程的QQ群或者微信群,但是QQ群或微信群中學生的提問和教師的回答不能有效保留,因此,很可能會出現重復回答同一問題或者學生沒有看到答案重復提問的情況,問題和答案也不方面查找,浪費師生的寶貴時間。

6)自主靈活調整教學計劃。

主講教師具有絕對的自主權,每學期教師的教學計劃都會作出調整,包括課件、案例、參考資料、作業、評分標準等,以確保教學內容緊跟最新技術和知識。國內高校的教學計劃調整往往是由上至下的,學院領導要求調整教學大綱和教學計劃時,所有教師在同一節點進行調整,并且教授同一門課程的教師講什么內容、做什么作業、怎么評分都要保持嚴格一致,不利于教師發揮各自優勢,作出新的教學嘗試。

7)注重知識產權和學術誠信。

美國非常注重知識產權,哪怕是某個數學問題用計算機編程實現,都會注明誰第一個將這個問題用計算機實現,潛移默化地培養學生對知識產權的尊重。此外,非常注重學術誠信,對哪些屬于正常合作、哪些屬于抄襲都有明確的定義,并通過讓所有學生簽署誠信承諾書強化誠信意識,對違反學術誠信的處罰非常嚴厲,而一般學生也不會觸犯誠信守則。

5 結語

計算機程序設計課程是高校計算機相關專業的核心基礎課程,學好程序設計課程是學習其他專業課程的基礎。總體而言,我國高校計算機專業學生的編程能力要強于計算思維能力,算法實現能力要優于算法設計能力,在程序設計課程的教學中更好地培養學生的計算思維能力,仍然是學校和教師努力的方向。一方面,對于教師而言,在課堂上要注重培養學生的計算思維能力,可以考慮將不同編程思想的語言放在同一門課中進行對比教學,注重學生平時學習過程和兼顧不同基礎的學生;另一方面,對于學校而言,要加大課程輔助教學平臺、師生互動交流平臺的建設,并支持教師能夠自主靈活調整教學計劃,發揮個人的教學特色,還要建立有效機制保護知識產權和確保學術誠信。

猜你喜歡
作業課程教師
最美教師
快樂語文(2021年27期)2021-11-24 01:29:04
數字圖像處理課程混合式教學改革與探索
軟件設計與開發實踐課程探索與實踐
計算機教育(2020年5期)2020-07-24 08:53:38
快來寫作業
教師如何說課
甘肅教育(2020年22期)2020-04-13 08:11:16
為什么要學習HAA課程?
未來教師的當下使命
作業
故事大王(2016年7期)2016-09-22 17:30:08
圓我教師夢
吐魯番(2014年2期)2014-02-28 16:54:42
我想要自由
主站蜘蛛池模板: 亚洲一区二区视频在线观看| 国产性生大片免费观看性欧美| 四虎国产在线观看| 91年精品国产福利线观看久久| 亚洲无码熟妇人妻AV在线| 精品无码国产一区二区三区AV| 国产91全国探花系列在线播放| 成人午夜免费观看| 欧洲亚洲欧美国产日本高清| 2021亚洲精品不卡a| 成人小视频网| 久久亚洲国产一区二区| 午夜福利在线观看入口| 久久99精品久久久久纯品| 亚洲香蕉在线| 免费观看国产小粉嫩喷水 | 亚洲午夜18| 久操中文在线| 老色鬼久久亚洲AV综合| 九九免费观看全部免费视频| 亚洲综合在线网| 国产成人高清亚洲一区久久| 欧美中文字幕在线视频| 天堂网亚洲系列亚洲系列| 国产一区二区三区免费| 亚洲国产天堂在线观看| 成人午夜精品一级毛片| 亚洲首页国产精品丝袜| 好吊色妇女免费视频免费| 国产精品免费p区| 欧美区一区| 特级毛片8级毛片免费观看| 国产乱子伦视频三区| 9丨情侣偷在线精品国产| 99九九成人免费视频精品 | 亚洲经典在线中文字幕| 91欧美亚洲国产五月天| 国产精品播放| 午夜福利网址| 国产美女一级毛片| 色综合五月| 欧美日韩午夜| 色九九视频| 色婷婷电影网| 亚洲性网站| 欧美日本在线一区二区三区| 熟妇人妻无乱码中文字幕真矢织江 | 国产精品漂亮美女在线观看| 97超级碰碰碰碰精品| 国产大片黄在线观看| 国产毛片基地| 毛片a级毛片免费观看免下载| 91极品美女高潮叫床在线观看| 国产超薄肉色丝袜网站| 99热这里只有精品2| 国产免费人成视频网| 精品丝袜美腿国产一区| 香蕉久久国产超碰青草| 久久国产精品娇妻素人| 视频二区中文无码| 3344在线观看无码| 白丝美女办公室高潮喷水视频| 97视频精品全国在线观看| 特黄日韩免费一区二区三区| 亚洲成人在线网| 国产成人综合网| 国产污视频在线观看| 欧美日韩国产综合视频在线观看| 亚洲综合色婷婷| 综合色88| 天天激情综合| 亚洲第一成年网| 精品欧美视频| 欧美日韩一区二区在线免费观看| 欧美精品1区2区| 九九精品在线观看| 一级毛片免费不卡在线视频| 91美女视频在线| 一级毛片免费高清视频| 成人免费网站久久久| 亚洲色图另类| 免费看黄片一区二区三区|