1. 程式人生 > 其它 >2022Q1 計算機課程學習總結

2022Q1 計算機課程學習總結

去年因為胡神關注了這些國外課程,但因為各種原因今年才剛剛開始,感覺如果英語閱讀和聽力不錯,聽聽這些課程是很好的選擇。記錄一下自己學習的過程吧。

The Missing Semester of Your CS Education

聽了很多次,每次都有新收穫:
第一次的時候剛想入門,聽得懵懵的,寫裡面的作業,卡在bash指令碼那裡半天想不通就放棄了。後面用了linux和vim,再看這個課覺得幫助很大。
對我來說,這個課更像是有著詳細介紹的索引,想要現在吃透它是很難得,每次吸收一些,效率都會有提升,講義裡各種連結極大得豐富了這個課程,讓我有了很多工具去裝(工具控福音)。

對於新手(我)來說,有用的點

linux入門:講義是很好的新手入門快查表。

oh-my-zsh及shell指令碼:看到zsh的自動補全就很想用,後來發現了oh-my-zsh,太香了,自帶git狀態顯示,很多自帶的外掛,兩下esc自動補sudo之類的。工具控狂喜,用它寫zsh指令碼也很方便,在都在一個.zsh檔案裡寫個函式就行了。很多重複的工作,我現在都會寫個命令來搞定。寫指令碼的時候我會用這個教程參考shell的語法,同時用shellcheck檢查,這份shell的cheetsheet也挺有用的。一些示例

dotfile:第一次不理解,想搞但不知道是做啥的,到後面折騰vim和zsh的配置檔案,再加上我在mac上裝了linux虛擬機器,怎麼樣同步配置是我一個很難受的點,這時候再看到dotfile就豁然開朗了,也走了很多坑,最後用了參考案例中的

一個解決方案我的筆記),中間我的linux崩了一次重灌了,正好有了dotfile省了我很多事。

git:配合oh-my-zsh的整合提示,很香。

vim:第一次看的時候就只是看看,覺得挺厲害的但然並軟,不練等於白看。後面開始使用vim,由此為契機再此看了這個課,覺得很有用,比起聽教程學vim,不如做一下vimtutorial,查一下講義,或者google一下,上手會快很多。入門之後,我也用了vimplus和vscode+vim外掛,覺得後者更香,除了對純鍵盤操作不感冒外,在安裝vimplus本身和一些外掛的各種錯誤也是給我留下了很深的怨念,但這不意味著vscode的上手配置就很輕鬆,也是挺費勁的。整體感覺下來,vscode更對我的口味吧。可惜了花在.vimrc

的時間。選擇vscode的話,tmux的作用也就沒那麼大了,反之,tmux也值得學習一下。

正則表示式:推薦的練習不錯,我挺愛用正則表示式的,grep -E

valgrind:正好我的入門語言是c和c++,這個工具在記憶體洩露和變數未初始化的問題上幫助很大。

cs50x

從2月中旬開始到4月2日結束,耗時:(至少)60小時+

+作業質量高,有階梯,介紹詳細,還有很多提示和幫助,適合自學完成作業
+有助於熟悉vscode和c/c++的除錯流程
+TODO等註釋標籤思路寫程式碼的習慣養成
+覆蓋內容廣c python sql 前端三大件html css js

非常好的入門導論課程,因為有基礎,所以前半部分的課程跳著聽著玩了,老師的課講得很好,節奏很緊湊。題外話就是這個課的包裝和影視製作都太強了,看到最後發現這是一個很大的團隊在做就瞭然了,想製作出這種課程背後的付出卻是很大

CSE 251 Programming in C

評價:

就我能做的作業而言(一半的lab和proj1),是一個難度簡單,教程詳細的c語言入門課程

+詳細的手把手教學
  +Makefile的簡易入門
-後半部分的proj和lab依賴較老的庫,很折騰了半天之後也沒寫成

因為有基礎,所以裡面的一些作業和內容相對而言就太簡單了。坑的一點就是,太想做proj2裝了一天的環境也沒裝好,後面看見需要依賴圖形庫的作業就果斷放棄,發現也就沒啥能做的了,還是這門課太老了,想去裝老的環境反而很繁瑣,折騰了大半天也沒成功,如果能做上的話,覺得會對這門課的評價會高更多(看起來很有意思),真的很想做電梯、車庫和機器人啊....印象最深的該就是wumpus了吧