Ⅰ 有什麼最好的方法可以在短時間內快速提高編程水平
上面那位朋友提供的信息很多,但是難免也有點偏了,畢竟,提問者要求的是速度嘛!
先稍微自我介紹一下,C#的語法學習和.NET基礎知識的了解,我用了2個星期,然後經過兩三個月的積累,就有不少人叫我老師了.我學C#完全是處於興趣,至於.NET嘛,那是靠我老師為我挑了本棒呆了的書.在學C#之前,我連變數是什麼都不清楚...現在,我應該也算C#.NET的先驅了吧(我學C#的時候,.NET才出世)~
快速提高的建議:
1.要有本好教材,<C#與.NET技術平台實戰演練>,超級好書,千萬不要看Ebook版的,一定要拿到手上(此乃肺腑之言)!
2.要一邊看,一邊試,書上的知識看了要及時掌握才好(所以就先把編譯環境給弄到手吧)
3.在掌握了知識之後,不要滿足於知識,要不斷地尋求挑戰.每當獲取了一定的進步,就應該小試身手來做個小程序,以下是可以參考的:計算器\質數判斷\分解因數\加秘解密\\\\\等一系列與數學有關系,而與實際應用關系不是很大的...你可能認為它們很簡單,但是試一試你就會發現自己的漏洞(畢竟你是新學C#嘛)
4.學習要靠自己,不要靠別人的思想和代碼,什麼困難都要自己解決,不可以上論壇去問,當然啦,翻書是永遠不會有錯的
5.當語法學習得較好了以後,可以嘗試做一些大型項目(你說你樂意於從事資料庫應用開發,那麼你可以先試著做一個微型的資料庫系統,來整合一下知識)
3和4是非常重要的兩點,不聽我的我打賭你就不會成功!
總之就是多寫,狂寫,猛寫,暴寫,寫寫寫寫寫!
現在最熱的,當然是網站的製作啦,但是它太熱啦.
如果你決心從事資料庫應用開發,那麼你必須在這方面有相當深的造詣,否則就難得找到這種工作.如果你認為你要取得較深的造詣很難,那就...網站開發吧..呵呵
Ⅱ 提高C語言編程能力
一.學好C語言的運算符和運算順序
這是學好《C程序設計》的基礎,C語言的運算非常靈活,功能十分豐富,運算種類遠多於其它程序設計語言。在表達式方面較其它程序語言更為簡潔,如自加、自減、逗號運算和三目運算使表達式更為簡單,但初學者往往會覺的這種表達式難讀,關鍵原因就是對運算符和運算順序理解不透不全。當多種不同運算組成一個運算表達式,即一個運算式中出現多種運算符時,運算的優先順序和結合規則顯得十分重要。在學習中,只要我們對此合理進行分類,找出它們與我們在數學中所學到運算之間的不同點之後,記住這些運算也就不困難了,有些運算符在理解後更會牢記心中,將來用起來得心應手,而有些可暫時放棄不記,等用到時再記不遲。
先要明確運算符按優先順序不同分類,《C程序設計》運算符可分為15種優先順序,從高到低,優先順序為1 ~ 15,除第2、3級和第14級為從右至左結合外,其它都是從左至右結合,它決定同級運算符的運算順序。下面我們通過幾個例子來說明:
(1) 5*8/4%10 這個表達式中出現3種運算符,是同級運算符,運算順序按從左至右結合,因此先計算5 *8=40,然後被4除,結果為10,最後是%(求余數)運算,所以表達式的最終結果為10%10 = 0;
(2)a = 3;b = 5;c =++ a* b ;d =a + +* b;
對於c=++a*b來說,按表中所列順序,+ +先執行,*後執行,所以+ + a執行後,a的值為4,由於+ +為前置運算,所以a的值4參與運算,C的值計算式為4*5=20而不是3*5=15了;而對於d=a++*b來說,由於a + +為後置運算,所以a值為4參與運算,使得d的值仍為20,而a參與運算後其值加1,值為5。 這個例子執行後,a的值為5,b的值為5,c的值為20,d的值也是20;
(3)(a = 3,b = 5,b+ = a,c = b* 5)
例子中的「,」是逗號結合運算,上式稱為逗號表達式,自左向右結合,最後一個表達式的結果值就是逗號表達式的結果,所以上面的逗號表達式結果為40,a的值為3,b的值為8,c的值為40。
(4)a=5;b=6;c=a>b?a:b;
例中的a>b?a:b是一個三目運算,它的功能是先做關系運算a>b部分,若結果為真,則取問號後a的值,否則取冒號後b的值,因此c的值應該為6,這個運算可以用來代替if…else…語句的簡單應用。
二.學好C語言的四種程序結構
(1)順序結構
順序結構的程序設計是最簡單的,只要按照解決問題的順序寫出相應的語句就行,它的執行順序是自上而下,依次執行。
例如;a = 3,b = 5,現交換a,b的值,這個問題就好象交換兩個杯子水,這當然要用到第三個杯子,假如第三個杯子是c,那麼正確的程序為: c = a; a = b; b = c; 執行結果是a = 5,b = c = 3如果改變其順序,寫成:a = b; c = a; b = c; 則執行結果就變成a = b = c = 5,不能達到預期的目的,初學者最容易犯這種錯誤。 順序結構可以獨立使用構成一個簡單的完整程序,常見的輸入、計算,輸出三步曲的程序就是順序結構,例如計算圓的面積,其程序的語句順序就是輸入圓的半徑r,計算s = 3.14159*r*r,輸出圓的面積s。不過大多數情況下順序結構都是作為程序的一部分,與其它結構一起構成一個復雜的程序,例如分支結構中的復合語句、循環結構中的循環體等。
(2) 分支結構
順序結構的程序雖然能解決計算、輸出等問題,但不能做判斷再選擇。對於要先做判斷再選擇的問題就要使用分支結構。分支結構的執行是依據一定的條件選擇執行路徑,而不是嚴格按照語句出現的物理順序。分支結構的程序設計方法的關鍵在於構造合適的分支條件和分析程序流程,根據不同的程序流程選擇適當的分支語句。分支結構適合於帶有邏輯或關系比較等條件判斷的計算,設計這類程序時往往都要先繪制其程序流程圖,然後根據程序流程寫出源程序,這樣做把程序設計分析與語言分開,使得問題簡單化,易於理解。程序流程圖是根據解題分析所繪制的程序執行流程圖。
學習分支結構不要被分支嵌套所迷惑,只要正確繪制出流程圖,弄清各分支所要執行的功能,嵌套結構也就不難了。嵌套只不過是分支中又包括分支語句而已,不是新知識,只要對雙分支的理解清楚,分支嵌套是不難的。下面我介紹幾種基本的分支結構。
①if(條件)
{
分支體
}
這種分支結構中的分支體可以是一條語句,此時「{ }」可以省略,也可以是多條語句即復合語句。它有兩條分支路徑可選,一是當條件為真,執行分支體,否則跳過分支體,這時分支體就不會執行。如:要計算x的絕對值,根據絕對值定義,我們知道,當x>=0時,其絕對值不變,而x<0時其絕對值是為x的反號,因此程序段為:if(x<0) x=-x;
②if(條件)
{分支1}
else
{分支2}
這是典型的分支結構,如果條件成立,執行分支1,否則執行分支2,分支1和分支2都可以是1條或若干條語句構成。如:求ax^2+bx+c=0的根
分析:因為當b^2-4ac>=0時,方程有兩個實根,否則(b^2-4ac<0)有兩個共軛復根。其程序段如下:
d=b*b-4*a*c;
if(d>=0)
{x1=(-b+sqrt(d))/2a;
x1=(-b-sqrt(d))/2a;
printf(「x1=%8.4f,x2=%8.4f\n」,x1,x2);
}
else
{r=-b/(2*a);
i =sqrt(-d)/(2*a);
printf(「x1=%8.4f+%8.4fi\n」r, i);
printf(「x2=%8.4f-%8.4fi\n」r,i)
}
③嵌套分支語句:其語句格式為:
if(條件1) {分支1};
else if(條件2) {分支2}
else if(條件3) {分支3}
……
else if(條件n) {分支n}
else {分支n+1}
嵌套分支語句雖可解決多個入口和出口的問題,但超過3重嵌套後,語句結構變得非常復雜,對於程序的閱讀和理解都極為不便,建議嵌套在3重以內,超過3重可以用下面的語句。
④switch開關語句:該語句也是多分支選擇語句,到底執行哪一塊,取決於開關設置,也就是表達式的值與常量表達式相匹配的那一路,它不同if…else 語句,它的所有分支都是並列的,程序執行時,由第一分支開始查找,如果相匹配,執行其後的塊,接著執行第2分支,第3分支……的塊,直到遇到break語句;如果不匹配,查找下一個分支是否匹配。這個語句在應用時要特別注意開關條件的合理設置以及break語句的合理應用。
(3)循環結構:
循環結構可以減少源程序重復書寫的工作量,用來描述重復執行某段演算法的問題,這是程序設計中最能發揮計算機特長的程序結構,C語言中提供四種循環,即goto循環、while循環、do –while循環和for循環。四種循環可以用來處理同一問題,一般情況下它們可以互相代替換,但一般不提倡用goto循環,因為強制改變程序的順序經常會給程序的運行帶來不可預料的錯誤,在學習中我們主要學習while、do…while、for三種循環。常用的三種循環結構學習的重點在於弄清它們相同與不同之處,以便在不同場合下使用,這就要清楚三種循環的格式和執行順序,將每種循環的流程圖理解透徹後就會明白如何替換使用,如把while循環的例題,用for語句重新編寫一個程序,這樣能更好地理解它們的作用。特別要注意在循環體內應包含趨於結束的語句(即循環變數值的改變),否則就可能成了一個死循環,這是初學者的一個常見錯誤。
在學完這三個循環後,應明確它們的異同點:用while和do…while循環時,循環變數的初始化的操作應在循環體之前,而for循環一般在語句1中進行的;while 循環和for循環都是先判斷表達式,後執行循環體,而do…while循環是先執行循環體後判斷表達式,也就是說do…while的循環體最少被執行一次,而while 循環和for就可能一次都不執行。另外還要注意的是這三種循環都可以用break語句跳出循環,用continue語句結束本次循環,而goto語句與if構成的循環,是不能用break和 continue語句進行控制的。
順序結構、分支結構和循環結構並不彼此孤立的,在循環中可以有分支、順序結構,分支中也可以有循環、順序結構,其實不管哪種結構,我們均可廣義的把它們看成一個語句。在實際編程過程中常將這三種結構相互結合以實現各種演算法,設計出相應程序,但是要編程的問題較大,編寫出的程序就往往很長、結構重復多,造成可讀性差,難以理解,解決這個問題的方法是將C程序設計成模塊化結構。
(4)模塊化程序結構
C語言的模塊化程序結構用函數來實現,即將復雜的C程序分為若干模塊,每個模塊都編寫成一個C函數,然後通過主函數調用函數及函數調用函數來實現一大型問題的C程序編寫,因此常說:C程序=主函數+子函數。 因些,對函數的定義、調用、值的返回等中要尤其注重理解和應用,並通過上機調試加以鞏固。
三.掌握一些簡單的演算法
編程其實一大部分工作就是分析問題,找到解決問題的方法,再以相應的編程語言寫出代碼。這就要求掌握演算法,根據我們的《C程序設計》教學大綱中,只要求我們掌握一些簡單的演算法,在掌握這些基本演算法後,要完成對問題的分析就容易了。如兩個數的交換、三個數的比較、選擇法排序和冒泡法排序,這就要求我們要清楚這些演算法的內在含義,其中選擇法排序和冒泡法排序稍難,但只要明白排序的具體過程,對代碼的理解就不難了。如用選擇法對10個不同整數排序(從小到大),選擇法排序思路:設有10個元素a[1]~a[10],將a[1]與a[2]~a[10]比較,若a[1]比a[2]~a[10]都小,則不進行交換,即無任何操作;若a[2]~a[10] 中有一個比a[1]小,則將其中最大的一個(假設為a[i])與a[1]交換,此時a[1]中存放了10個中最小的數。第二輪將a[2]與a[3]~a[10]比較,將剩下9個數中的最小者a[i]與a[2]交換,此時a[2] 中存放的10個數中第2小的數;依此類推,共進行9輪比較,a[1]到a[10]就已按從小到大的順序存放。即每一輪都找出剩下數中的最小一個,代碼如下:
for(i=1;i<=9;i++)
for(j=i+1;j<=10;j++)
if(a[i]>a[j]
{temp=a[i];
a[i]=a[j];
a[j]=temp;
}
結語:當我們把握好上述幾方面後,只要能克服畏難、厭學、上課能專心聽講,做好練習與上機調試,其實C語言並不難學。
我覺得這個文章不錯,所以給你,親自動手編寫完一個軟體,會收獲很多
Ⅲ 目前大一,在學C++,應該怎樣提高自己的編程能力
我本人一直從事C,VC++,VS等方面的軟體開發工作。
基礎,很重要。計算機硬體結構,數據結構,資料庫,編譯原理,C,java語言,軟體工程,操作系統,高數等等。怎樣就算合格?絕不是考試及格就行。我看過很多高校的考試題,即使得一百分,你最多是剛入門的水準。這些是必修。
2,結合理論,做深入的編程研究
這一部分是所謂的實踐。紙上得來終覺淺。計算機的摩爾定律,每五年更新一次。所以,你們老師講的那一套,原理大致對,但現實,已經改變了。
如:CPU,也許你學的是X86的基本,但從Pentium至I5,I7。主板中增加的GPU/VPU,多線程,南北橋等,也許你聽了就暈的各種名詞。
各種IDE軟體安裝,如VS2019,JAVA等。別小看安裝,十有八,九不會做。
軟體開發,做界面UI,各科通訊,文件操作,MFC控制項應用,Process及Thread,定時器,RTOS如何使用等等。
3,進階,學習《設計模式》,架構,演算法,做一個綜合類APP。
推薦學習《設計模式》,可你你進階。架構可學習理論。說實話,讓剛畢業的大學生搞架構,是一個大大的Joke。你很自信,用人單位絕不認可你那一套,沒有實戰,何談架構?
演算法,學校也開相關課程,但僅理論。如此公共化的理論,用人單位還需要你開發么?所以,看明白就行了。
做一個集多線程多頁面UI,演算法,網路通信,基於SQL的數據遠程交換等於一體的APP,我認為你基本就可畢業了。當然,後期可跟老師做一些工程也是可以的,但千萬要與市場結合。
總結:學校以基礎為主,兼顧理論與實踐的結合,注重與當下技術的結合,這是用人單位所真正需要的人才。 好高騖遠,只知道幾個新名詞,永遠也進入不到核心開發層。在用人單位,基礎不行的人的命運,就是直接被開掉,沒人願意給你從頭講起!
看你的問題,你是想提高自己,不想落在所謂大佬們的後面!我給你的建議,既然已經在學c++,那就先把它學好,基礎打牢,基礎包括編程語言基礎,編程能力基礎!編程能力基礎非常重要,在別人看來可能非常無聊,也沒有成就感,新手如何練習,最簡單的方法就是去買本演算法習題集,把裡面基本功打好,學會分析需求,需求再如何轉換成詳細設計,多思想總結,反復練習,出山就是架構師思維,今後做項目,擼起袖子就可以開干,什麼編程語言都是個把兩個星期就熟了!不需要眼紅別人做項目,我覺得你剛開始去做,也是給人打下手,反而不利於你進步,並且這些項目也不見得多有水平,況且帶你做項目的人水平也不見得高!說實話,我見過好些在大學里跟老師做項目的,無非就是多了解了些工具,多見了些平台,還留下了一堆不好的編程習慣!這些項目的含金量不一定比好大學的課程設計高,比如華科自動化的c語言課程設計,難度高,感覺好多不入流的程序員,工作幾了,也不見得能完成!
總之,在學校里,學習技術,多重基礎技術能力,輕業務應用,畢業了能幹啥,也說不準!
我現在大二,二本學校計科專業。我談一談我自己的學習吧。
大學選計算機也是出於一種莫名的吸引,我之前對計算機沒有過任何的了解(除了打 游戲 ),對於專業很大一部分同學來說基礎是比較差的,專業課學習也比較吃力。
然後自己開始零零散散學習Java,先是自己找網課看,然後多練,多練,多練。這真的是唯一的捷徑。有很多東西你可能第一遍看不懂,寫不來。不用管,你就寫三遍,五遍,十遍,二十遍,邊寫邊理解,最後一定不會太差。
我也處於成長的階段,按照這樣的方法,我相信現在的水平和我們學校同年級同專業的相比應該算排在前列的了。加油吧!
你好,一個具有八年編程經驗的工程師來回答你的提問,關於大一學習C++,一些學生在跟著做項目,你怎樣提高自己的編程能力?我將根據自己的 學習和工作經驗 , 在程序語言學習、我自己的編程經歷和對大學生學習編程的建議 三個方面作答:
一、程序語言學習過程
根據我自身的學習經驗,我將編程語言的學習進程 分為 4步 :
1.基礎知識學習
這部分需要根據書本或者老師的講解,理解一種程序設計語言的基 本語法和功能 ,這個階段過去一般能夠讀懂程序的片段 ;
2.看以及修改別人的代碼
經過第一階段後你可以讀懂基本的語法,想要進步快就直接看別人寫的程序,雖然這一步很枯燥,但是 成長必須經歷 的,在理解別人的代碼基礎上進行修改,查看修改後的運行狀態,這一步能夠讓你從會讀代碼片段到會 思考程序的設計 ;
3.獨立進行程序設計
找一些功能需求,哪怕是一個小項目或者課程實驗,盡量獨立完成!遇到不會的要自己思考,實在解決不了再去查資料解決,這一步能夠讓 你真正會編程序;
4.自己主動設計架構和需求
到了這一步你能真正的理解,程序語言只是一個工具,真正難的在於項目,而非語言的限制,去學習 軟體架構的設計 吧,尋求如何更好的把軟體做的更漂亮。
二、自身的學習經驗
我自己在大一的時候只是學習了C語言,甚至計算機二級都是考了兩次才過,當時最大的問題在於 語言的學習只在課本之中 ,沒有現實的需求,到了大二以後,逐漸做了各種比賽和課程實驗,慢慢對語言有了更深刻的認識,到了大四後就可以脫離課本獨自設計軟體程序了,但這離工作後公司的項目需求還差的很遠,我們經常說的一句話叫做, 軟體寫出來很容易,寫好卻是很難的一件事 。
三、對大學生編程的建議
1.興趣是一切學習的推動力,要培養自己編程的興趣,真正的是 為了喜歡而做事對一輩子都是受益的 ;
2.書本知識一定要學好, 打好基礎 ,是一切的前提;
3.不局限於書本,打好基礎後一定要 多練習 ,既然語言是工具,那麼用的越多你就越熟悉它;
4.養成 歸納和總結思考的習慣 ,定期歸納總結自己的知識和技能,我相信這個習慣可以堅持一輩子。
最後,針對你的問題,大一剛開始,先不要著急做項目, 一定先打好基礎 ,記住 多看、多學、多問、多練習 ,但這不是安逸的理由,基礎打好以後,立即爭取機會,向其他同學那樣加 入項目團隊,多參加比賽 ,爭取所有能夠鍛煉你的機會!在現實的世界裡大展你的所學,祝你學有所成!
以上是我的個人經歷和經驗總結,希望對你有幫助!
作為一個大一的學生,其實不用過於著急,只要你規劃好你大學四年的一個學習提高計劃,未來你也就是大佬。
提高編程技術的唯一辦法就是實踐我們不管是看過再多的書,分析了再多的源代碼,你不去自己寫一下代碼,很難知道其中實現的一些原理,為什麼這樣實現?相比其他實現方式有什麼好處?
所以,「實踐是檢驗真理的唯一標准」這句話到哪裡都很適用。
雖然我們說需要實踐,但是怎麼實踐?可能對於大一的同學來說,這個也是一個搞不清答案的問題。所以,我們需要整理一個粗略的學習計劃,按照這個計劃,我們一步一步來豐滿自己的學習內容。
學習計劃
學習計劃的話,我只能簡單分享一下我的一些想法。
首先,我們大學的課程還是要學好的。可能有人會覺得,大學學的東西在未來的工作中不一定會用得到,還不如多學一些實際應用的知識。
我可以很負責任的告訴你,這種想法是錯誤的。大學學習的所有東西都是基礎,而基礎一定是很枯燥的。但是,在經濟學中我們學到過:經濟基礎決定上層建築,計算機的基礎也是一樣的。你未來成就的高低,很多就在於你的基礎是否扎實。所以,珍惜大學這段能否全心全意且無憂無慮學習的時光吧。
在大一的時候, 除了基礎的學習以外,自然我們還是要更多的豐富自己,畢竟單靠基礎什麼也做不了。所以,大一的時候,我們就在編程的基礎知識上也下點功夫,學習一下語法、資料庫、簡單的架構和演算法。
邊學習的過程中,可以邊通過實踐來練習自己的能力。我曾經在大學的時候做過兩個練習,也可以分享給同學們(不知道會不會過時)。
一個是計算器,別看計算器的功能很簡單,但是裡面能夠玩出很多的花樣,可能最開始你需要幾百行的代碼才能夠做出來,隨著你知識的積累,可能最後幾十行代碼就實現了。標準的計算器實現以後,就可以考慮提升難度,做做支持科學計數法的計算器。當然,如果你想挑戰自己,還可以將科學計數法中的演算法自己來實現。
第二個就是音樂播放器了,這個就不多說了,當然,做播放器的話,可以去找一些開源的插件,不必什麼都從頭開始,最終只是實現播放功能而已(我大學時候也做過一個)。
「力扣」也是一個不錯的網站,這裡面有很多練習題,可以在這里鍛煉自己的代碼能力。
到了大二, 自然就不能只是單純的謝謝代碼了,我們要從設計模式、架構、通訊協議等各個方面來優化自己,其中就還需要學習使用各種類型的中間件。而這些方面的知識點其實是非常多的,很多東西沒有放到實際的環境中,其實很難能夠體會到原理。所以,我們還是先學習理論,啃書的同時,可以自己假設一些環境,來做做練習。
雖然自己假設的內容可能和實際差距非常遠,這個沒有關系,錯了再改正,其實印象會更加深刻。
這個時間,可以多看看別人的代碼,開源社區裡面有很多可以學習的內容。例如:你看到了領域驅動設計,光看書的話,估計真的是雲里霧里的。這時候就去找別人寫的代碼來看看,一句一句的Debug理解,再回來看書的時候,你就50%以上都能夠懂了。
當然,學到合適的時候,就可以考慮學以致用了,找找兼職,不求賺錢(但也別白做,雖然你是學生,但付出勞動得到回報不可恥),但求練習自己的能力。
到了大三, 其實大二的那些內容可能很多你並沒有完成,沒有關系,很多的知識直到你工作多少年以後,可能都還在繼續學習。我們沒有完成,但是依舊可以進行下一步了,就是定目標。經過大一大二的這些練習,在開源社區的活躍,你未來想從事哪個方向的編程就需要定一下了,因為各個領域所需要的知識點是不同的。
如果你要做電商,那就了解一下電商領域的各種知識,什麼是電子商務,什麼是供應鏈。如果你對行業內的應用程序感興趣,那可以了解一下財務相關知識,管理相關知識。
然後就是,大三可以說是你全心學習的最後一個階段,可以考慮為未來做些打算,參加軟考拿點證書等等。
大四了 ,就沒有什麼好再說的了,路都在自己的腳下,怎麼走出輝煌也就看自己了。
大一主要是提高語言編程能力,除此之外,還需要學習數據結構與演算法,資料庫,計算機網路,操作系統。所以現在也不要急於求成,你需要學習的還有很多。現在大一能做項目的,要不就是實力確實很強,要不就是寫寫項目中的一些基礎代碼。提高自己的編程能力的方法就是coding coding coding!
1 leetcode或者牛客等刷題平台刷題編程學習沒有捷徑可走,唯一有效的方法就是不停的寫代碼,編譯器寫代碼,記事本寫代碼,手機寫代碼,草稿紙寫代碼,只要有想法就寫出來,然後等有編譯器環境了不停的調試,只要經過反復IDE調試練習,才能提高自己的編程能力。語法只有不斷的使用才能更加熟練。
2參加比賽如:ACM比賽,CCF,中國高校計算機大賽。這些比賽是高校等計算機組織和機構舉辦的比賽。計算機類競賽有著非常多的優勢,比如有機會進國家隊或者取得不錯的加分和保送資格。而且對於理工科學生大都需要極端就編程能力,信息類學科的競賽更是離不開編程能力。學習編程對培養邏輯思維很有效,對其它學科也很有幫助。
3 項目,跟實驗室老闆做一些項目。別管自己能力有多菜,只要有機會就一定要抓住。因為作為計算機專業學生,以後無論保研復試,還是找工作都離不開編程能力的考察,所以有一些項目,不僅可以豐富自己的簡歷,更重要的是能夠提升自己的編程能力。
4 參加互聯網公司的比賽,比如華為軟體大賽,中興軟體精英挑戰賽,阿里天池比賽。只有參加比賽才知道自己水多深,如何提高自己的代碼能力才是王道。互聯網公司的實戰比賽跟上面的大學生計算機能力比賽有些區別,這里更貼合實際問題,用一些互聯網項目的實際問題,考察學生的代碼編程能力。
實驗室一同學,參加了阿里的天池比賽,並取得了不錯的成績,其實這個同學跟大牛組隊,算是抱住了大腿。後來在找工作的時候,公司因為這個同學簡歷上的這個比賽獎項,給了這個同學SP offer,比正常價多出快10萬的年薪。你說他香不香?
總結:作為計算機專業的學生,一定要練好總結的拿手絕活-編程能力。無論找工作還是保研,只有出色的代碼能力才能贏得別人的肯定,而提高編程能力的方法就是不停的動手寫代碼。
既然你是計算機專業,目光就要放遠點,不要著急別人在做什麼。編程是最基本的工具,本身是不難的,職業學校也有軟體編程專業。對於計算機專業學生,未來職業願景,一是核心演算法設計師,二是軟體架構設計師,這兩個職位如果沒有良好的專業背景是不能很好勝任的。所以本科階段要努力打好專業基礎和專業核心課程。專業基礎包括離散數學、數據結構、人工智慧基礎等。專業核心包括計算機組成原理、操作系統、編譯原理、機器學習等。編程實踐在這些課里都有機會,甚至對自己編程能力的提升不亞於去做一個具體的項目,當然有機會去做項目更好,沒有也沒關系。還有軟體工程課程也很重要,要做軟體架構師,這門課程也很重要。另外,高層次軟體從業者必須具備較強的邏輯思維能力和數學功底,比如現在最熱的機器學習演算法設計,必須具有良好的線性代數、概率與數理統計、高等數學等數學基礎。大學四年最重要的是打牢基礎!
作為一名計算機專業的科研教育工作者,我來回答一下這個問題。
對於大一的同學來說,要想提升自身的編程能力應該首先從夯實基礎開始,編程能力的提升需要一個系統的過程,這個過程要系統學習包括數據結構、演算法設計、操作系統、資料庫、計算機網路等相關知識,而這些課程作為計算機專業的核心課程,後續都會陸續接觸到。
大一期間學習編程要重視三件事,其一是重視編程語法的學習,理解編程語法當中的抽象概念,比如C++語言就是一個典型的面向對象編程語言,自身的抽象程度還是非常高的,所以理解這些抽象概念是第一步。要想理解這些抽象概念一定要有大量的輸入,也就是要閱讀大量的學習資料和開發案例代碼,同時完成自己的總結歸納,從而形成自己的編程思想。
其二是重視實驗,學習編程語言一定要邊用邊學,實驗對於學習編程語言的促進作用是非常明顯的,通過實驗也能夠為眾多抽象概念建立起畫面感。在進行實驗的過程中,既要重視實驗的數量,同時也要重視實驗的質量,實驗要有層次,要重視綜合性實驗,這對提升編程能力還是比較重要的。
其三是重視交流和實踐,對於大一的同學來說,除了課堂學習時間之外,要想為自己營造更多的交流和實踐機會,可以通常積極參加專業比賽,或者是參加老師的課題組來實現。按照 歷史 經驗來看,參加專業比賽對於提升編程能力的幫助作用還是比較明顯的,也能夠開闊自身的視野。
如果有互聯網、大數據、人工智慧等方面的問題,或者是考研方面的問題,都可以私信我!
對於編程的能力提升,需要有扎實的基礎,編程語言的理論知識和編程的熟練度是否已經非常的熟悉,如果說編程語言還不是太熟悉,那麼建議把理論知識再去學習一下,多動手做一些編程的實驗,寫一些小功能的代碼來提高自己的代碼水平熟練度
如果說對代碼的理論知識非常了解,對於寫代碼的熟練度也很高,那麼快速提升編程能力的方法,就是在項目的實戰中提升自己,在一個項目中可以了解到構建一個項目的完整流程,包括最初的架構設計,功能的代碼實現,代碼的優化調試,單元測試,性能測試,覆蓋測試等等。可以在互聯網公司實習一段時間看看開發的流程,編寫一些系統功能優化的代碼,或者直接去github上面尋找優秀的開源代碼,可以做一些優化的修改,功能的添加等等,這些都可以提高自己的編程能力
你好,我是一名軟體工程師,也是編程的培訓講師,這里給你分享一些經驗,希望可以幫助到你。
首先,看到別人做項目了,自己不要急,最好還是把理論理解清楚。
其次,理論基本理解的基礎上,可以在網上尋找幾個相關的案例代碼進行分析,閱讀別人的代碼。
最後,通過外包也好,老師介紹也好,積極參與實踐,前面不要想著賺多少錢,學點經驗才是王道。記得,幾年前在西華師范大學職教的時候,一位領導說找幾個學生把繫上的網站重新修改一下,給學生拿點補貼,居然有學生嫌補貼太少不願意做。
Ⅳ 我是一個大三的學生,學習java語法都基本上學完了,但是覺得自己不會編程沒有那種編程思想,怎麼辦
你的問題就在於實踐不夠,語言學的再好,不寫代碼是一點用也沒有的。如果感覺做項目很吃力,那建議你多去做些類似ACM的小題目,提高演算法能力,堅持幾個月你就會發現編程能力有很大提高了。那時再慢慢開始利用面向對象語言做些小的項目,就會發現其實那些東西都很容易。