高一學生如何學習演算法?編程?

推薦書籍和視頻之類的,身邊沒有老師,只能單槍匹馬。


高中生就學計算機競賽好了


找你們學校的計算機競賽教練學計算機競賽吧

如果沒有,可以參考網易雲課堂


看到題主的提問,我想先問一下題主是不是打算未來以計算機相關領域作為你以後發展的職業?如果是的話,可以有長期的部署。如果不是,只是想做做一兩個手機應用,那麼可以直接學習相關領域的知識,例如看一本一個領域的書「ios程序設計開發」「Android程序設計開發」之類的。

如果是長期規劃的話,建議可以先學習C/C++。看書的確很枯燥很難開始懂,至少我沒讀大學前看這些書都看不懂。書本首先教給你的只是C/C++的語法,你可能會覺得很無趣。那麼這個時候怎麼辦?選擇一個online judge,有很多不同的oj可以選擇,上面會有一些問題需要你用編程演算法去解決,而且演算法是整個計算機領域很重要的東西,如果你高中開始培養,你會發現你的大學將會有很大得益。當你做oj的題覺得難的時候,你就會去搜索它們的解法,學到演算法。

如果你對oj沒興趣,那麼你可以先學習C/C++,然後選擇ios或者android開發的書一步一步試著做。其實手機開發還是比較容易的,不過如果想做web開發會需要比較多的知識,所以建議後期再學習。

你使用win來進行編程是可以的,到了後期你掌握了一些編程知識後,可以選擇另一個操作系統linux。你會發現你的世界突然開闊了。

按照上面講的,如果你都掌握了,估計你也快到高二左右了,那麼那個時候還是好好學習,選擇一個好的大學的計算機系,那時你才算真正走進計算機科學的世界。


首先、分析自己的需求


web、PC(Windows、Linux等)、移動終端(Android、iOS、WP)


其次、選擇合適的語言

web比較雜,HTML肯定不能少的,CSS等,然後選腳本語言(JavaScript、PHP、Python等)


PC-Windows-C#、C++等


linux就C/C++、Python也行,C#理論上也可以,不過不推薦


移動終端:


Android-JAVA

iOS學objective-C


WP應該是C++或C#吧


最後、學!!!


完畢


我只說演算法,編程留給業界的前輩來談,我經驗太少。

如果英語還勉強過的去,就找MIT的演算法導論公開課,配著書看,一次不懂是正常的,有個直觀的理解,能想清楚思路就行。

學競賽至少要照著NOI學,目標NOIP是學不出多少演算法的。

親身經歷,不保證效果很好,我當初自掛省選只有NOIP獎。我見識過大量目標NOIP,對演算法沒什麼理解的同學。(不過你打點基礎大學再正經學演算法也不晚,見仁見智)


還是把主課學好考大學吧


推薦閱讀:

演算法分析從入門到深入,求書籍推薦?
如何不用循環和條件語句列印1到N(假設N為4,排列數就為256)的全排列?
演算法漸進複雜度,怎麼證明logn!= θ(nlogn)?
這個號稱「微軟的面試題」,該如何解答?
如何對1TB的數組進行排序?

TAG:編程語言 | 演算法導論書籍 | 計算機語言 | 演算法設計 |