重修CS

多久沒有寫code啦?

距離之前在工作上面好好地寫認認真真的code,已經十來年有了吧。年輕的時候,畢竟是真的是工程師,還是得要乖乖地好好地寫code。後來升上了經理,這種工作就讓下面的工程師去寫吧,他們年輕有力氣,寫得又快又好。我還是乖乖的就管理就好。誰曉得,工作也會不順,管理職也會丟失呢?只好乖乖地回來做工程師的工作。這下可不得了,我的能力真的不足啊!除了自己寫有趣的以外,真正要派上用場的時候,腦子裡當然有很多解決問題的辦法,但是真正要寫的時候就寫不出來。

當然我也嚷嚷著要自我進步多久了?中間也陸陸續續的上了一些什麼課,但是幾乎都是上了開頭,沒有結尾。這次趁著疫情,每天都得要work from home的時間,反正哪裡也不能去,那我可不是多出很多時間嗎?就一口氣來把一些該上的課上了吧。

我第一個選擇,是把python學好。畢竟這是一個不只工作可以用,日常生活有時候也很方便的語言,然後我又已經涉獵了一半了,就把它達到基礎完成吧。我的選擇是一個youtuber (python program)在Udemy上面開的課程,叫做”The Complete Python Programmer Bootcamp 2020“。選這個課的原因是因為我平時就有在看他的YouTube頻道,很喜歡他介紹程式的方式。尤其是他”並不”只介紹python或是只有討論syntax,畢竟我已經懂了基本的CS,寫了一點python,最欠缺的一定不是怎麼寫for/while loop,最欠缺的反而是學習怎麼”解決問題”。果然上完了他的課,覺得獲益匪淺!他的這個課,真的不是只教你python,但是還教了觀念,還有真的有解決問題的一些tips,我個人對於想要學習python或是入門CS的人,我真的很推薦這個課。

但是邊上這個課,邊發現了自己的不足。我不是明明已經也CS的degree了嗎?怎麼會忘記了一堆algorithm,也忘記了基本的data structure?這些不都是最基本的能力嗎?為了這個,我想要重新修習(其實是回顧)基本的CS。

其實現在要學CS,坊間已經有很多大學都把他們基礎的CS放到網路上了,根本不一定需要去大學裡面學。尤其是現在MOOC這麼流行,你想要學什麼根本不需要一定要付到貴松松的大學學費,很多課根本就已經在Edx就可以免費學習了。那以CS來說,當然是挑戰一個難的,就選MIT的CS101吧!尤其是當我知道,這門課主要就是以python為基礎來教學,我就更覺得合理了。但是等到十月初註冊了我才發現,要做完這個課程,你必須要跟著他的進度,他八月就開課了,八月到十月中間好多作業,我都已經落掉了,他的規定又不是你可以跟著自己的進度,然後補上之前不齊的。你要是不齊了,就是沒交作業。對於我這種半路出家隨時想上的人就沒辦法了,所以我只好找別的課程。

另一個最有名的課程就會是Harvard的CS50了。CS50的方法就跟MIT的不同了,你隨時加入,有一個期限要完成所有的作業,但是不會因為你沒有一開學就加入導致你錯過了前面幾個作業的時間。另一個好處是,它著重的是”解決問題的方法”(problem solving),而不是某一個特定的語言。他的編排就是,從C語言開始(這個畢竟還是一般以CS來說,最基礎的語言了),教會基本的語法,怎麼跑loop,怎麼寫condition。之後進入深層一點,教了algorithm,討論了pointer(這個除了C或C++,現在高階語言真的不會看到了),還有寫自己的data structure。這正好都是我所需要的(想要學的)。然後循序漸進的,他跳到另外兩個語言,python和SQL。這兩個都是業界真正會碰到的語言,對任何想在這個行業找工作的人我都很推薦。之後,你選擇自己要走的路線,看是要走網路,還是遊戲,還是手機,他都有最後的一個不同路線。最後,可以寫一個期末的project,來驗收你的學習。我都覺得這個很適合初學者(或是像我重溫舊夢的,就是可以很快地瀏覽)。我從10/11開始,最到10/31完成了前七周的所有課程跟problem sets,現在進入第八周,選track的地方。還有剩下最後的final project。

謹以此文,記錄我的學習(或是進步)。

This entry was posted in 象哥的學習筆記 Study Notes, 象哥的心情故事 Feels like…. Bookmark the permalink.

Leave a Reply