計算機專業(yè)大學學生的學習規(guī)劃(2)
計算機專業(yè)大學學生的學習規(guī)劃
大家不要笑啊,90年那會,生活不富裕,PC機還是一個很貴的東東,一般家庭都還停留在18吋電視機的時代,大學生又是最窮的,物質(zhì)條件更為匱乏,我當時有個小收錄機,京華牌的,呵呵,在同學中已經(jīng)很可以了。因此,像現(xiàn)在的同學們,一考上大學,MP3、MP4、筆記本電腦家里給配齊的,在當時是根本不可能想象的事情。我作為過來人,還是要說大家一句,大家真是生在好時代了,很幸福的。
不過呢,我很喜歡編程,就養(yǎng)成一個習慣,想象編程,找一個題目,自己在腦子里把程序構(gòu)思出來,寫在紙上,然后自己模擬電腦的run,把程序過一遍,看能不能執(zhí)行正確。這個習慣現(xiàn)在都還有。呵呵,我老是勸大家寫簡單的程序,其實和這個習慣有很大關系,因為我比較笨,稍微復雜的程序,腦子就想不過來了,就暈了。
也正因為有了這個經(jīng)歷,我就開始思考一個問題,編程究竟是什么?呵呵,當時我在學校,也是小有名氣,大家都知道有這么個程序瘋子,沒事喜歡發(fā)呆,喜歡想程序。在一次舞會上(別激動,我也是過來人,也會跳舞的,雖然很難看哈,呵呵),一個計算機專業(yè)的師姐就考我,問我編程是什么?
我當時想了一下,很鄭重地回答她,我的理解,編程就是拆解任務,把一個任務,拆解成很細很細的步驟,一步步教計算機去做。計算機很笨的,舉個例子,我們說早上起來去上課,是個人都知道做什么,但是它不知道,因此,我們要告訴它:
起床--穿衣--拿飯盒--去食堂--買早飯--吃飯--洗飯盒--回宿舍--放飯盒--拿書--出門--如果人都走完,要記得鎖門--去教室--推門--找到自己的座位--走過去--坐下來--等待上課--上課。
說到這里,我突然自己有點明悟了,編程,就是把復雜的問題簡單化,簡化到每個動作都是1+1=2那么簡單,然后計算機照做就好了。這就是我理解編程的真諦。我?guī)熃懵牭搅?,也若有所悟,這個話題就沒有再說了。
我們來分析一下計算機的特點,準確的講,目前我們這個社會的計算技術,還很原始,說它是計算機,正確,它確實只能計算,說它是電腦,太抬舉它了,它不可能有思考能力。
在馮諾依曼體系架構(gòu)中,計算設備就是具有一定計算能力,有能力和外界做出IO互動,并且能高速重復動作的這么一種設備,這可能和大家在教科書里面學到的不太一樣啊,不過,我是這么理解的。
因此,我從一開始,就沒有把計算機作為一個伙伴,一個可以幫助我出主意,或者代替我思考的伙伴,僅僅是看做一種工具,這種工具有什么用呢?我認為它最重要的,有兩個作用:
1.無限可重復性,一個動作序列,一旦編訂程序,計算機就可以無數(shù)次重復這個序列,不會感到累。這特別適合于那些乏味的,不斷重復的勞動,比如,我們一個學校每天要敲鐘,打上課鈴,如果讓人來做,這個人會很乏味,做久了,就可能出錯,但是讓計算機來做,它可沒有什么思想,不會覺得累,而且做的很好。計算機特別適合做重復性工作。
2.服務品質(zhì)的穩(wěn)定性。計算機適合做重復工作,還有個有點,就是每次執(zhí)行結(jié)果都是一樣的。這體現(xiàn)了工業(yè)化時代最重要的一個思想:量產(chǎn)思維,大家可以看到,現(xiàn)在的社會,不可重復的藝術固然很好,但公眾需要的是量產(chǎn)的產(chǎn)品,因為質(zhì)量穩(wěn)定,產(chǎn)量穩(wěn)定,能滿足大眾需求。勞斯萊斯雖然很美,但絕大多數(shù)人在開大眾、豐田等低端車。就是這個道理。還是打鈴那個例子,如果是人,可能會生病,可能會請假,或者干脆搞忘了,但計算機不會,只要有電在正確工作,打鈴就不會出錯。
這樣,我就慢慢理解到了,計算機其實就是能以恒定品質(zhì)不斷重復輸出服務的機器而已。
OK了,這我們是不是可以理解到,計算機編程,其實首先是人的工作,當我們遇到一個服務需求,我們?nèi)藖碜鲆淮?,嗯,獲得一個比較滿意的結(jié)果,然后我們覺得這個動作可以重復,下次遇到類似的問題,照做就好了。于是,我們就安排計算機來做這件事了。是不是這樣?
這是不是說明,程序,其實是在講一件事應該怎么做,這個做的過程,以及這個過程的含義,其實是人定義出來的,然后通過編程,教給計算機來做而已。
我以前經(jīng)常有種感覺,計算機編程,是兩層意思,一層,是程序本身的含義,就是怎么做事,另一層,是隱含在程序下面的邏輯含義,就是做事的意義,程序只是字面上的意思,而邏輯,是程序段落組合起來,共同表述的一層意思。現(xiàn)在想想,其實就是這個道理。
嗯,既然我們知道,編程,就是把做一件事情的步驟,分拆開來,教計算機去做,但,分拆到什么粒度呢?這個很重要。如果分拆的粒度太細,白白浪費程序員的時間和精力,這些都是成本。而分拆得太粗,計算機還是弄不明白,做事不對,就是bug了。
這說明,編程有個很重要的概念,就是粒度,也就是我們對問題描述的精細程度。
最開始的計算機是最笨的,學過計算機組成原理的同學大概知道,只要有個累加器,其實已經(jīng)可以算一臺計算機了,只會做加法計算。因為從數(shù)學上,我們可以知道,任何計算,最終都可以演化成加法計算,事實上,現(xiàn)在的CPU,在最底層核心的部分,也還是這個加法邏輯。
這樣做當然沒什么不好,不過,有個小小的問題,就是粒度太細了。如果每件事情,都要程序員去拆解成很細的加法計算,這個工作就幾乎不是人干的事情了。難道就無解了嗎?
呵呵,前面我們說過,計算機的特點是什么?無限重復,大家就發(fā)現(xiàn),一個事情,比如7*24,這是乘法計算,但是,我們最終要拆解為加法計算去實現(xiàn),但是,不是說我們每次都要這么拆解,乘法計算也是一個工作,有規(guī)律的,因此,當我們拆解一次之后,我們當然可以把這次拆解過程本身,編訂為程序,下次遇到類似問題,讓計算機把這個程序再跑一遍就ok了。呵呵,大家以為Intel的CPU里面的乘法計算指令是怎么實現(xiàn)的?大家又以為AMD的CPU內(nèi)部的微代碼體系是怎么實現(xiàn)的?
就是這么一個思維,解決了所有的問題,遇到需求,首先拆分,然后不斷檢索我們以前是不是以前拆分過了,遇到能套用的程序段落,就直接用,不用每次都拆分那么細,減少工作量,當然,遇到新問題,還是需要自己拆解的,不過,拆解后,最好把拆解本身,也寫成程序,下次重用。
大家玩各種語言,一般都提供基本庫,這個基本庫,其實就是前人已經(jīng)拆解過的結(jié)果,軟件公司覺得有代表性,可以滿足大多數(shù)應用場合,就編訂到基本庫里面,以后程序員直接用,不用自己重復了,大家說是不是這樣?
現(xiàn)在,大家知道怎么看待C的stdio.h,stdlib.h這些基本庫了吧?C++的iostream是什么含義,知道了不?MFC知道了不?Java的運行時庫是什么意思,也知道了吧?
不過呢,這個世界的需求總是很多的,并且,計算機的能力也是不斷在進步,以前不適合計算機做的事情,現(xiàn)在也慢慢變得適合了。因此,大家總能遇到一些新問題,需要自己重新拆解,基本庫中沒有提供,這就是程序員這個職業(yè)存在的真實含義。幫助用戶不斷拆解新需求,解決新問題。當然,庫本身也在進步,不斷把已經(jīng)被證明拆解成功的問題,修補到庫中,避免以后的程序員做重復工作。就這么簡單。
呵呵,啰嗦了這么多,可能很多同學看的一頭霧水,你到底想說啥?我想說的,其實很簡單,編程序,就是拆解問題,但講究個拆解的技巧和方法,以前人做過的,別做,盡量用,沒有的,做過一次,盡量保留下來,供下次使用,就這么簡單。
那,這和本文的題目“修煉編程的內(nèi)功”有啥關系呢?當然有關系了,什么叫編程的內(nèi)功?我的理解,就是對這個世界的抽象化理解能力以及描述能力。一個工作,能迅速從中提煉出下次可以重復的套路,并且能以一定的規(guī)則,就是計算機語言規(guī)范,描述出來,擁有這兩個能力,就能保證遇到任何問題,都有辦法寫出程序來。
所以,大家學校中學了很多數(shù)學,語言,算法,數(shù)據(jù)結(jié)構(gòu),甚至編譯原理,操作系統(tǒng),其實這些統(tǒng)統(tǒng)是工具,不是寫程序的目的。
寫程序,就是遇到需求,能迅速抽象,理解其共性,并能以清晰的語言描述出來。上述學科,不是幫助提升你的抽象能力,就是幫助提升你的描述能力,大家看是不是這個道理?
所以,我在帶徒弟的時候,有時候喜歡說一句話,其實作為程序員,學習一點語文有好處,因為最能培養(yǎng)描述能力的,其實還是語文。英語不算啊,英語雖然也是一門語言,但中國的教育,一般是能看懂,很少從一個英文文學家的角度培養(yǎng)學生用英文的描述能力。只有我們的語文課,這不但是教語言,而且通過無數(shù)次造句和作文,在教大家描述問題的組織能力,這個能力在寫程序的時候,很有用。
這個時候,話題就出來了。中國的語文,先是甲骨文,然后古文,然后白話文,大家發(fā)現(xiàn)沒有,總體是越來越簡單,這是發(fā)展的趨勢。為什么呢?因為大家覺得,語文就是讓人懂的,太深奧的東東,不太適合普及,就沒有生命力,反而越簡單的東東,普及越快。
因此,請大家注意,寫程序時拆解,是把問題簡單化,不是說把一個問題描述得晦澀難懂,才叫本事。真正的程序高手,都是簡化問題的大師。
當然,從這個話題,我們是不是可以得出一個結(jié)論,其實寫程序的方法本身,編程的內(nèi)功本身,其實是沒有什么語言特性的,C、C++、Java、PHP、Python。。。是不是都用的同一種方法在做事情?
因此,我這里提出,修煉編程的內(nèi)功,是學習抽象能力和描述能力,與語言無關,換而言之,從任何一門語言入門,都可以修煉到內(nèi)功的極致,關鍵看你用不用心。
因此,學習期間,我的建議,不要好高騖遠,不要去評價語言的好壞,平臺的好壞,沒有多大意義的,你并不能確定這輩子最終能在哪個平臺下用哪種語言開發(fā)。撿著手邊有的書,老師教的課程,埋進去學扎實,出來后,換語言比吃盤菜也難不倒哪去,呵呵。這算是正式回答很多同學的問題。
計算機專業(yè)大學學生的學習規(guī)劃(二)
隨著時代的發(fā)展和知識經(jīng)濟時代的發(fā)展,我認識到知識的重要性,所以我必須樹立學習理念, 活到老,學到老 ,時時學習,處處學習。
平民進步的階梯,教育公平的砝碼,學習者充實自我和增進動力的補給站 ,是廣播電視大學的核心價值。中央電大開放教育不僅僅會教給我學科和專業(yè)知識,更重要的是幫助我掌握利用現(xiàn)代信息技術進行終身學習的必要技能,為以后繼續(xù)學習培養(yǎng)良好的學習習慣,我認識到,學會運用現(xiàn)代信息技術進行自主學習,對我今后順應崗位需求和生活需要,不斷地獲取知識和提高能力將是非常有益的。雖然,遠程教育有極大的靈活性,但自己仍需時刻明白自己是獨立的,自我為主的學習者,所以,制定周密而有彈性的學習計劃是保證學習成功的重要因素。
我的學習計劃如下:
1.參加并通過所有必修課程,如開放教育學習指南,信息管理系統(tǒng),鄧小平理論和 三個代表 重要思想,Dearn wearer網(wǎng)頁設計,計算機應用基礎,信息化管理與運作,ERP原理應用,計算機專業(yè)指南,網(wǎng)站實用技術,英語I,微積分初步。
2.修夠上述必修課的學分80分,并參加其它選修課,使學習達到一學期需達到的76分學分。
在自學的過程中,要樹立自強不息的精神,要做到以下幾點:
〔1〕要有學習風險意識和刻苦學習的精神。沒有辛勤的耕耘,就得不到豐收的碩果。對于學習中遇到的挫折與困難,要仔細分析問題和原因,不氣餒,不放棄。
〔2〕對能否順利畢業(yè)不產(chǎn)生畏懼感,堅信只要有努力就會有收獲。 為了下一秒的精彩,在這一秒我會百分之百付出!
〔3〕嚴格約束自己,根據(jù)制定的學習計劃完成自己的目標,如期完成學習任務,力爭做到 今日事今日畢 。
雖然是開放教育,但我們要自主學習,要做到勤學。
〔1〕要上好面授課,提高課堂學習效率。
〔2〕安排好業(yè)余時間,每天都要有進步。
〔3〕多聽,多看,多記。
〔4〕學習中經(jīng)常會遇到一些自己無法解決的問題,這就需要做到 善問 。
所以,我的詳細措施如下:
1.認真聽講,利用電大的多媒體進行多方位的學習。在聽課過程中努力聽懂和積極思考的基礎上做好筆記,作業(yè),預習,復習等工作,在空間時間要通過看書,積極參加小組討論。
2.面授課做好預習,復習工作,有了預習,老師在上課過程中可以把我們不理解,不明白的地方使我們弄懂。
3.合理分配時間,我們必須利用時間理解知識,達到舉一反三。
4.成立學習小組,解決學習困難,與同學們進行學習上的交流。
5.積極參加多媒體教學,掌握學習內(nèi)容。
6.積極完成課后作業(yè),及時消化和鞏固知識。
7.做好課前預習和課后復習,即使對知識進行整理,加強對知識的理解和認識,制定了學習計劃,可以有目標的學習,爭取所有學科都通過。
這就是我的學習計劃,我相信, 付出與收獲成正比,我付出多少,就有多少的收獲 。所以,我只要努力學習,把時間安排的張弛有度,那我離成功也不遠了。
計算機專業(yè)大學學生的學習規(guī)劃(三)
首先,我認為,學習中不可忽略的一點就是要學會分析自己的學習特點,像我——理解能力還可以,老師講的東西不是不懂,但卻總出錯(用家長們的話說就是不認真),而且對于一些死記硬背才能學會的東西總覺得不耐煩,因此,在這點上,我希望自己能在這一年的學習中對待學習更認真,更有耐心。
其次,我覺得,在學習中,確定學習目標也是很重要的,學習目標是學生學習努力的方向,正確的學習目標更是能催人奮進。反之,沒有目標的學習,就是對時光一種極大的浪費。所以,我暫時的目標就是考上大學,而對于我較弱的文化課我會努力,讓它也有所進步。
最后,也是最關鍵的一點,就是要科學安排時間,沒有合理的安排,再好的計劃也會付之東流。所以,在這一年里,我最要學會的就是要合理安排學習、娛樂、休息的時間,要把每一點一滴寶貴的時間都抓緊。在這關鍵的時期里,我要認真,仔細地規(guī)劃每一分鐘。認真投入到學習中。曾經(jīng)有一位老師對我說,態(tài)度決定一切,要以良好的態(tài)度去面對學習。挑戰(zhàn)自己,相信自己,我個人認為,人一生的時間的有限的,時間不等人,因為這是我中專生涯的最后一段時間,我不會放過從我身邊中的每一份時間,掙取把握好身邊的每分每秒。
從學習習慣方面
一、做好預習。預習是學好各科的第一個環(huán)節(jié),所以預習應做到:
1、粗讀教材,找出這節(jié)與哪些舊知識有聯(lián)系,并復習這些知識;
2、列寫出這節(jié)的內(nèi)容提要;
3、找出這節(jié)的重點與難點;
4、找出課堂上應解決的重點問題。
二、聽課。學習每門功課,一個很重要的環(huán)節(jié)就是要聽好課,聽課應做到:
1、要有明確的學習目的;
2、聽課要特別注重“理解”。
三、做課堂筆記。做筆記對復習、作業(yè)有好處,做課堂筆記應:
1、筆記要簡明扼要;
2、課堂上做好筆記后,還要學會課后及時整理筆記。從學習目標方面
一、從計算機網(wǎng)絡技術及因特網(wǎng)的基本原理和體系結(jié)構(gòu)作一個較為全面的了解。了解OSI/RM參考模型和TCP/IP體系結(jié)構(gòu)、傳統(tǒng)的以太網(wǎng)技術和傳統(tǒng)傳輸介質(zhì);掌握IP地址、MAC地址、子網(wǎng)掩碼、CIDR的概念;掌握TCP/IP協(xié)議簇中的重點協(xié)議,掌握網(wǎng)絡中關鍵器材(交換機、路由器、網(wǎng)橋)的工作原理,了解計算機網(wǎng)絡發(fā)展的前沿技術,了解計算機網(wǎng)絡發(fā)展的前沿技術,了解我國計算機網(wǎng)絡發(fā)展的現(xiàn)狀。
二、在VisualFoxPro中掌握數(shù)據(jù)庫中的基本概念和常用命令;建與維護;查詢與統(tǒng)計;用戶界面設計和用戶菜單的設計;簡單的應用程序的編寫方法。
三、在C語言中了解C語言的發(fā)展與特點,掌握C語言的程序結(jié)構(gòu)、語句格式和標準庫的使用;掌握各種數(shù)據(jù)類型中的常量的書法方式和變量的定義、賦值、初始化方法,運算符的運算規(guī)劃和優(yōu)先級別,能正確書寫各種類型的表達方法;掌握鍵盤輸入和屏幕輸出語句的書寫格式、參數(shù)的功能和用法;掌握順序、選擇、循環(huán)三種程序結(jié)構(gòu)。用C語言提供的選擇、循環(huán)語句和相應的函數(shù),編寫出符合要求的順序、選擇、循環(huán)程序或包含二種,三種結(jié)構(gòu)于一體的綜合性程序;掌握函數(shù)、遞歸函數(shù)的定義和調(diào)用方法,理解變量的存儲類型及作用域;掌握一維數(shù)組的定義、初始化和引用方法區(qū)分一維數(shù)值數(shù)組和字符數(shù)組以及存儲數(shù)據(jù)的不同點;掌握指針的概念、指針與地址的關系;深刻理解指針與一維數(shù)組的區(qū)別與聯(lián)系,掌握其規(guī)律,學會正確使用;掌握結(jié)構(gòu)、聯(lián)合、枚舉類型的定義、賦初值、成員訪問方法;掌握文件包含和宏定義的書寫方法,理解其運行原理和在程序中的作用;掌握文件的概念、正確運用打開、關閉。讀寫文件數(shù)據(jù)的函數(shù)。
四、熟練掌握網(wǎng)頁三劍客,Photoshop的使用,CSS語言,HTML語言的用法和編寫,以及對制作網(wǎng)頁的熟練度的提高。
從時間方面抓住零星時間:有的人總說自己沒有時間看書,特別是工作的人愛這樣說。我認為不是沒有時間看,而是大塊大塊的時間較少,零星時間又沒有抓住,所以他們才會那么說。“時間就象海綿里的水,要擠總是有的”,這句話一點也不錯,從早晨醒來到起床可以想,從晚上上床到睡著可以回想,午睡前后不妨看幾條法條或者看幾道歷年真題,工作間隙見縫插針看兩眼書都是利用時間之道。在學校用上課時間完成老師布置的課程,下課利用課間時間復習上課的內(nèi)容或問老師自己還沒有懂的問題,利用下半年把思科的書和案例(看)作完。然后語數(shù)外,德育健康與安全常識,計算機應用基礎等。
猜你感興趣:
1.計算機專業(yè)大學生職業(yè)生涯規(guī)劃范文