非計算機專業怎麼開始學編程?

推薦一本跟孩子一起學
Python


這個問題的複雜度遠遠超過我等幹了很多年程序的的理解~

這些天一直在和一些想學編程但是沒有基礎的人聊他們學習編程的經歷,各種奇葩的糾結經歷,各種用心學習不得入門的困惑,甚至種種想砸鍵盤的衝動,再加上各種不解的眼神,還加上點點不曉得怎麼描述遇到問題的窘態~ 我才發現,程序員的思維和非程序員的思維差異的實在太大了~

題主應該正是這樣的一群人,不懂「位」,」byte」,也不懂動 java,c,c++,ruby等等~如何讓題主學會編程,確實是一個蠻複雜的問題~

有些策略正在論證和驗證中,如果驗證通過的話,我再來教怎麼學習編程~


如果要求不高,去看那些面向中小學生的競賽書,BASIC或者PASCAL或者C入手就好了,都是描述生動簡單利於新手的。把語法概念摸透,太過複雜的演算法數據結構之類的不一定要一蹴而就。

有了至少一門語言的基礎之後,就可以用 Head First 系列學習了,確實是公認的新手利器。

要關注下CSDN之類的業界新聞,慢慢積累一些知識,半懂不懂的看就好了。科技新聞也要關注。對業界概念廣泛的了解對於編程用處不小。

僅僅是學會編程如上就好了。這個沒有太多捷徑,不可能從電腦小白一下子變成編程高手。假如想深造,那還有很長的路要走,這個有不少人給出了專業的意見,在此不表。


「編碼」「計算機科學導論」


一本科普讀物一本入門教材,足夠了解很多基本原理了。更多的應用和積累,還是要多看多做。


首先,你需要有一台 Mac。

然後,Mac 101:Automator

---- 補充添得不錯,我們需要改變 ----

首先,你需要有一台 Mac。

然後,第一個 AppleScript 腳本


小白有師傅帶是最好的,告訴哪些坑可以先繞過去,節省時間和心力。

如果沒有師傅帶,先看入門的視頻學習基礎知識,然後跟著視頻練習。

學習完基礎,找小項目練手。

在校的同學有機會去公司實習最好不過了。

一般不建議零基礎的同學直接看書,書本相對視頻和老師講效果差很多,這是我帶這麼多同學下來的實際經驗。


Python 大法好


本來只是來隨便看看,但是看到的第一個回答竟然是不要看譚浩強並在評論區推薦primer,我覺得有必要回答一下。

個人覺得對於有一定編程基礎的人來說,譚浩強的書確實不如那些外國原版書籍更有深度,但是非計算機專業的有幾個能一上來就啃完那本九百多頁的C primer?

如果只是入門,上來就看primer容易堅持不下去,反倒是譚浩強的書更簡單易懂,至於國外的書,更適合有一點基礎之後再去讀,如果一心想要讀國外的原版書且英語基礎較好,只推薦Head First系列,易懂。

大二計算機專業在讀,以上是我學編程的一點感受而已。答完題繼續回去敲代碼。。。


3個月零基礎自學JAVA+SQL,目前正在攻關C++。等學到哪天沒興趣了就丟在一邊看著它慢慢凋零,最終只保留些許記憶的片斷,一如其他正在荒廢中的愛好一樣。

教材——使用難以理解的術語,嚴謹和精確地解釋了一個其實非並沒那麼複雜的問題,以致於讓你懷疑自己是否真的會說中文,從而萌生放棄之心。是的,這就是我對教材的定議。比如「Servlet容器使用ServletContext介面與Servlet容器進行通訊」......所以,假如你想糾結在這個坎上,企圖通過「反覆誦讀500遍就能理解」這樣的方法來學肯定是會掛掉的。不過你大可先忽略掉搞不懂的語句,繼續往下看幾天,再回過頭髮現這句話原來一點神秘色彩也沒有。

方法——書有兩種讀法,粗讀和精度。個人自學的時候兩個方法都用。先看目錄和每一章的摘要,搞清楚每一章講的是什麼。別小看這一步,比如我學存儲過程的時候,學著學著就在想,「為啥非要用存儲過程啊,這些都可以在程序里做啊」。然後看了章節摘要,才知道這個只是為提高數據查詢的效率,其實不少程序猿也沒太整明白——然後果斷跳過。看完章節簡介之再baidu,網上的解釋往往沒那麼嚴謹和理性,但往往容易理解得多。然後再精讀。

設備——一定要買好裝備。其實我對電腦無愛(說實話我至今為止沒弄明白為啥要學編程,可能黑客帝國之類看多了?不對,好老的片了......),但我每次總會對自己說,瞧瞧,這一章挺難的,弄明白這一章之後,就去換個羅技的滑鼠......整明白第二章,就去換塊顯卡.......加個SSD.......換台咖啡機......買個烤箱......買一套烘焙教材......啊,烤箱還能烤肉啊,好,要試試......好像好無聊的說......吃貨飄過......

練習——碰到糾結的問題就多練一練。比如在繼承、多態、介面這個問題上反覆練了好幾天。原本一些模糊的概念,練著練著就會了。

現在自學C++,多少有了些JAVA的基礎,相比來說上手輕鬆多了。


先選擇一門編程語言 學編程就像學英語一樣 都固定的語法就夠 固定的函數名稱 就要固定的單詞一樣 編程語言都是相通的 學好一門就一通百通了


速成的話,看視頻,跟著寫代碼

深入的話,看書,有能力的話看英文原版,沒能力看圖靈系列的吧,翻譯的還行


感覺很難


注重實戰,可以做出東西。了解基礎流程後,在做理論強化。結果導向


思考自己有多大的熱愛,毅力,恆心。然後看看《C primer plus》有多厚,再感覺一下自己的對它的愛能有多久,如果只是一腔熱血,就罷了吧,如果堅持要學,恭喜你,其實學習的是自己的愛好,那就沒什麼痛苦了,看看視頻,研究研究書,多多練習。基礎就有了,大刀闊斧走進編程的世界~


如果只是要學編程 不是要專業的程序猿的話 可以先學java和c++ 我是先學的c++的 感覺java很好用 也很簡單 很多方法被封裝起來 直接調用即即可。 如果書的話 推薦c++ primer藍皮書和 java的一本黃皮書(書名我忘了)。 我覺得 看書是一方面 多上機實踐代碼比較重要。


你可以關注一些公眾號啦。類似importsource這種。還有什麼其他的一些公眾號叫什麼編程那些事兒等等。


沒關係,可以從小朋友的編程工具開始,理解編程的一些原理先(變數,方法,循環,條件),比如我最近大半年一直在小學教的一門語言,上課的都是10歲左右的小傢伙,現在玩的都很溜了,到了某個程度,就有人舉手要學Javascript了。

Scratch - Imagine, Program, Share


你應該反省一下自己學編程的想法是不是明知是火坑還往裡跳,早日醒悟啊少年!


直接去學python吧 少年!


推薦閱讀:

學一門編程語言的首要原則是什麼?
新手如何學習編程?
如何高效快速背誦和熟悉API?
如何從零開始寫一個簡單的操作系統?
學習C語言會耽誤學C++嗎?

TAG:編程語言 | 編程學習 |

分頁阅读: 1 2