序
以前因為電腦硬體貴、記憶體少、執行效率差,所以程式語言的語法規定就要一大堆,這樣才能讓寫出的程式有效率的執行,例如,Visual Basic、C/C++、C#、Java等語法規定就一大堆,尤其C/C++規定更是多,所以其執行效率也特別高。但是目前硬體的記憶體便宜了,執行速度也提高了,小小的一支智慧型手機,其功能與記憶體都超過10年前的桌上型電腦。Python之所以能異軍突起,主要就是硬體功能與效率提高了,所以,資料型態已經簡化、語法包容性提高、且提供很多高階資料處理函式與套件,使的程式設計師要分流了,要分為應用程式類與編譯器設計類,若是前端的應用程式類,那就大量用這些高階套件,少許的程式就可完成以前專業程式設計師一兩星期的工作。至於進階的高階套件的內部程式,則交由編譯器設計師了。Python就如同現在的手機照相機,只要簡單按鍵,竟然可以完成以前專業攝影師使用專業相機所拍出的效果,所以非常適合作為全民程式設計入門教材。適逢108課綱,國、高中、大學程式設計通通改為必修,所以就撰寫這本書,作為全民程式設計入門教材。
其次,本人程式設計著作與教學30 年,經由不斷的修正再修正,累積很多程式設計教學經驗,所以本書特色如下:
1. 內容豐富。本書共14個單元、涵蓋基本語法、基本輸出入、決策、迴圈、繪圖、高中數學應用、串列、函式、類別、檔案、視窗程式設計、動畫、遊戲與107∼108最新APCS術科試題。
2. 程式來龍去脈很清楚。大部分的電腦書都是文字敘述完,就跑出一長串程式,讀者根本喘不過氣。本書則是一面說明、一面寫程式,所以程式的來龍去脈特別清楚。
3. 具有充分的範例。本書使用大量範例闡述程式指令與運算思維,學生觀摩這些範例,就能慢慢體會程式設計的方法。
4. 充分的自我練習。學程式設計不是一直聽老師解說,而是需要不斷練習,不斷練習自己排除錯誤,所以本書想出很多與範例非常相近的自我練習讓學生練習,希望老師一定要放手讓學生作,學生也不要指望老師幫您解答,只有不斷練習才會進步;也不要認為前面簡單就不作,因為這樣您不會基本除錯。短時間作不出來也不要氣餒,反覆思考就會有靈感。
5.跨領域教學。程式設計已經不是資訊科技老師的私有領域,它已經是所有學生、所有老師的工具。例如,本書有很多數學運算、數學函式圖形輔助教學、電腦輔助測驗等範例,各科老師只要學習一點簡單程式設計,就可以改寫程式應用在自己的教學領域。
6. 字體適中。體認老師因長年不斷教學準備,眼睛大多老花了,所以本公司不惜成本,將字體放大,希望能減輕老師的負擔。
7. 本書標示『※』屬進階單元,請任課教師依照上課時數衡量,學生第一次自習時可先跳過。
其次,這本書由我高師大程式設計啟蒙老師,也是一路指導與提攜的溫嘉榮教授審定,溫老師也提供很多大一學生程式設計的瓶頸與困境、及很多程式設計的運算思維與基本素養,經過不斷的討論與修訂,相信本書非常適合作為高中、大學學生的程式設計入門教材。此外,本書使用高中數學或較進階的應用,也都已經標上『※』,所以也可以作為國中生程式設計教材。
最後,本人雖然程式教學與著作超過30 年,快樂與熱情不變,儘管不斷的重複讀稿,但還是無法避免一些錯誤,企盼讀者閱讀本書時,將所見的錯誤、疑問、或不容易瞭解的地方郵件給我,如下表,我每年都會選出與抽出回函,贈送我的其他著作,在此先特別致謝。其次,我也會在泉勝網站刊登本書勘誤表。
洪國勝2019/11/18 僅序於彰化竹塘
www.good2-floor.dyndns.org