不是資訊相關科系畢業的,怎麼學寫程式?

閱讀時間約 6 分鐘
這篇文章專門寫給「非」資訊相關科系畢業的人,說明怎麼樣開始學寫程式,還有到什麼程度才能轉到資訊相關產業。
怎麼學寫程式?
我大學跟研究所都是念土木系,因為對寫程式蠻有興趣,所以除了系上的課之外,還有去資工系還有電機系修一些相關課程,因為不是資訊相關科系,所以有走了一些冤枉路,但是研究所的時候我已經可以開發套裝軟體了,也有當了一年的程式課助教。
如果你完全不會寫程式,一定要看這篇文章!會對你非常有幫助,你會知道要學什麼,還有知道要學到什麼程度大概才夠轉到資訊業。如果你已經會寫一點程式,或已經在資訊業的非本科生,也可以看看是不是有什麼漏學的,導致你寫程式的功力無法進步。
以下學習歷程我覺得有可能把你「勸退」的,我會特別強調,千萬不要放棄,因為多練習、多想就可以突破了。

  • 編譯器以及程式語言的選擇:
我自己是用visual studio(編譯器)寫C++語言,程式語言是寫給編譯器看的,編譯器會看你寫的程式內容再製作程式。
編譯器以及程式語言都有「嚴謹度」的問題。嚴謹度低的編譯器以及程式語言,當你寫的程式碼有一點錯誤的時候,還是會幫你製作程式出來。
這對學程式是一個很不好的事情,你有可能從頭到尾都不知道,自己有些觀念是不正確的。如果你不知道怎麼選,就跟我一樣就好,因為這樣的配套是很嚴謹的。
當你學會了寫程式的觀念之後,要轉換語言其實很容易,所以不用太糾結在要學哪個程式語言比較好,重點就是要選一個嚴謹的編譯器以及程式語言。
通常寫程式的第一步,就是你要先製作一個可以在螢幕上顯示("Hellow World")的程式,成功的話就代表電腦設定應該都沒問題,就可以開始學後面的觀念了。

  • 變數(資料型態):
這是寫程式的第一課,變數就是類似X,Y這種代數,變數只是一個空殼,你可以隨時替換裡面的資料。
變數是有型態的,不能夠亂放資料進去,像整數變數(int)只能放整數,浮點數(float)只能放小數,字元(char)只能放字元,變數這個部分一定要學好,不然未來會一團亂。
  • 陣列:
把一堆函數排排站,第一位是0號,例如:a[0]。可以擴充成多維陣列,例如:a[1][2],通常最多用到2維而已,再多容易亂掉,排排站的字元就會變成字串,也就是一串字母,有些語言直接就有字串的變數,有些沒有,這也是剛學程式的一個課題。
  • 檔案輸入及輸入:
就是從檔案將資料輸入及輸出到檔案內,通常都是從記事本輸入及輸出,因為像word這種檔案其實裡面都有一堆隱藏的東西東西,你用記事本打開就知道了,只有記事本是乾淨的。
檔案輸入及輸入有對應到變數,你一定要知道輸入了甚麼資料型態,輸出了什麼資料型態,來選用相對應的變數,不嚴謹的編譯器以及程式語言會允許你混用變數型態,聽起來很不錯對吧?但是你很快就會嚐到苦果!
  • 函數:
跟excel的函數用法差不多,但是你要自己定義函數的input(參數)跟output(回傳值)。
練習的時候,你要先寫一段可以執行的程式碼,然後再丟進函數裡面,再來把函數放進頁面裡面。
  • 迴圈:
顧名思義就是會一直重複循環指令,有while跟Do兩種語法,需要設一個條件跳出,不然會變無限迴圈(當掉)。
  • 除錯(debug):
其實從頭到尾都要debug,但是學到這時候還不太會的話,你可能會學不下去。
如果是一直顯示語法錯誤的話,先把指令複製道別的地方後都刪掉,然後再慢慢加指令進來,看看是哪一個指令有問題。
如果是結果錯誤的話,要在螢幕一直輸出,檢查哪個指令出現你不想要的結果。
  • 判斷式:
用if或select語法來判斷什麼條件要執行什麼指令,但select我不太常用。
  • 遞迴:
