作者:Elliott Hauser

翻譯:黑色巧克力

本文作者列舉了一些Python特性,並認為Python是最適合入門的編程語言,一起來看一下。

最近發表了三篇關於我的藝術史背景是如何影響我教學的文章。現在要分享一篇,為什麼Python對於青少年和成年人是入門語言的最佳選擇。

偉大的入門編程語言有什麼特徵呢?或者換一種方式問,“當我們教他們編程時,應該給予他們什麼?”對於成年人和青少年學生,我認為以下五點非常重要。

學生從入門語言獲得的五樣東西

  • 非常棒的首次體驗,就像一本書的第一頁,首先需要“入迷”,學習新知識不可避免的會遇到挫折,但要有持續的熱情和好奇心,這對於那些從未接觸過編碼的年輕人來說是至關重要的;
  • Web編程的能力,對於職業發展和程序工藝來說,Web編程越來越重要,學生有機會就應當掌握一定的Web架構基礎;
  • 桌面編程能力,儘管將來趨勢將更多的轉移到Web應用上,但沒什麼能比開發和運行一個本地程序來的直接;
  • 有市場的職業技能,儘管在學術和業餘編程中已經非常出色,但教授學生的技能在職業環境中也應該能派上用場;
  • 社區支持和輕鬆的語言環境,這裡再一次強調,對於那些從未接觸過編碼的年輕人來說是至關重要的。

一些老師或者學生可能不同意這些作為入門語言的必要條件。但我的觀點和經驗是,沒有任何一門語言能像Python一樣做到以下五點。

1.非常棒的入門體驗

按照慣例,用戶寫的第一個程序是打印“Hello World”。在所有實現“helHello World”程序的語言中,Python可以說是最簡單的。只需要在Python編譯器中簡單的輸入以下這些,然後按下回車。

Interactive Python Console
 >> > print( "Hello World" )
Hello World
>> >

這個互動示例值得嘗試!

Python代碼的可讀性使它成為入門語言的最佳選擇,尤其是當它與語法冗長明顯的Java語言對比時:

public  class  HelloWorld {

    public  static  void  main ( String[] args ) {
        System. out .println( "Hello, World" );
    }

}

編寫以上Java代碼後,還需要進行編譯,然後在命令行運行。這些不可避免的流程讓學生覺得編程困難。而那些輸入print(“Hello World”) 然後按下回車就能實現的學生,會有機會和信心學習更多。

2.Web編程

Web上Python廣為熟悉,不同於C.Frameworks這樣的低級語言,而像Django,Pyramid和Flask,可以讓學生創造出真正的Web應用程序,這類應用程序與他們每天使用的網站一樣強大。Flask是我個人非常喜歡傳播的語言,因為它與免費的Heroku賬號組合,能讓學生在一個小時之內部署他們自己的簡易博客。添加一條web應用的響應路徑也是如此簡單。

@app.route("/about") 
def  about () : 
    return render_template( "about.html" , now=datetime.datetime.now())

這幾行代碼並不簡單,但幾次課程之後學生便可以自己理解。在信心和好奇的驅使下,學會以最基本的方式響應Web應用請求,也是巨大的進步。

3.桌面應用

專為Web設計的PHP和JavaScript語言限制了學生對Web的開發,然而Python在本地計算機開發同樣廣為熟悉。Pygame,wxPython和其他為桌面程序使用的開發庫,讓學生勇於建立和運行他們自己的桌面應用。Katie Cunningham寫了一本我認為是關於Pygame教學的權威指南的書。我使用Pygame教青少年和畢業生開發桌面應用,樂趣多多。下面是一款被稱為Starpusher的遊戲,強烈推薦教學開發。

大數據

這款遊戲可以從pygame.org 下載,或者從我Github的倉庫獲取,它也可以在Raspberry Pis平台上預裝。

4.專業技能

不同於Scratch或者Logo語言教學,Python在專業和學術界有更廣泛的用途。它是一門可以伴隨學生開始和成長的語言。如果學習低​​級語言會發現Python與C緊密融合,而探索如Ruby的更高級語言會發現也能平滑過渡。如果想對Web應用程序進行更緊湊的控制將發現Javascript技術能與Python Web框架很好地結合在一起。倘若要探索像函數式編程的範例,會發現可以在不學習一門新語言的情況下實現。

然而最重要的是,開始編程時有更好體驗的學生,會有足夠的意願和好奇心去發展最符合自己目標的專業技能。

5.社區支持

我之前寫過如何讓代碼有內涵。學生參加社區交流會就是再明顯不過的方法,我也常去參加(更多信息點擊這裡)。Python社區交流會必然最受歡迎,因為那是開始探索事物真相和接觸未來挑戰的絕佳場所。

樣例實際發揮作用的部分是內置於Python的Turtle組件,它提供了簡單有效的方式去教授抽象的Python基礎知識。Turtle組件第一次被MIT's Seymour Papert採用,後來到了1960年在設計Logo語言中得到進一步推廣。這裡可以看到2009年關於組件的最新特徵介紹。Trinket使得Turtle組件更易使用和學習。更多信息可以查看我們主頁上的交互示例。

使用Python教學吧!

  • 我的下一篇文章會寫關於Python教學的最好互動資源。同時我在下面列了一份清單,包括為初學者提供幫助的社區資源,以及其他討論為什麼Python是一門偉大的入門語言的文章,希望對你有所幫助!
  • Python軟件基金會維護的新手教程指南,它們都有對新語言支持的特徵。
  • Python教育的特殊興趣組
  • 公開於Python.org的系列優秀視聽資源鏈接。
  • 從Java轉向Python的大學研究論文。非常感謝北卡羅來納州州立大學研究生Michael Head的貢獻。
  • 生活駭客文章寫到Python在關於最好的入門語言讀者投票中獲得了第一。
  • Jessica McKellar最近在PyTennessee報告中陳述了Python教育在學校的情況,並指出我們可以採取一些具體行動步驟表示支持。
  • 你好世界程序講述為什麼Python是偉大的入門語言。

End.

轉貼自: 36大數據


留下你的回應

以訪客張貼回應

0
  • 找不到回應

熱門標籤雲

訪客 - Language of Desire
I think about it is most required for making more on this get engaged Language of Desire
訪客 - BachJohann
This one is good. keep up the good work!.. child care assistance
訪客 - Case Study Help
訪客 - Do My Medical Dissertation Writing
Do My Medical Dissertation Writing
Pretty helpful material, much thanks for this article
Tutuapp is an app store same as google play store but extends the limits more than google play store...