點解2019大眾對程式設計的十大迷思

Photo by Anthony Tran on Unsplash

1. 什麽是程式設計?是設計什麽?

【程式設計】的英文是Programming,【程式】的英文是Program,所以中文寫【程式設計】常常很容易讓大眾以為是在做Design(這裡指的Design普遍認知是Graphic Design)。所以常常有學生會問我們有沒有教Photoshop跟Illustrator,這些課程屬於Multimedia的部分,我們計劃未來會開類似的課程,但目前還是聚焦在Programming,也就是以開發程式為主的課程。程式設計在設計的就是系統裡面的功能細節,模組跟模組之間的互動,用編碼創造判斷力,執行力。

2. 學完這個就可以做APP了嗎?

這個答案可以是Yes or No,通常這是對我們的Mobile App Programming Class 有興趣的學生會問的問題。用比喻的方式來說就像是【參加了一個教你怎麼做壽司的烹飪課程,然後上完了課我就能夠煮飯了嗎】的概念,因為烹飪跟做APP一樣是一個範圍很廣的題目,烹飪分為中式,西式,日式,法式等等,而做APP也有分為Native App跟Hybrid App,然後App的類型也有分為購物APP,旅遊APP,商業應用APP,客戶關係管理APP,點餐APP等等。學會了怎麼做購物APP,也許還需要額外多學一點點東西才能再做旅遊APP。沒有一種課程可以包含100%的知識內容,但是好的基礎可以幫助我們更有效率的學習後面的知識。

如果你的App不需要有管理者介面,不需要連線到API取得資料庫的資料,那基本上在課堂上你學會的就可以用來做一個基本的App了;反之,如果你的idea是打算打造一個類似Lazada的商城,那肯定少不了需要打造Web的後台,以及整合整個系統的API,而要完成這樣一個大生態的平台建構,就必須要更加全面地了解Web Programming的背景知識了;簡單來說,就是先決定要完成的目標是什麼,再決定你只要學習Mobile App就好,還是Web Programming也是被需要的。

3. 有沒有教Python?要學程式語言先了解自己的需求

其實市面上的程式語言有很多種,通常每個程式語言被發明的時候都有他主要解決問題的領域。

以我們課程教的HTML,CSS,JavaScript,PHP與MySQL而言,主要解決的都是網路應用的問題,而再細分來看每個程式語言又可以再負責不同的部分。 HTML是網頁的結構語言,Browser會根據HTML的語法來決定怎麼呈現內容;CSS是負責網頁的樣式與結構;JavaScript是使用者與網頁互動的前端語言(當然現在JavaScript已經發展成後端也很行,甚至還能夠用來開發桌面程式),PHP是網路應用的後端的程式語言,而MySQL則是資料庫,我們透過SQL語法去操作資料庫。這五種語言結合起來可以完成一個完整的網路應用程式。

以Python為例,Python是現在滿夯的程式語言,普羅大眾常常可以在很多地方看到關於學習Python的課程,因此經常也會詢問我們是否有教Python。 Python目前最常被應用的領域是在大數據,機器學習,系統編程以及軟體開發上,當然你也可以用Python來寫網路應用程式,但在網路應用方面的的線上資源就會比PHP遜色(PHP在市場上已經有很悠久的歷史,幾乎你想得到的應用外掛都可以在Google找得到);反過來說,如果我們要用PHP來處理機器學習的應用是否OK?當然也可以!可是問題是你會寫得很辛苦,因為數據處理需要更精簡,更好用的工具來幫我們達成,所以如果你的目的是做機器學習,我們還是建議使用Python。

在學習程式語言之前,要先了解自己的需求,然後才投資時間去學習適合的程式語言,避免盲目跟風,結果事倍功半。

4. 有包學會嗎?

常常學生問這個問題的時候我們都會會心一笑。包學會有點像【吃到飽】的概念,就是我店裡的食物任你吃,包你吃到飽。 【包學會】是保證學會的概念。