寫一個函數,這個函數包含自己,所以當我啟動這個函數的時候,他又會啟動一個自己
例如:這個函數叫做function,那在function裡面又會呼叫function,於是會一直呼叫下去,直到你設定的回傳條件,就會全部收回來,變成一個結果回傳到主要頁面中。
這個用在你不知道要做多少次,才能找到答案的時候(窮舉法)。
  • 指標:
學會指標你就進階到「下一關」了,指標是很多人被「勸退」的一關,當然你能夠走到這邊已經不容易了。因為上面那些指法並不會獨立存在,而是會全部互相交纏在一起。所以當你觀念不太清楚或是練習不夠的時候,根本找不出錯誤在哪。
指標就是變數的地址,就是像你家地址:幾巷幾號幾樓,因為指標跟後面要學的資料結構很有關係,所以是一定要搞懂的。

這時候語法你已經學的差不多了,再來要學的是其他門課程:
  • 資料結構:
前面在練習的時候就會用到資料結構了但是因為「串列」才是最常用的而串列需要用到「指標」的觀念所以到現在才講。其他像是「樹狀結構」之類的你應該本來就知道的差不多了。
串列的觀念就是:我只知道你家的地址,不知道其他人家的地址,而每個人都是這樣。所以我要找人的時候就要一個傳一個,沒辦法直接找到那個人。如果結構要無限擴張的話,這種做法是最好用的。串列實作還需要物件導向的觀念,物件導向後面會講。
  • 演算法:
演算法就是可以在「有限次數」內求解一個問題的「方法」。
每個演算法都有一個複雜度,就是隨著規模擴張的時候,求解的時間會多幾倍,有可能是n倍,也有可能是n的階層倍。
  • 物件導向:
現在開始你要「自訂變數」,這個變數裡面可以包含很多變數跟函數,物件導向最重要的用途是實現「封裝」的功能。
一般的程式碼,如果我要給其他人使用的時候,很像是給別人一個汽車的零件,你自己要知道怎麼裝這個零件車才會跑,而且你有很大的機率會裝錯。
但如果給你一個物件導向封裝的變數,就像給你一台車,你只要知道怎麼開就好,然後我也不讓你改裡面的零件,以免車壞掉。

學完物件導向之後,你的程度差不多可以轉行了,再來其他問題應該難不倒你。雖然後面還有一些視窗化程式、網頁語言、伺服器等等東西要學,但你應該稍微研究一下就會了。
學寫程式絕對不要落入程式語言要選哪個的迷思,因為正確的觀念只有一種而已,程式語言跟編譯器只是幫助你能夠了解這些觀念,並不是重點。

👉如果你喜歡文章請按下愛心❤️
👉想隨時複習請按下收藏】✅
👉如果你想供寶貴的意見請留言】✅
👉文章若有幫助也歡迎贊助】【追蹤】☕
這些都將成為我持續前行的動力🚀

