3大重點 (快速導覽)
程式語言新手必看!無論初學者或初教者,你一定要懂的這些事
你是程式新手嗎?
想學程式語言找工作,「多方學習」才是答案!
想學程式豐富學習履歷,「全端發展」才是重點!
最適合初學者的程式語言是哪個?為什麼要學程式語言?沒有程式基礎該如何選課程?家長跟老師的疑問有哪些?學校該如何應對?
我們特別整理了程式設計工程師、家長、以及校方等不同角色的訪談內容,這些問題,通通在程式新手大哉問裡面為你解答!
📢程式新手大哉問:關於程式語言的一般問題📢
📍 Q1. 沒有程式基礎該如何選擇課程?
建議選入門門檻低(不需要設定環境)又彈性(應用廣泛)的成熟語言會是最佳選擇。除此之外,也建議須多思考學習目的及後續輔助技能的難度。
📍 Q2. 市場一堆程式課程都說可學 Python 當作入門,是真的嗎?
以現職工程師的角度而言,Python 這幾年如此火紅的主因還是在於市場推波助瀾!Python 相較於 C/C++/Java/PHP 等超熟齡語言來說確實相對簡單,初學者當成入門來學習程式邏輯、或是資深工程師學一下豐富履歷是還可以,但不建議你拿 Python 當作唯一技能來找工作,或只拿 Python 作為程式學習履歷上的唯一語言。
📍 Q3. 會 Python 很厲害?Python 是什麼?
一般人以為 Python 是入門程式語言的花路,踏進去之後才知道根本是條天堂路,原因是:
(1) 一窩蜂的學習者如過江之鯽,所以若你希望自己不同於一般 Python 語言工程師,會需要學習更多艱深的技能如數據分析,才能彰顯自身價值。事實上結果高不成低不就的例子不勝枚舉。
(2) Python 語言主要使用於資料分析、AI應用,雖說這些是未來趨勢,但事實上 Python 有很多致命缺點,尤其是語法混亂(Python 2 與 Python 3 這兩種版本無法互相支援)更顯現 Python 是種片段性的程式語言,以為學了 Python 就能成為全方位 IT 人才可謂天方夜譚。
📍 Q4. HTML/ CSS/ JavaScript 是什麼?
HTML/ CSS/ JavaScript 在程式世界中猶如永遠不敗的房地產家族,HTML 是小弟負責砌牆灌水泥 (基礎建設);CSS 是二弟負責油漆鋪磁磚 (輕裝潢);JavaScript 是大哥負責設計買家具 (高度裝潢)。
資策會 (財團法人資訊工業策進會) 在他們的數位人才就業養成訓練課程中,將課程依照市面的數位人才需求分為:AI人工智慧創新應用、AIOT 物聯網智慧創新應用、Big Data 巨量資料分析、嵌入式智慧系統創新應用、跨域 Java 軟體工程師、App Development 行動開發、智慧應用微軟 C#、前端工程師、互動式網站 UI/UX 設計師、雲端網路智慧科技、Unity 跨平台遊戲開發、3D 遊戲美術設計、全方位 IT 工程師、全端工程師、新世代數位架站、新媒體創作與行銷。
這麼多課程中,對於初學者來說,HTML/ CSS/ JavaScript 相對簡單易懂挫敗感較低;易提高學習興趣完成技術目的。無論初學者是想順利進入就業市場或是豐富程式語言的學習履歷,前提都是要能學習成功並能持續下去,而 HTML/ CSS/ JavaScript 正是非常適合的程式語言。
📍 Q5. 學習其他程式語言的過程中就可以學到 HTML/ CSS/ JavaScript,我有必要特別學這3種嗎?
從其它程式學 HTML/ CSS/ JavaScript 就如瞎子摸象,得花很多時間才能拼湊一二,如同你也可以先結婚再來認識你的另一半,只是過程會很辛苦而已!這三種程式語言算是最基礎、最入門的,會建議從基礎開始學起,了解程式的邏輯思維之後,也能對其他語言觸類旁通。
📍 Q6. 請問 JavaScript 和 Python 差異在哪?
這二種語言都是很好的程式語言,功能強大,各有優缺點、也各有廣大的支持者,通常會出現瑜亮情節。
Python 最終學習的目的是往非常專業的 AI、數據分析方向,這會是非常困難的挑戰,真的想往這方面前進的人才是比較需要選擇的方向,不過因為學習過程很快就會進入比較需要艱深的邏輯運算,還是建議先學過其他語言 (簡單廣泛) 後,再決定是否走這條路。
JavaScript 作為初學者第一選擇的好處是,它踏入幾乎沒有門檻,應用幾乎沒有限制,不管是初期或是後面的應用,都可以讓初學者選擇想應用在哪個方面,是一個自由度很高的程式語言。
📢家長跟教育工作者對學習程式語言的疑問📢
📍 Q7. 程式教育對K12的學生、甚至是一般人來說真的是必要的嗎?
身為資訊社會的公民,為因應科技發展帶來的新世代生活方式,擁有掌握、分析、運用科技的能力,已成為現代國民應具備的基本素養。我們都該認知資訊科技應用能力對未來的生活、學習及工作皆息息相關;而且,這個「未來」正以我們想像不到的速度向我們靠近中。「程式設計」正是培養創新思考、批判思考、問題解決與運算思維等高層次思考能力的一種教育方法,一種未來人才的基本能力。
📍 Q8. 我又沒要當程式工程師,為什麼需要學程式?
舉例來說,難道學寫作文是為了當國文老師?計算雞兔共有幾隻腳是為了當數學老師?其實,學寫作的主要目的是為了增強表達能力;計算雞兔幾隻腳是因為它能教導我們用精準有序的方式進行抽象思維,改善既有的思考習慣。程式教育或許在不久的將來也會走向學科化,培養邏輯思維其實是非常必要的,至於要不要當工程師其實都是個人選擇而已。
📍 Q9. 如果我想當程式工程師,需要具備什麼的條件?
透過這個問題我們可以真的了解到程式教育的意義,先來看看程式工程師需要俱備什麼:
第一,需要面對很多挑戰,第二,需要有解決問題的能力,第三,需要有學習熱忱,第四,需要有良善的心態,因為事在人為。
其實程式工程師跟其他各行各業的工程師沒兩樣,都是透過持續的學習與訓練,才能在過程中慢慢養成,其中,「興趣」在「學習熱忱」的養成過程中扮演著最重要的催化劑,找到方法維持興趣與熱誠,則是出類拔萃的關鍵。
📢針對政府的教育政策,學校應該如何應對?📢
📍 Q10. 台灣的程式教育近幾年雖然有政府與民間的大力推廣,但似乎效果不好,問題在哪裡?
- 第一, 沒有完整的引導系統 (教案,素材,內容,保存機制)
- 第二, 沒有足夠的師資
- 第三, 沒有規劃課程的能力
- 第四, 沒有破釜沉舟的決心
📍 Q11. 政府希望在 K12 校園中推廣程式教育 (科技素養),學校該怎麼做?
學校該怎麼做要從程式教育該怎麼做開始談起。
先談一個問題,請問誰來教程式比較好?
目前台灣各種教學體制,大多都是由程式老師來教,這對要往工程師之路的學生來說是必要的;但對一般初學者來說就不一定了。資深程式老師通常較無法發現與理解初學者的不懂之處;所以,其實可以這麼做:讓初學者變成初教者來引導學生,等學生具備了基本能力並且決定要往工程師之路後,再交給資深程式老師來教。
再談第二個問題,一般老師如何成為程式初學者及初教者?
程式非常需要實際操作,學中做、做中學&重複練習是最能引發成就感跟累積實力的方法,但大部分老師並無法接受這一套方法,因為他們害怕被學生問倒的恐懼如山大。所以排除一般老師的心理恐懼是第一步;增強信心是第二步。
心理恐懼又分為兩個層面,一個是學的恐懼一個是教的恐懼,但其實這兩種恐懼的解方都是「步驟」。學習若能透過步驟逐一理解與練習,很自然就會熟能生巧降低【錯綜複雜】的恐懼;教學若能透過步驟逐一引導與解說,就能大幅減少【問題旁出】的狀況,降低【無法預期】的恐懼。對於初學者來說,增強信心的辦法不外乎是勤加練習;但對於初教者來說,就不只如此了;因為初教者除了要確保教學品質還需顧及學習成效,因此,「教」比「學」更需要有系統的規劃及支援。
📍 Q12. 充足師資是程式教育能否普及的重要關鍵,學校該提供什麼資源協助教師轉型?
(1) 入門程式課程培訓-確保老師具備基本知識。
(2) 教學演示訓練及課程規劃訓練-確保老師未來能獨自進行程式教學及課程規劃。
(3) 完整的教學系統-這個系統必須有完整教案、豐富素材、多元程式語法、語法解釋、友善直覺的學習成效追蹤工具,及作品保存機制 (以配合學習歷程建檔)。
(陸續新增)
看完之後,對「程式語言」的教與學,你有什麼樣的想法呢?歡迎聯繫我們、和我們分享!