事實上我們的課程具備兩個特色:

1)當天的課程都有錄影記錄,方便學生回家無限重聽

2)凡事報名過相同課程的學生,都可以申請免費重聽

以上兩個特色等於說讓學生擁有無限的機會可以重聽,對於用心的學生來說,應該比較接近【學會】的程度;反之,如果學生太忙,不想複習,或是老師交代的作業也沒有練習,那即使老師是世界頂級的講師,教材是世界頂級的教材也無法保證學生能學會。因為學習是雙方的,老師即使超級用心,學生無所用心也是枉然,因此這個問題的答案常常會讓我們無法回答,因為我們相信應該沒有任何學校能夠【保證學會】這件事。

5. 區塊鏈(Blockchain) ? 人工智慧(Artificial Intelligence) ?

關於區塊鏈在維基百科有很詳細的解釋,如果想要看動畫了解區塊鏈也可以看這個影片。 AI的影片可以看這個有趣的介紹。

Blockchain 跟 AI 都是 資訊領域很Hot的議題,而且在當今的高科技領域中都有滿多的應用。不過在接觸這些Hot議題之前我們必須先把基礎紮根好,如果沒有掌握基礎的程式設計能力,是無法深入了解到這些領域的技術的。所以建議大家可​​以先科普一下,等你掌握了基礎的程式設計能力再去深入了解這些技術的背後吧。

6. Digital Marketing 跟 Web Programming 的差別

Digital Marketing指的是使用數據驅動的方式去讓目標消費者了解你的產品與服務,並建立關係,從而讓目標消費者加強對你產品與服務的印象。最常見的方式就是使用Facebook或Google的廣告服務推銷產品。如果你是經營電子商務的賣家,Digital Marketing能夠讓更多潛在客戶意識到你的商品,從而帶來業績。

Web Programming是以程式設計為為核心,用程式去開發不同的應用程式,可以用在Marketing,也可以用在Business Operation,用途非常廣,因為掌握了程式設計的能力之後其實任何你想得到的應用都可以親手去打造。大部分的人學會了Web Programming之後都會設計系統來提高交易的效率或是應用在提高使用者的體驗上。

7. APP跟WEB的差別

很多朋友因為長期都以手機作為為連網的裝置,因此其實分不太清楚App跟Web之間的差異,不管是App還是Web通通都叫作App。 (雖然廣義上來說App的全名是Application,中文即是應用程式的意思,硬是要把網路應用程式當成是App的一種也不全然是錯的)。狹義上來講,App是裝在手機上的應用程式,通常需要透過AppStore或GooglePlay下載安裝獲得,而Web指的是透過Browser連線到指定的網址即可,免安裝,直接使用。我們可以把網站直接看成是Web的一部分。

App跟Web各有其優缺點,主要是App的使用者體驗較好,但是要安裝才能用,所以反而拉高了使用者進入的門檻;Web的行銷功能較強大,因為大家都習慣用Google搜尋資料,若網站搜尋引擎優化做得好,很容易就可以取得大量的訪客,缺點是沒辦法應用一些手機的原生功能。

8. 完全不會用電腦的人也能學嗎?完全不會英文也能學嗎?

程式都是在電腦上執行的,如果完全不懂得操作電腦就直接學習程式設計會遇到很大的障礙,因為可能連基本Copy And Paste都成問題,這樣是很難跟上其他同梯次的學生的。因此我們建議先了解電腦的基本操作,比如說懂得如何使用Microsoft Word或Microsoft Excel打報告,知道滑鼠Right Click可以用來Copy and Paste等就可以報名我們的程式設計入門班。英文雖然不是學習程式設計的必要條件,可是有基礎的英文能力對學習程式設計有很大的幫助,原因是大部分的編程參考文件都是用英文書寫的,如果今天編程遇到問題上google查詢資料,找到的解決方法都是以英文呈現的,看不懂英文將會在解決問題上遇到很大的障礙。因此,我們強烈建立在學習程式設計前,最好還是有基礎的英文閱讀能力。