為什麼會看到廣告
這個專題是專門寫給剛進入職場的新人看的,剛進入職場懵懵懂懂的,搞不清楚該學習那些技能嗎?是不是常常跟同事相處不順利?常常無法達到主管的期待?沒關係,這個專題都有解答。 你可以在這個沙龍發文討論以及交流。
留言0
查看全部
發表第一個留言支持創作者!
你可能也想看
城市移動風景再優化!台灣設計研究院以設計提升市區巴士資訊視覺美學2024.03.06 台灣設計研究院TDRI 台灣設計研究院不斷的推動公共服務創新,推動台灣公運美學不遺餘力。繼2019年和交通部公路局合作「北花線・回遊號」 後成功建立了台灣巴士美學的標竿示範,讓民眾體驗到有感的公共運輸設計美學,翻轉了一般民眾過去公共運輸的刻板印象,重新詮釋台灣公路客運新樣貌。
Thumbnail
avatar
分埔少年
2024-03-11
日本東北大學大學院畢業心得 (資訊博士)終於迎來了寫這篇文章的時刻,考完了本審查,物品也慢慢出清,其他需要去區役所等地方辦理的手續也都慢慢收尾完成。即將要畢業轉換不一樣的人生旅途了。 背景:我就讀位於仙台的東北大學,念資訊科學研究所博士班(情報科学研究科),也有修東北大學的卓越大學院博士學程,讀的是人工知能エレクトロニクス(AIE)卓越
Thumbnail
avatar
yun
2023-12-09
原來錯誤資訊來源不是現代產物!?來看看莊子是怎麼說服人的吧!這是100談邀請過去的受訪者——「欸!學文學要幹嘛!?」文學專頁的Joyce操刀撰寫的合作文,希望帶領大家進入莊子的世界,也同時思考知識傳遞過程中,或多或少的資訊操弄。 在當代萬象繽紛的資訊媒體當中,訊息的真假、精準度卻也時常更加曖昧不明,隨意重組的資訊可以將現實虛構成另一種模樣,使人迷失在絢爛
Thumbnail
avatar
Podcast 100
2023-09-17
不要忘了,你是人,不是機器|資訊篇|前導|【怪獸】你與科技的距離 EP6.1相較於過去 AR/VR 或是 Web3 熱潮,AI 壓倒性地因為 ChatGPT 更快走進一般人的生活之中——我們看見虛擬主播、虛擬品牌網紅的崛起,見證 AI 不斷成為我們茶餘飯後的討論話題,甚至馬斯克一度還站出來想暫緩 AI 訓練半年。社會變化太快,發展趕不上變化確實可能要慢,但,真的慢的下來嗎?
Thumbnail
avatar
王政皓|怪獸科技公司
2023-08-16
台灣是夥伴不是資產 Taiwan: a subject, not an object to the USTaiwan should be a subject, a partner; not a object, an asset after Taiwan has reached high-level democracy achievement and enjoy the shared-value as
avatar
雙魚鏡方格子檔案館
2023-07-23
[每週分享]7女兒和孫女感冒,會第二次染疫嗎?不是資訊接錯,是接得比較慢;冥想時看到花團錦簇的花園感冒或染疫?週六(10/8)晚上,7點多小孩睡了,不久我也睡。過了一陣子,聽到女兒在隔壁房喊:「媽,有一件可怕的事情,千千在咳嗽。」是喔!可能是週五上午出去走路,途中碰到下雨,天氣又比較涼,沒加衣服著涼了,這2天天氣轉涼了,女兒也有感冒的跡象。聽到她一直有聲音,然後大哭,我過去看,千千在床上滾來滾去
Thumbnail
avatar
紀餘
2022-10-15
召開水資源規劃視訊會議 蘇貞昌:幸虧超前部署才撐過百年大旱 行政院長蘇貞昌今(29)日召開「水資源建設及制度建立規劃視訊會議」時表示,全球面臨極端氣候,台灣此次面對無颱風、全年度雨量少的百年大旱,幸虧迅速完成聯通管進行區域調度、有戰備水井及伏流水支援等超前部署,不僅讓民生用水撐過旱情,也讓攸關世界經濟發展的科學園區維持運作。 蘇貞昌首先聽取經濟部水利署報告
avatar
李林林
2021-07-02
投資不是只有投錢!(我的2021投資理財計畫) 我習慣把投資理財這四個字拆解 因為投資跟理財是2件事 許多人聽到投資理財往往腦袋會浮現 阿就是投資股票、買基金、買黃金、存錢買房巴拉巴拉什麼的 確實這些也算投資 但我把他們歸類在比較外在表象型的投資 還有一種內在型的投資是容易被忽略的 那是一種你發自內心想要發揮天賦去投資(入)的事情 這也是我
Thumbnail
avatar
雷公山小的理財成長日記
2021-06-03
我的選擇不是我的選擇?──從資訊傳遞看美國大選選戰還是另類資訊戰?──假新聞產業的興起與美國總統大選 2020年11月3日,美國總統大選落幕;美東時間12月14日,透過全美選舉人團正式投票,確立總統當選人,而其將於 1 月 20 日於華府宣誓就職,成為美國第 46 位總統。 讓我們把時間稍微往前拉一點,回想選舉前的社會狀態。你看到了多少的新聞、
Thumbnail
avatar
LBB 嚕嗶啵
2021-01-28
我們缺乏的不是資源,是思維今天上課的時候,聽到一個案例。 有2去創業,前者是普通人,後者是律師。後來前者成功了,後者失敗了。 成功和失敗的原因有很多...
Thumbnail
avatar
空之客棧 || 個人成長導師
2020-07-28