編程的快樂
❶ 學習編程 如何找到樂趣
學習編程通常是比較乏味的,但是愛好是學習編程第一樂趣,因此首先喜歡編程,熱愛編程,通過學習編程過程中,不斷掌握編程方法技巧,並且實現了一些編程程序,看到自己的編程項目,那麼就是非常快樂的。
還比如在學習編程過程中,遇到一個問題,始終不能解決,但是突然解決了,那麼也是非常喜悅的。
學習編程找樂趣要點:
1、喜歡編程、熱愛編程,愛好是第一樂趣。
2、在學習編程過程中,不斷提高編程知識,實現樂趣。
3、和別人交流編程心得中,活動樂趣。
4、創造編程程序案例,實現編程軟體獲得樂趣。
擴展知識:
學習編程方法:
1、先選一種自己喜歡的語言(C,C++,java,Python等等)
2、買一本關於這種語言入門的書,一開始不要看太難的,循序漸進,先看一遍。
3、多練基礎代碼,將各種語句練得非常熟練,可以選一些計算機語言初等練習題做做。
4、再重頭到尾好好看一遍,哪裡不懂,可以與他人交流。
5、多看看別人用這種語言寫的程序,借鑒編程方法,對自己錯誤的思想進行校正。
6、多多練習,每天都打一些代碼,畢竟熟能生巧。
❷ 學編程有什麼好處 學編程的好處介紹
1、強化邏輯思考力
寫程序最重要的就是如何把大問題不斷分割成小問題的過程,其中,必需去思考如何把代碼合理的安排在整個程序中,才能讓程序流程的處理輸入、演算,直到輸出,會讓孩子對事物的邏輯分析能力有極大的提升。
2、編程充滿樂趣和創意
對於10歲的孩子,可以花上幾個小時用上scratch調試游戲,要知道,scratch是專門為孩子寫的編程語言,他們可以按照自己的想法去改動代碼,加入自己的設計,這就像藝術一樣在創造,孩子們不覺得自己在寫枯燥的代碼,而是再創造一些有意思的東西。
3、培養專注細心
除錯,是每個寫程序的人必經的事,不論大人小孩都沒有列外。有時候只是少打了一個等號,或是在某一行的行尾少加了一個分號,就會造成程序大亂,更別說還有邏輯上分析問題時忽略掉某種狀況的陷阱。所以,在學習寫程序出錯的過程中,是絕對無法得過且過的。有效改正孩子馬虎行事的毛病,避免當個差不多先生。
4、編程有助於建立自信心
編程讓孩子能從另一個方面展示自己,建立更強大的自信。在程序的世界中,沒有特定規定的路徑,也沒有什麼「正確的答案」,他們完全可以按照自己的想法去解決問題,這對於獨立解決問題的能力和邏輯思維,是極好的鍛煉。
5、增進解決問題能力
面對一個個挑戰,孩子會不停地利用學到的知識,試著達到目的而不斷的動腦。一旦養成這樣的好習慣,碰到其他學習或者生活上的問題是,自然也會試著自己解決。
❸ 編程為什麼有趣淺談編程的快樂。
首先,這種快樂是一種創建事物的純粹快樂。如同小孩在玩泥巴時感到快樂一樣,成年人喜歡創建事物,特別是自己進行設計。我想這種快樂是上帝創造世界的折射,一種呈現在每片獨特的、嶄新的樹葉和雪花上的喜悅。
其次,這種快樂來自於開發對他人有用的東西。內心深處,我們期望我們的勞動成果能夠被他人使用,並能對他們有所幫助。從這一角度而言,這同小孩用粘土為「爸爸的辦公室」捏制鉛筆盒沒有任何本質的區別。
第三,快樂來自於整個過程體現出的一股強大的魅力--將相互嚙合的零部件組裝在一起,看到它們以精妙的方式運行著,並收到了預期的效果。比起彈球游戲機或自動電唱機所具有的迷人魅力,程序化的計算機毫不遜色。第四,這種快樂是持續學習的快樂,它來自於這項工作的非重復特性。人們所面臨的問題總有這樣那樣的不同,因而解決問題的人可以從中學習新的事物,有時是實踐上的,有時是理論上的,或者兼而有之。
最後,這種快樂還來自於在易於駕馭的介質上工作。程序員,就像詩人一樣,幾乎僅僅在單純的思考中工作。程序員憑空地運用自己的想像,來建造自己的「城堡」。很少有創造介質如此靈活,如此易於精煉和重建,如此容易實現概念上的設想(不過我們將會看到,容易駕馭的特性也有它自己的問題)。
然而程序畢竟同詩歌不同,它是實實在在的東西;它可以移動和運行,能獨立產生可見的輸出;它能列印結果,繪制圖形,發出聲音,移動支架。神話和傳說中的魔術在我們的時代已變成現實。在鍵盤上鍵入正確的咒語,屏幕會活動、變幻,顯示出前所未有的也不可能存在的事物。
First of all, this kind of happiness is a kind of pure happiness to create things. Just as children feel happy when playing mud, alts like to create things, especially to design by themselves. I think this kind of happiness is the reflection of God's creation of the world, a kind of joy presented on every unique and brand-new leaf and snowflake.
Secondly, this happiness comes from developing something useful to others. Deep down, we expect our Labor achievements to be used by others and helpful to them. From this point of view, there is no essential difference between this and the children using clay to pinch the pencil box for "dad's office.
Third, happiness comes from a strong charm reflected in the whole process-assemble the parts that mesh with each other, see them running in a delicate way, and receive expectations
The effect. Compared with the charming charm of pinball game machines or automatic record machines, programmed computers are no less attractive.
Fourth, this kind of happiness is the happiness of continuous learning, which comes from the non-repetitive characteristics of this work. The problems people face are always different, so people who solve problems can learn new things from them, sometimes in practice, sometimes in theory, or both. Finally, this happiness also comes from working on easy-to-control media. Programmers, like poets, work almost only in simple thinking. Programmers use their imagination to build their own "castles". Few creative media are so flexible, so easy to refine and rebuild, and so easy to realize conceptual assumptions (but we will see that the easy-to-control feature also has its own problems).
However, the program is different from poetry after all. It is a real thing; It can move and run, and can proce visible output independently; It can print results, draw graphics, make sounds and move brackets. Magic in myths and legends has become a reality in our times. Type the correct spell on the keyboard, and the screen will move and change, showing unprecedented and impossible things.
《人月神話》讀書筆記
❹ 為什麼我編程的時候感受不到那種樂趣,也不是程序難要怎麼培養啊
1.開場
自我介紹, 簡單講述我大學的學習的歷程,成果和感想。(1分鍾)
我一直都感慨本年級許多同學在大一時因為缺乏好指引,在一開始就對編程很害怕,對計算機的學習沒有開好頭,動手能力長期跟不上,空會理論,不會實踐,一直拖累到大四,最終選擇忍痛考研或者抱怨找工作難。我也幫助過不少在這方面比較弱的同學,但是總是因為基礎沒打好導致難以提高。我也一直希望學校能在大一的時候就讓同學們明白學習的重要性,打好扎實的專業基礎。現在終於有一次這樣的機會站在這里,為指引大家如何在大學專業技術學習的道路上開好頭做點貢獻。
今天我將結合我自身的經歷和我對計算機的理解,我對編程的感悟,我對大學學習的認識,給大家做報告。
首先問三個問題:
1) qq聊天軟體是用什麼語言寫的(第二天要換個問題)
答對的演講結束後留下來,我要親自給他傳授寶貴經驗,沒人答的話,很遺憾
2) 誰玩電腦游戲比較牛
恩,人很多,大家很踴躍,很好
展示下我寫的人工智慧黑白棋游戲,聲明真正的編程高手基本從來不玩游戲
(結合大四同學長期沉迷游戲最後找不到工作的例子,說明一個嚴肅的問題,只會玩游戲沒有用,會做游戲才牛,鼓勵大家努力學習,讓會玩游戲的同學也熱愛編程,最後也能自己寫游戲)
請大家記住:只會玩游戲沒有用,會做游戲才牛
3) 有沒有人對計算機特別感興趣 (為什麼感興趣)
如果有興趣,對學習計算機有巨大的幫助
興趣是最好的老師,鼓勵他們,勉勵其他人,興趣是可以培養的,要學會培養興趣
2.概述
計算機"科學"與"技術" 包含兩個層面
"科學" 指計算機硬體、軟體與應用的理論知識 理論的學習
"技術" 指軟體開發、工程實踐等技能與方法 能力的培養
我主要講的是如何學習技術(計算機技術)
講之前 澄清一個觀點 計算機技術 不等於 編程技術
編程只是一個工具,編程沒學好不代表你技術就學不好
計算機技術應該是與計算機軟體、硬體和網路三個部分相關的各種科技成果和應用的綜合,包括了多媒體,資料庫,操作系統,嵌入式系統,計算機安全,計算機網路,計算機管理和維護,計算機應用,人工智慧,模式識別,管理信息系統等,在我們生活的方方面面計算機技術幾乎無處不在。
(舉幾個例子)在現在社會,它幾乎與我們的生活息息相關。
(大學和高中的學習方式的區別)(學好技術的重要性)
在大學,學習的方式與高中或小學是有很大的區別的,大學更大,大學更自由,不再是完全跟著老師,不再是只要吃透了老師教授的內容就萬事大吉了,從我這一屆的情況看,許多同學特別是女生在大學還沿襲著高中的學習方式,勤奮刻苦,天天自習,非常認真,上課筆記做得秘密麻麻,把理論學得非常扎實,但是卻嚴重地忽略了實踐能力的培養,理論考試分數很高,但課程設計做不出東西來,顯然這種學習方式是不對的,這和高中的偏科又有什麼本質區別呢。
我覺得理論的學習和技術的學習是同等重要的,二者都不應該輕視,沒有側重點是不可能的,至於如何側重,如何在二者之間找到平衡點就取決於你自己的人生目標了。如果你喜歡研究理論,以後想繼續讀研深造可以稍微偏向理論,把理論基礎打得扎實一些,畢業以後可以留校任教或到科研院所去發展。如果你想走技術路線,那麼你就可以稍稍偏向技術,在不落下理論學習的情況下,把技術學好學精,畢業以後可以去IT企業發展,也可以自己創業,有了一身技術不怕沒飯吃。切莫完全忽視技術最後變成書獃子或完全不顧理論最後只是個代碼搬運工。
大家每個人,從現在開始就要下決心學好技術,那麼,如何學好技術呢。
3.如何學好技術
3.1制定好的學習計劃
3.1.1大一大二:打好基礎
3.1.1.1計算機方面的基本技能的學習
包括計算機眾多的應用技術的學習 和 常見的硬體維護
(大家應該盡量多多掌握計算機方面的基本技能,如word excel ppt access* photoshop* flash* dreamveaver* 結合我的經歷講講,我大一在自己沒有電腦的情況下把這些基本全學了 舉一個考研的同學不會在excel里找自己的名字的例子,如果這些最基本的技能都不會,只能說計算機還沒入門)大二有電腦之後,終於有機會整自己的電腦了,要學習常見的常見的硬體維護(系統崩潰了怎麼辦,如何安裝操作系統,如何分區等)
3.1.1.2專業理論基礎和編程基礎的學習
技術是將理論運用到實踐中去,不能輕視理論,沒有理論何來應用。計算機"科學"與"技術" 中的"科學"和"技術"應該是相互依賴和促進的。
先學好《高級語言程序設計》《數據結構》等專業課,理論基礎扎實了,學應用性技術就更容易了
編程基礎:學精C++(為什麼),可以考慮過渡到 java 或 C# (最好只學一個,為什麼)
(編程的學習會在後面再詳細講)
3.1.1.3珍惜這兩年大學自由學習的黃金時間
(曾經和一家公司的經理開玩笑,總經理感慨的說現在在大學里找一個又能力的學生來幫忙做項目真是很難啊,我說是呀,大學四年,大一的剛進校還在打基礎沒法做,大二的還剛起步沒足夠的能力做,大三的課程會很緊沒時間做,大四的找工作的找工作去了,考研的考研去了,沒人做了),大學四年,實則三年,希望大家不要把最寶貴的時間荒廢在游戲和娛樂上
3.1.2大三:深入學習,確定方向(技術方向,職業規劃)+多多實踐
到了大三,各種專業課會非常多,包括很重要的操作系統,匯編,組成原理,編譯原理,資料庫,計算機網路,軟體工程等等,大家將深入學習計算機的各大核心課程。這時大家的基礎打得也差不多了,可以選擇一門自己比較感興趣的技術並確定自己的技術的一個方向,比如選擇j2ee, .NET,WEB技術,資料庫技術,嵌入式,linux內核開發等等。當然也會有非常豐富多彩的專業選修課可以選擇學習。這段時間大家可以利用課程設計的機會好好鍛煉自己。
3.1.3大四:實踐和進步
大四,如果不打算考研的同學,工作有了著落之後,可以試著做項目,大四基本沒什麼課,相對輕松,這段時間是獲得經驗,銀子和巨大的進步黃金時期。
3.2重視專業課的學習
要把數據結構、演算法、資料庫、操作系統原理、計算機體系結構、計算機網路,離散數學等基礎課程學好
除非你足夠牛,請務必認真聽專業課,有些課像《數據結構》,《編譯原理》,《組成原理》,《操作系統》等等,這種課老師講一分鍾能讓你明白的內容,你自己看要看好幾個月
3.3培養好的思維能力
數學是鍛煉是思維的最好的東西了,他是你思考問題的最得力的工具,他體現著你的思想,在編程中會思考才能編出好的程序。
此外還要注重離散數學,數值分析,線性代數,數字邏輯等等課程的學習,他們對培養好的思維能力大有裨益
3.4激勵創新意識
創新太重要了,不管在哪個學科都重要,計算機同樣需要
3.5培養獨立分析問題和解決問題的能力
遇到問題,要先學會獨立思考,不能凡事依賴他人,盡量自己解決,在獨立解決問題過程中能獲得更大的進步,實在不能解決再請教別人也不遲
3.6培養自學能力和快速獲取知識的能力
自學能力之重要(大學和高中的學習方式的區別)
可以說高中是靠老師,大學是靠自己,要做到嚴格自律,自我約束,必須要學會自學
學習的過程也是學會學習的過程
要充分利用圖書館和網路上的豐富學習資源, 要培養計算機新知識,新技術方面的自學習能力,要學會如何通過網路,書籍,文獻,獨立地快速獲取自己需要的知識和信息
3.7培養團隊協作精神
在一個大型項目中,往往要求各種參與者密切配合才能取得成功。大家要從現在就開始注重團隊協作精神的培養,要學會與人溝通,善於表達,要注意提高自己的綜合素質,成為綜合型人才。
3.8學好英語
包括現在的大學英語和日後的專業英語。
也許有人會問,英語和技術有什麼大的關系嗎。大家是否知道,計算機的發展飛速,國際上新技術不斷涌現,如果今天國外出現了一門新的技術,或者國外某本技術書籍出了新版本,相關資料的中文的翻譯不知道要等到什麼猴年馬月才會出來,現在的許多出版也有了越來越多的英文原版書。
大家要學好英語,培養閱讀專業外語資料的能力,開始會看不懂,看多了自然熟練了。
(講下四六級,四級最好一次就過,六級在大二下結束前最好過)
3.9適時關注新技術
了解學科發展動態,跟上時代步法
3.10勤學苦練,持之以恆
學好技術不是一蹴而就的,要長期堅持。
4.無
5.無
6.關於編程的學習
6.1為什麼要學習編程
編程是軟體開發的基礎,學習計算機,只會編程是千萬不行的,但是開發軟體,不會編程是萬萬不行的
(結合本年級的情況將一下現狀,學習的重要性等)
6.2編程真的那麼難學嗎
(講講編程的苦與樂)
編程真的那麼可怕,那麼枯燥,那麼沒意思嗎?假如真是這樣,為什麼世界上還有那麼多優秀的人樂此不疲。
其實編程並不可怕,可怕的是你的心態。
編程固然很苦,編程時長時間對著屏幕,對身體不好,而且,經常因為考慮不周,會遇到各種各樣的錯誤和麻煩,初學者處處容易受挫。
但是其實編程是很有趣的,編程中充滿著無窮的快樂
首先,你通過編程得到了想要的成果的過程是一種創造的快樂
(編出了有用的東西的那一刻會有一股美好的成就感)
其次,你開發了有用的軟體可以方便自己或他人,方便自己,是一種享受的快樂,方便他人,是一種奉獻的快樂
再次,假如你開發的軟體得到了用戶的認可或好評,會有一種欣慰和滿足感
還有,你可以根據自己的意願寫你想要的東西,經過自己的努力親自實現你心中的願望
然後,編程也是一個挑戰自我的過程,遇到困難想辦法解決的過程是思考的過程,思維能得到鍛煉
最後,在代碼中有一種看不見的美,就像詩一樣,美景全是你的,你可以隨心所欲
編程真的非常有趣,它不僅滿足了我們內心深處進行創造的渴望,讓人頭腦變得靈活,而且還愉悅了每個人內在的情感。
6.3學好編程的建議
6.3.1請熱愛編程
如果想成為編程牛人的話,請熱愛編程。有興趣是最好了,沒興趣也沒關系,可以慢慢培養,當你感受到了編程的樂趣的時候你會愛上它。
6.3.2不要畏難
很多初學者往往都在遇到許多困難,遭受多次挫折後,自信心受到打擊從而對編程喪失興趣
這些困難每個人都會遇到,我在初學編程時也遇到過,關鍵是看你用什麼心態對待,是想辦法解決困難還是選擇逃避。很多問題其實是有很多解決方法的。譬如看書,遇到看不懂的部分,可以暫時跳過,先往後看,看完後面的之後,再回頭看前面跳過的部分往往會有一種豁然開朗的感覺。再比如,編程調試時死活找不到錯誤會很郁悶,這個時候很多同學會束手無策,其實只要在程序不同的地方加上輸出語句,然後運行看有哪些輸出,這樣一步步縮小錯誤的范圍從而確定錯誤發生的位置。等等。。。
不要畏懼困難,要用你的智慧戰勝它。
6.3.3多實踐,多交流
學習編程的秘訣是:編程,編程,再編程;(講講如何動手實踐)
在學校的實驗室就算你做錯一萬次程序都不會有人罵你,如果在公司你試試看!所以多去實驗室上機,現在錯得多了,畢業後就錯得少了。多實踐,多從失敗中吸取教訓,積累經驗。要勤奮,三天打魚兩天曬網是學不好的,學會了的東西一段時間不用就容易忘記,實踐得越多才能記得越牢。
現在大家是大一,可能有人會說沒有電腦不方便,其實實驗室不是只有在老師安排的實驗時間才可以去的,它是是面向計算機專業的學生免費開放的,大家有時間就去實驗機房練習,只要拿著學生證,或者乾脆直接跟那個阿姨說你是計算機的就行了。航海樓7樓的機房和圖書館電子閱覽室也是可以的。我大一的時候甚至還到陽光網吧編程呢。
到大二大三的時候課程設計就會多起來,大家一定要自己動手做,不要去網上搜一個就完事了。
與人交流,分享自己編程中的樂趣和經驗,共同進步。
6.3.4多閱讀書籍和代碼
編程不是非要在電腦上才能學的,閱讀書籍和書中的代碼也是一種學習方式,自己還可以嘗試著改進那些代碼,最後可以把自己的成果拿到電腦上調試
千萬不要忽視書後面的習題
6.3.5養成良好習慣
細節很重要
要細心,沉下心來編程,戒驕戒躁
養成良好習慣,注重編程風格,盡量寫代碼注釋,把寫過的代碼保留下來,以後會有用
6.3.6善於思考
遇到問題動腦筋解決
6.3.7注重基礎
打好編程基礎,除了熟悉基本的語法之外,要深刻理解指針,引用,面向過程思想,類,模板,標准庫,介面,繼承機制,面向對象思想等等,課後習題盡量全做一下
剛才說了,有精力的可以學學 photoshop圖像處理, flash動畫製作,3dmax或maya三維建模,dreamveaver網頁設計,但是不要因為他們花費過多的時間而影響了你基礎的學習,那些都是些應用技術,你學會了更好,不會也沒什麼丟人的,基礎打好了,以後學啥都輕松。
在基礎沒打好的情況下,不要覺得你編的程序只能在黑白的DOS窗口了運行就去學VC做漂亮的窗口,3d程序很有意思就去看OpenGL或DirectX,那些都屬於高級應用,沒有基礎學起來會很吃力。
基礎要扎實,不要覺得C#中沒有指針就扔掉C++, 不要今天看C#,明天搞java
要有明確的方向,計算機技術的發展實在太快,新技術不斷涌現,了解一下就可以了,不要隨波逐流,要沉得住氣
6.3.8選好開發環境
選擇一種適當的開發環境並熟悉它就可以了,不要今天擺弄Visual Studio,明天鑽研Eclipse,後天來個netbeans,在工具的使用的學習上白白浪費時間。
6.3.9選好編程語言
我在選擇語言時,走過一些彎路,浪費了一些精力,我在這里選出一些主流編程語言,對語言特性與環境稍作介紹,希望可以幫助大家,讓大家盡早了解與選擇,少走彎路
C(多用在性能要求較高的場合,如操作系統,嵌入式等)
C++(應用最廣泛、成熟,強大而復雜,兼有性能高和易於構建大型程序的優點,基本是衡量一個國家軟體產業發達程度的核心基礎)
Java(著名的SUN公司推出的,面向對象、安全、跨平台、強大穩健,需要java虛擬機的支持)
C#(微軟推出的完全面向對象,運行在 .NET Framework 環境中新興、易學、強大語言)
Python(新興的面向對象腳本語言,跨平台,語法清新易於使用,代碼優美得像數學一樣,非常容易學)
PHP (目前最流行、強大、穩健的動態網站開發腳本語言,語法類似C++)
ActionScript (Flash的編程腳本,最新版支持面向對象,能基於Flex開發RIA應用)
除此之外,還有vb, vb.net, asp.net, jsp, asp, ruby, Javascript等
這么多五花八門的語言,大家可能都會覺得眼花繚亂了。
其實各種語言之間只是語法不同,編程思想都是相通的,學精一門,了解多門是上策。
" 程序=演算法+數據結構 " 其中並沒有編程語言,說明語言只是程序員與計算機的編譯器溝通的一種工具,程序員用某種語言來表達程序的邏輯結構,計算機中相應的編譯器或解釋器理解這種語言,編譯得到二進製程序或者直接解釋執行。
以上這些語言我在大學前三年全部學過了,有的學得很深,有的很淺。因為人的精力畢竟有限,很多語言學過了之後根本就很少用到,幾乎是白學了,現在我深深的體會到,
語言並不是學得越多越好,與其泛而不精不如有針對性的先精通一門,其他的觸類旁通。
就大家現在的情況,希望大家把當前正在學習的C++學好,學到一定程度的時候,可以繼續深入的研究C++的各種庫,也可以從上面選擇感興趣的新語言學習,如果把C++基礎打好了,後面的學習就會容易得多。
最流行的語言不一定是最好的語言,用的人最多的語言也不一定是最好的語言。
請大家記住,沒有最好的語言,只有最適合某個領域的語言, 在不同的環境下選擇不同的語言就可以了。
6.3.10重視數據結構和演算法
理論上,計算機的任何編程語言都有可能會被淘汰,隨著時間的推移和計算機軟硬體的飛速發展,不斷會有新的語言產生和和舊的語言過時,但不會過時的是數據結構和優秀的演算法。真正的高手應該是善於設計優秀的數據結構和演算法的,應該是具有獨立分析和解決問題的能力並利用計算機程序來實現的,他的思想應該是超脫語言、在更高處的一種升華。
如果某一天,你深切的體會到,真正重要的不是什麼語言而是思想的時候,說明你可以出師了。