9. 幾歲可以學程式設計?

學習程式設計本身是沒有年齡限制的,只要懂得電腦的基本操作,會使用鍵盤滑鼠,知道怎麼打字,就具備學習程式設計的條件。我們的課程至今最年輕的學員是14歲,最資深的學員是58歲,都能夠完成整個課程的學習。在知乎上,有人問自己想學程式設計,可是擔心已經是39歲的年紀了,不曉得是否還來得及;贊數較高的回答裡,有人這樣回复“如果你現在開始學,那麼再過一年,你是一個初級的編程人員;如果你現在還不開始學,那麼再過一年,你就是個什麼都不會的40歲的中年人。”

10. 什麼人可以來學 ?學了對本身有什麼幫助?學programming 數學要很好嗎?

簡單的回答是【任何人】,比較詳細的回答是【有興趣的人】。興趣非常重要,如果沒興趣硬是要去看程式碼其實是一件痛苦的事情,學習程式設計必須對於解決問題有熱誠,否則會無法感受到程式設計帶來的成就感。學習程式設計的目的通常包含了:A)想成為程式設計師 B)自己的公司需要 C)提高工作效率 D)提高生活的效率 E)跟風 F)其他。學習Programming 如果數學好對編程有很大的幫助,如果數學不好也別擔心,因為並不是所有的市面上的問題都需要依賴艱深的數學知識來解決的,如果你數學不好,但會程式設計,你還是可以解決很多的商業流程問題,至於那些需要靠數學才能解決的問題,我們能夠善用別人寫好的程式庫來解決。

2020年即將來臨,如果你還沒掌握程式設計的能力,現在還來得及
希望在來臨新的一年,本地能夠產出更多的程式設計師,為這個市場解決更多的問題。歡迎大家來報名我們的課程,提高自己的能力,我們2020年見。

文章來源:https://i-tea.com.my/en/blog/top-10-misunderstanding-in-programming-in-2019

▍艾堤數位

本文作者
田士鋒 Jason Tian
資訊工程碩士
14歲開始接觸網頁設計,15歲參加高中網頁設計比賽佳作,18歲參加flash動畫設計個人比賽冠軍,校內網頁設計比賽冠軍。擅長跨領域結合,高中時以為自己喜歡生物科技而在大學選擇生物科技係為第一志願,直到大三才認清自己對程式語言的熱愛而決定轉換領域,因此研究所便結合了資訊與生物領域的知識,發表了幾篇論文。在大學求學過程中也與志同道合的朋友成立公司專接網路應用程式的開發專案,累積了不少開發經驗。不管是購物網站,企業內部管理系統ERP,報名系統,拍賣系統,庫存管理系統,手機App,各種電子商務系統都曾經參與開發。也曾經在fb當紅時寫了一個社群行銷平台「抽獎王」,並在三天內利用病毒行銷的概念吸引了四萬個會員。 2013年因緣際會下參加Amazon AWS的舉辦的CloudKata程式設計比賽,在一小時內拿到最高分數擊敗所有對手奪得冠軍。目前是台灣920 App(飲料訂購平台)的共同創辦人,已累積300家飲料店。也是馬來西亞Consignment Project(寄賣模式)的共同創辦人,已累積1300個店家。
簡歷:
2003 寬中網頁設計與flash動畫比賽冠軍
2008 艾堤數位科技股份有限公司創辦人
2009 台大生化科技系畢
2010 在異奇網股份有限公司擔任技術長
2011 台大資訊工程研究所畢
2013 AWS cloudkata 台灣區程式設計比賽冠軍
2014 Startup weekend #10 第三名
2015 Consignment, 920 App 共同創辦人
0

No Comments

No comments yet

Leave a Reply

Your email address will not be published. Required fields are marked *