大学计算机基础python学多久_基于Python 的“大学计算机基础”课程教学设计
基于Python 的“大學計算機基礎”課程教學設計
日期:2018-04-11 04:32
摘要 培養非計算機專業大學生的計算思維能力,在“大學計算機基礎”課程教學中引入程序設計內容已成各大高校的共識,但選擇何種程序設計語言仍然觀點不一。本文針對大一新生的實際情況,提出使用Python 作為本課程的教學語言,并設計了具體的教學過程。實踐表明,和C++等傳統語言相比,Python 語言可以更好地滿足不同程度學生的學習需求。
“大學計算機基礎”課程中的程序設計教學
“大學計算機基礎”(Fundamentals of Computers)是根據教育部計算機基礎教學指導委員會“1+X”培養要求開設的公共基礎課程,是大學各專業一年級新生的第一門計算機課程,也是本科各學科專業學生必修的公共基礎課程。早期的大學計算機基礎課程主要講授一些有關計算機的軟硬件基礎知識,以基本應用為主,并沒有過于涉及程序設計的內容;但在2010 年九校聯盟(C9)發布“計算機基礎教學發展戰略聯合聲明”之后,為了能在課程中向學生傳遞計算思維的理念,必須在大學計算機基礎課堂上適當增加基礎的程序設計內容已經是各大高校的共識,以便使用簡單的程序設計語言來描述抽象、自動化等計算思維理念。但在大學計算機基礎課程中具體選擇哪一種教學語言,各大高校產生了分歧。
有的高校根據后續程序設計課程的需求,選擇了C 語言、C++語言或Java語言作為教學語言,這幾種語言雖然在工程界應用很廣泛,但都存在著門檻高、學習曲線陡峭、上手難的問題,如果要想讓學生基本能讀懂使用上述語言描述的算法,需要的教學時間很長,一般要大概兩個月,也就是說幾乎50%的大學計算機基礎教學時間都要用于語言教學,顯然有些喧賓奪主。同時,由于大學計算機基礎課程面向全校各專業學生,這些學生來自全國不同的省份,不同地區的教學模式和教學水平不同,學生在高中階段接觸計算機的時間早晚、深入與否有很大差異,造成大一入學時學生的程序設計基礎參差不齊,給教學帶來了一定困難。因此在大學計算機基礎教學過程中,需要兼顧不同學生的接受程度,選擇一種語法簡單、又具有深度的程序設計語言就變得非常重要。Python 是一種類似腳本語言的高級程序設計語言,入門語法簡單,上手容易,并且廣泛應用于科研和工程領域,無論對于初次接觸程序設計的新生,還是具有一定基礎的學生,Python都能夠滿足他們的不同的學習需求,目前已成為了我校“大學計算機基礎”課程常用的教學語言之一。
2 Python 語言的優勢
Python 是動態數據類型的、面向對象的、解釋類型的高級程序設計語言,經過二十多年的發展已經非常成熟和穩定。它的語法簡潔并且清晰,與其他大多數編程設計語言不一樣,采用縮進來定義語句的層次。Python 語言支持命令式編程、面向對象編程、函數式編程、泛型編程等多種編程方式。與Ruby、Perl 等動態語言一樣,Python 語言具備垃圾回收功能,能夠自動管理內存。Python 經常作為腳本語言處理系統管理任務,而且比系統自帶的腳本語言語法更簡單、清晰。它擁有功能強大的第三方庫,因此適合執行各種高級任務,比如完成GUI 編程、游戲編程、網絡編程等。Python 交互式的命令行可以幫助用戶立即體驗其編碼方式并得到反饋結果,不需要了解語言全貌,使用者可以獨立地學習單個命令而不必編寫完整程序。總之,Python 語言繼承了傳統編譯語言的強大性和通用性,同時也借鑒了簡單腳本和解釋語言的易用性。它在設計上的以下幾個特點有利于大學計算機基礎課程教學:
(1)Python 在設計上堅持了清晰劃一的風格,代碼易讀、易學習、易維護。縮進格式要求嚴格,違反縮進規則的程序不能通過編譯,以此來強制學生養成良好的編程習慣。
(2)Python 是面向對象語言,提供了豐富的數據類型,函數、模板、數字、字符串都是對象,完全支持繼承、重載、派生、多課程教學
122 2016 年/ 第三十二期/ 十一月(中)繼承等特性,同時隱藏了底層內存管理、垃圾回收等細節,在教學上不僅內容完全滿足課程教學需要,可以讓學生在學習語言本身上節省很多時間和精力。
(3)Python 語言是基于虛擬機機制的,可以在各個平臺上安裝使用。Python 開發環境開源且數量眾多,主流的操作系統如Linux、Windows 都能很好地支持Python 環境。在常用的Windows 平臺下,只需一個很小的開源安裝包就可以構建Python的基礎開發環境,降低了環境配置的難度,使得學生能夠很快上手。
(4)Python 允許以交互模式運行。在主流操作系統中可以在命令模式下直接運行Python 交互環境,輸入指令可以立刻獲得運行的結果。交互模式易于被沒有程序設計經驗的學習者理解,適合在課堂授課中實時演示各種命令和語句的功能。(5)Python 具有良好的可擴展性,可以把其他語言開發的程序和Python 代碼集成,發揮不同語言各自的優勢;而且有大量高質量的第三方擴展庫,在不同的應用領域都有用武之地;同時,Python語言仍在不斷更新,具有良好的發展前景,便于調動學生學習的主動性。
Python 在設計上的特點決定了它簡單、易學、速度快。初學者不需要過度關注語言本身的知識,可把重點放在理解計算思維這一根本任務上來,通過Python 語言來學習大學計算機基礎課程具有很大的優勢。
3 基于Python 的“大學計算機基礎”課程教學設計“大學計算機基礎”課程包括分為理論教學和實踐教學兩部分內容。理論教學部分主要教授學生計算機軟硬件基礎知識、計算思維、算法思想等。由于“大學計算機基礎”是一門大一的課程,學生的學習基礎和高中時所受的計算機教育息息相關。水平高的學生在高中可能都已經參加過信息學奧林匹克競賽,而來自較偏遠、家庭情況較困難的學生則可能從來沒有接觸過,對基礎不同的學生同時教授相同的內容是不合理的。針對這種情況,一種策略是類似英語教學的分級制,在入學摸底考試中增加計算機基礎測試,同時適當考慮學生的自主選擇,依據評估結果將學生劃分到不同的班級,采用不同的教學進度對學生因材施教。但這種方案對高校目前的班級管理制度影響較大,難以推行。另一種策略就是使用基礎靈活的教學語言,C++等傳統語言門檻太高,不適合程度低的學生;而VB等語言雖然簡單,但功能較弱,且在業界較少應用;綜合考慮,Python 語言兼有兩類語言的優點,入門容易且功能強大,有利于教師針對不同程度的學生制定不同的教學策略,達到最優的教學效果。
實踐教學部分主要是實踐學生所學習的理論知識,把課堂上學習到的各類計算機軟硬件問題使用計算機語言來進行計算或仿真。在實踐教學中,對于C++等學習曲線陡峭的語言,教師往往需要在入門階段對學生進行一一輔導,費時費力,教學效率低下。使用Python 語言作為教學語言之后,教師為主,輔之以一定數量的研究生助教,完全可以保證為每個學生提供足夠的指導,使得他們能夠及時解決遇到的問題。同時,我們在實踐教學過程中采用積分制,布置較多的實驗題目,不要求學生必須全部完成,對不同難度的實驗內容設置不同的實驗分數,每個學生的總分只要達到一個適當的值,平時成績就可以得滿分。同時為了防止學生只挑難度低的實驗題目提交,需要對難度較大的實驗設置一個最小數量閾值,每個學生必須完成給定數量的較難題目。
我們統計了學生分別使用C++和Python 語言完成“大學計算機基礎”實驗的完成率,除了語言要求不一樣之外,題目的內容基本一致,統計結果如圖1 所示,其中實驗難度是從第1次到第9 次逐步遞增。從圖中可見,基于C++的實驗完成率要明顯低于基于Python 的實驗完成率,且隨著實驗難度的增加,基于C++的實驗完成率下降速度要明顯快于基于Python 的實驗完成率。可以看出,基于Python 的“大學計算機基礎”教學可以取得更加良好的效果。
圖1 基于不同語言的實驗完成率
4 結語
隨著各行各業越來越依賴于信息技術,無論在大學中學習什么專業,未來從事什么工作,掌握基本的計算機軟硬件技術,乃至具備基本的高級程序設計能力愈來愈成為社會對每一個人的要求。考慮到非計算機專業學生的實際需求,基于Python的“大學計算機基礎”課程不僅能幫助學生掌握信息技術的基本脈絡,培養基礎計算思維能力,最終是要訓練他們使用計算思維和程序設計技術來解決他們本專業中遇到的種種實際問題。使用Python 作為“大學計算機基礎”課程的教學語言,大大降低了學習編程語言本身的難度,使基礎較差的學生也能夠迅速上手;同時Python 強大的擴展功能更能激發他們持續的學習興趣。我們在未來的教學改革過程中,要繼續利用好Python語言強大的第三方開發庫,逐步開發出適合不同專業的、定制的教學計劃,激發學生發現問題和解決問題的興趣,使學生能夠更好地理解信息技術在本專業的應用,提升計算思維能力,努力培養信息化社會亟需的計算機和各專業的交叉人才\
總結
以上是生活随笔為你收集整理的大学计算机基础python学多久_基于Python 的“大学计算机基础”课程教学设计的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: udp怎么保证不丢包_在 Flink 算
- 下一篇: python预测控制_无人驾驶——4.控