轉專業到計算機科學的學生怎麼趕上普通學生的進度?
轉專業成功了,之前的專業和計算機沒啥聯繫,問了問,人家把c、c++、離散、線代、數據結構啥的都學了,而我現在離下學期開學還有兩個月,其中一個月還要跟原專業實習-_-||
有沒有經歷過轉到計科的大神,給我指下路,現在要補的太多,有點慫了。最近學過一段時間python,最基礎的還沒學完,考試周到了就複習去了(掛科的話轉專業會失敗),py學的就有點模糊了≥﹏≤普通一本,智商中等,記性略差π_π,有些迷茫。
題主現在主要需要迅速跟上進度,可以和其他同專業的學生一起接下來的學習專業課程。
基本上計算機專業的課程關係就像下面一樣:
高等數學
|
線性代數
|
離散數學 ---- 數字邏輯 ---- 計算機組成原理 --┬-- 操作系統 ---- 計算機系統結構
| ↑ |
| 彙編語言 |
| ↑ |
| 程序設計(C++) ---- 數據結構 --┼-- 編譯原理
| | |
數值計算 資料庫原理 └-- 軟體工程
我認為最重要的課程是數據結構,以及通過數據結構影響的個人編程能力才是最重要的部分。
如果題主有充足的時間,建議自學C++,了解數據結構的簡單部分(數組、鏈表、樹這些)。然後自學離散數學。
如果題主覺得時間不是很充足,離散數學可以暫時不學。因為你就算完全不會離散數學,直接去學數字邏輯也能看得懂。(但是自學數值計算可能會有些困難)
總之我建議樓主以數據結構為核心,最好用C++作為編程語言,在學習數據結構的同時練習C++和編程能力。如果對自己自學沒信心,建議去做ACM比賽題目的初級部分,主要是編程能力和數據結構的題目。網上有很多自動判題平台(OnlineJudge),可以做一些上面的題目,OnlineJudge平台會自動對你上傳的代碼進行評判。我不是計算機科班出身的, 但自學了計算機的一些課程, 回答僅供參考.1.學習需要按規律來, 按順序來學東西, 否則會浪費更多時間的.2.操作系統原理的學習 需要有 計算機組成原理(硬體) 和 數據結構(軟體)的基礎. 3.硬體一條線: 電路分析--&>模擬電子--&>數字電子--&>計算機組成原理
(補充一下: 我個人建議 學完組成原理後, 再學下 微機原理. 國內的微機原理所講的多數是 8086/80386, 這個確實有點過時了, arm勢頭很猛, 無處不在. 但世界雖然在變, 原理性的東西 是相通的, 學會馮諾伊蔓結構, 再去學哈佛結構 很快就會. 糟糕的是, 多數的學校 講微機原理 只講到8086, 而不講80386, 包括我的母校. 學過80386和沒學過80386有很大的差別, 學過80386後, 再來學操作系統, 很容易搞明白 虛擬地址空間這些概念的).
4.軟體一條線: C語言--&>數據結構, C++學不學隨便你, 最好學一下.5.以上軟硬兩條線都是基礎課程, 為學習操作系統做鋪墊.6.然後可以學習 計算機網路原理, 編譯原理, 體系結構這些課. 即學習完之後, 你的計算機課程體系就差不多了.7.金老師所言甚是, 千萬不要一開始就拿翻譯的國外經典教材看, 翻譯的質量很有問題的. 要看國外經典教材, 就應當看英文原版的. 但建議是學過中文的教材後, 有了一定基礎後, 再來研讀國外原版教材, 這樣會起到事半功倍的效果. 國內的教材有一些還是不錯的, 要找教材, 建議找國家級規劃教材, 同時網上可以找到不少對應的視頻教程的.8.習題是必不可少的, 比如數據結構, 除了要把書中的每一個演算法自己實現外, 你還應當找習題集做一做, 感受一下解題的技巧----這對之後的碼代碼有益無害. 我當時是按考研計算機統考的標準學習的, 做了不少習題.哈, 這是一年前看過的問題了, 不知為何又出現在了我的Timeline上..不過作為今年六月份從化工轉專業到SE的大一學生(咦...現在應該是大二了..), 大概可以回答一下這個問題了..(過去一年的問題了...題主的經驗應該比一個轉專業六個月不到的學生的經驗多到不知道哪裡去了吧..權當記錄一下生活吧)最大的感受, 和各位一樣, 很多的課要補, 甚至很多課大一的時候都考過..分數還不低..然而全部成為了選修課, 變成了人生中那一點微小的經驗和回憶. 還沒有到期末, 對學習, GPA之類還拿不出什麼數據, 不過好歹靜下心來了.不錯, 轉專業最大的壞處不是補課, 也不是和同學有代溝, 而是浮躁..剛開始轉過來的時候, 因為我有一些微小又神奇的經歷, 所以編程和理論的能力都是遠遠強於當時的很多SE的學生, 在新課程中沒有感受到什麼困難, 補的科目也幾乎都是大一上過的, 名字不一樣..(打死那個把高數拆成微積分和工科數學分析的人..), 和老師發個郵件什麼的說明一下不去上課也就沒什麼了...
但浮躁的心靜不下來呀~每天過的無比的充實, 在網路與大數據通信實驗室里寫很多有趣的代碼, 每天和學院最強(噗)的教授的研究生打成一片= =, 做過上天的Qt火箭模型, 刷過演算法導論, 膜過csapp, 每周看一場電影..
但有一天忽然發現, 這世界上沒有什麼東西可以承認自己, 不管是水平, 還是智商, 還是什麼其他的東西, 沒有什麼東西可以承認自己, 這難道不是最可怕的事情么?沒有做過比賽, 沒有拿過獎, 僅僅只有過一個公司的短期實習經驗..(可能是天性淡薄??)(哎呀裝逼病又犯了..明明是太懶了), 會一些Python但不會Web開發, 對嵌入式沒有興趣, 學校里的比賽幾乎都沒有能力參加, 看著別人一個獎十五萬, 一個獎十萬的拿..心裡確實動蕩很多, 整天混混沌沌, 混跡於各大開發者群, 各種院里的比賽群, 看看有沒有什麼機會.就這樣浪費了一周又一周, 直到比賽的那天, 看著別人三五成群組隊, 我一個人寫了五個人的代碼, 和另外一位不寫代碼的同學參賽, 最終還是杯具收場, 而在得到杯具結果之前, 我經歷了一段dark days, 由於對平時的不認真, 所以很清晰感覺到自己的平時分在嘩嘩下降, 這一點在上一學期沒轉專業的時候就是致命的, 這一學期又犯了這樣的錯誤, 作業時不時忘記了交, 英語各種東西外包, 為了寫代碼要補的大物課也沒有去上, 哪怕每一次數據結構上機實驗我都是最好最快的做完, 臨近期末也感受到了很大的壓力.. 本來課程就比其他的同學多, 項目任務, 比賽任務, 包括科研, 還有沒刷完的書, 沒做完的作業彷彿山一般..每天既沒玩遊戲也沒有看小說, 時間怎麼就不見了呢~(這真是一個奇妙的命題..), 後來發現, 很多的時間, 都用在了社交之上, 混跡在群里, 時不時發一些自己做過的產品, 自己的Git, 希冀認識更多的人, 接觸更多的資源, 獲得更多比賽的一手消息, 各種科目的作業, 還有能去做的項目..於是在那個轉折點裡面, 與最好的幾個朋友吃了一頓負能量較大不是很開心的飯(由於實在感覺自己一個人拉低了整體的氛圍, 所有最後當然是我要求的自己一個人結的賬 T~T), 之後屏蔽了所有的群, 屏蔽了幾乎所有的好友, 刪掉了QQ, 只保留了QQ郵箱, 做完這些事, 在第二天, 待在實驗室里一整天, 忽然覺得天空都變得明朗許多了, 很多不開心, 很多壓抑都隨風而散, 再也沒有人來找我, 再也沒有人問我作業題, 再也沒有人發布關於比賽的消息讓我看見, 再也沒有人問我最近又在寫什麼代碼, 再也沒有人和我說他又拿了一等獎..和我在一起的, 是實驗室的長桌上放著那幾本被翻爛的書, 還有屏幕里還還在跳動著的大括弧.隨手翻開了某本一直沒看完的書, 從頭到尾翻了一遍, 忽然很多的數學模型都變得不再抽象了, 在我的腦海里, 變得直觀, 生動了起來, 我再看了看錶, 赫然發現過去了兩個小時不到.. 於是在那一個下午, 我把前面幾周所有拖欠的事情全部做完了, 很多事情在我以前的計劃中是花一整個下午, 或者一整個晚上去完成的,.於是又用了一個晚上, 把下周要做的一些硬性的事情也做完了.就在那一天, 忽然發現了新的方向, 新的道, 那就是靜心.. QQ這樣社交網路中每天零散的信息和無謂的水群, 確會不斷給人加上一個浮躁的BUFF脫離了社交之後, 一共只有三位朋友給我發了郵件, 曾經混過的那麼多群, 也沒有人發現群里少了一個人水.. 既然茫茫世俗且有萬沙萬塵, 又何必爭做群塵中飄得最高的那一個, 又何必得到整座沙灘的承認.. 我尚有幾本書還沒有看完, 尚有一篇論文還未看完, 這長桌上留著的那些東西, 才是我需要去做的..驀然間再看過去, dark days 才過去了不到一周, 對於一個剛度過轉折期的學生, 宛如隔世.本性所致, 虛榮和前程, 都是一個小小的借口, 轉專業的人都是有一個很大的夢想去完成, 都有一個很滿的time table, 都會在一條崎嶇的雪山腰上摔倒. 我想做的, 便是在自己的世界裡, 好好的品一口茶, 翻翻書, 做做筆記, 每晚睡前和在意的兩三個人互通幾個消息, 快意美滿..謝謝邀請
問題看下了,LZ我猜想的應該是大二才轉到計算機專業吧,畢竟專業基礎課不是很多,大三才是重點。
想了下還是用畢業生的角度來提供點建議吧,上面有位老師回答的挺好。
LZ轉到計算機專業的目的是什麼,或者說到時畢業是打算考研還是做程序員,無論結果怎麼樣,希望LZ不要最後後悔。
………………………………………………………………….正題…………………………………………………………………….
本科階段的專業基礎課其實不多,可能你看到計算機專業的課表有很多專業課,其實很多是專業方向的選修課,專業基礎課其實就幾門(數據結構,計算機網路,計算機組成原理,操作系統,資料庫),無論是考研還是工作面試,基本都會涉及到上面幾門課。
先說一點,發現自己不足,學會擠時間去彌補,不要期待會有專門的時間或機會給你彌補
先說專業基礎課,5門課代表了計算機專業的5個大類方向,數據結構偏向演算法研究和性能分析,計算機網路代表了網路的一個大類,計算機組成原理則以硬體的角度來介紹了計算機體系,操作系統側重系統各功能原理介紹,資料庫側重入門,本科生不同於研究生以上,上述知識點側重於理解掌握並有一定的實際運用。
可能LZ現在情況是,計算機專業的同學學了相當一部分的專業知識,自己現在屬於小白級別很多不懂,其實編程語言按照LZ的情況選擇一到二門就好(C/C++/JAVA/C#.......),建議樓主先學C語言,當你熟悉了這門語言再看其他的,你會發現很多是「類C」語言,編程語言側重點在於思維是否能做到貫通,精通一門再看其他語言基本不會太吃力
專業課不知道LZ轉到的計算機專業到了什麼程度,建議找對應的老師問清楚什麼情況後,結合自己的情況一點一點撿起來,按照LZ的描述數據結構已經上過了,這門課是很考驗實際操作的一門課,如果沒有達到一定的編程能力最好不要接觸,很容易迷糊,這門課給我的感受就是,將現實世界中很多現象通過編程語言實現了抽象,對應的結構來解決對應的問題,如果有了編程基礎,建議多敲代碼來實現書本上的例子或者習題。
至於其他的專業課,不清楚LZ以前有了解沒有,做最壞的打算從來沒聽過,建議是做好課前預習並找出自己實在理解不懂的,通過上課和課後找老師交流來解決,或者和老師交流你對知識點的不同想法(不一定要得到確切的結果),你已經落後其他同學,所以自己抓住機會來提升自己。
課下LZ如果把作業什麼都做完了(建議不要抄,自己做)還有剩餘時間,看LZ畢業想工作還是考研,如果考研建議多花時間把公共課拿出來複習,專業課利用上課時間來逐步穩固,如果選擇工作,把自己認為熟悉的編程語言多敲代碼,最好結合一個實際項目來慢慢摸索自己,遇到問題想辦法解決,來舉個例子
引用了百度最新發布的實習生招聘(本科生如果畢業想進好的公司,建議通過實習生轉正進去),基本上面寫明了你應該達到什麼樣的基本要求(C語言為例):
1.
首先你要熟悉在LINUX下的一門語言的編程,而且要做到精通,精通意味著你不在局限於打開VI寫完代碼然後GCC一下,深入到語言過程的每一步,怎麼劃分存儲怎麼處理……
2.
數據結構和演算法,相比LZ明白重要性,演算法建議以數據結構課本上面演算法為基礎,利用空閑時間在一些比較好的OJ上做做題目來提高鞏固
3.
問題的分析解決能力,在於遇到問題能不能在合理時間給出一個可以接受的結果,或者提出一個切實可行並且不同於常規的思路
4.
….
基本大致就是這些,作為計算機專業學生,一直主張學習完了立刻動手去實踐,實踐的越多懂得越多
先回答這些吧,願對LZ有幫助
首先謝謝邀請(第一次被邀請)
我也是一名轉專業的學生(從冶金工程專業轉到計算機,完全不相關的兩個專業),不過與LZ不同的是,我是大一剛剛就結束就進入計算機了。不過由於之前對計算機一無所知,只是奔著以後好找工作過來的,剛開始的兩三個月完全是在混亂中度過的,像和大家一起學習數據結構的時候,也是像聽天書一樣,但是後來逐漸就適應了環境,兩年過後的現在,在同專業260個人中GPA排名第二保研到上海交大計算機系繼續攻讀碩士研究生,自我感覺在本科階段還算是比較成功的。 接下來就說我是如何度過那一段困難的時間的,想想大二一年補習人家大一已經學過的課程包括C、C++、概率論、離散數學還有像專業概論環境概論等一些水課,感覺這些合起來比人家半年修的學分都多,同時還要跟著學習大二的課程,這也就意味著我們需要用一年的時間來學好人家一年半甚至兩年的內容,而且沒有任何基礎,這樣確實很難。以上是我們遇到的問題,但我們依然有優勢,想一想LZ既然轉專業,那一定就是對未來有些想法的,肯定就是好學且勤奮的,而學習那些課程的內容就是需要時間的堆積,另外最重要的是我們走別人已經走過的路,當遇到問題的時候不需要自己太多的盲目探索,多問一問身邊的同學(當時我就遇到了一個特別熱心的好同學,什麼都毫無保留的教我),因此我們前進的會比其他人更快。 以上分析了我們的困難和那些僅有的優勢,接下來就大致說一下補習課程的重要性以及先後順序。既然學計算機首先編程是在所難免的,因此一門編程語言絕對是基礎,至於具體學習哪一門,最好要考慮一下自己學校計算機專業的培養計劃,因為很多後續過程都會是以這門語言做基礎來學習的,本人當時最先學的C,現在我仍然認為計算機專業入門最好的語言就是C,有了這個基礎,其他的所有語言入門都會很簡單;在學語言基礎的同時,離散數學是培養計算機思維的重要學科,而且學完離散數學對計算機的另一門基礎數據結構有著很大的幫助,因此,建議也盡量抽出些時間來多學一下這門學科;像概率論什麼的數學固然是基礎,但對後續的計算機專業課的學習幫助並不大(僅限於本科階段,研究生很多研究方向,概率論很重要),因此可以暫時不用著急,其實學完一門語言加上離散數學,基本上就可以和大二開始的學生在一個起跑線上了,雖然根基可能不牢,但仍然可以後續追趕;如果像LZ這樣轉的時間更晚一點,數據結構也需要自己來學的話,那LZ可能需要付出更大的努力。另外,在學完基礎的之後,LZ有時間確實應該多做一些ACM的一些簡單題來鞏固自己的所學,當然這是以後提升的一個方法,總之計算機確實需要多動手,光有理論是遠遠不夠的。 最後,祝LZ能夠很快跟上節奏,學業有成!計算機的專業課學習是有先後順序的,比如在學C++之前,應該先學C,大學裡計算機專業的課程安排,經過多年經驗的總結,大體上還是比較靠譜的,所以,你不妨到學院里找找教學幹事,要一本本校計算機專業的課程目錄,弄清楚有哪些專業課,哪些課先學,哪些課後學,然後從大一課程開始自學。要想追上同學,你就得投入比別人更多的時間了,計算機專業的有些課程難度較大,並且很難速成,所以要耐心。
注意一定不要只看書,看書與動手結合起來。另外,不要看國內教材,同樣的課程,找本國外的經典教材學,如果沒有好的中文版,而英語足夠好,就看影印版,不到萬不得己,不要看國內教材。
還有一個,計算機全專業的MOOC課程在網上都可以找得到,國內的國外的,全英文的,英文加字幕的,中文的,都有,一邊看MOOC,一邊看經典教材,一邊動手編程,肯定就能學好。你就按自己進度學好了, 有不懂的就問問周圍同學
時間久了你就會發現 其實他們也不懂23333先學下彙編,學好數學相關的課程,mooc不建議看。
不用太趕,稍微學學就行,反正他們也都不會
985cs你這根本就不叫事,我考研跨專業,從管理跨到計算機,基礎落後別人四年(攤手)。
不用擔心啥,不要總覺得所有計算機專業的人都比你強。只要你努力,一定會成功的。
抓緊時間學習吧傻孩子,沒事的,離散我們只會考前畫的8個重點
如果你現在決定好了要轉,那就不用擔心,你沒有落後, you are right on time!
我大一的時候也體驗過從物理繫到統計系再到計算機系的經歷,現在大三沒有落後任何進度。首先重要的是你需要確定你是否適合轉計算機,簡單的說就是是否願意花時間在上面。我上大一前極為想學物理,也在讀一些物理書,但效率不高(大概跟題主一樣哈哈),後來發現確實不願意花時間在物理上,因為感覺壓力很大。於是開始用學物理的時間自學CS。
在這裡建議一下自學編程語言的順序:
Python(語法)-&>C/C++(數據結構)-&>Java(開發)題主大概在第一階段的話,非常推薦Coursera上面的密歇根大學推出的五門python入門課,從基礎語法到爬蟲都有講,大概一個月就能看完吧,一定要做他留的小作業(這裡不放傳送了,如果很感興趣的話自己會去搜的吧哈哈)在完成他布置的小程序的時候還是蠻有成就感的,於是我就開始了一年漫長的轉專業道路Orz
順便一提,多上數學和統計課對以後幫助很大。像隨機過程,凸優化,線代,概率,傅立葉能上就上著,這是你能夠在現階段超越計科系的一方面。
但在接觸高階段的專業課前(計算機視覺,圖形什麼的),這個時候所接觸的的數學都是簡單的。比如離散數學,概率論,線性代數(重要),多元微分,基本都還用不上。我認為最關鍵的還是提高自己的編碼能力,這個是通過多寫而不是上課來提高的。寫個c++黑白棋,python貪吃蛇,然後再去實現它們的AI,收穫是巨大的。如果題主能堅持到這個階段,其他什麼的也不用自學太多了,跟著轉專業進度慢慢上吧,有能力了時間什麼的都是屁。同是轉專業,大二的,他們都已經在學習數據結構了,而我每次上這節課都是和白痴沒區別.....而且還是一個星期六節課,還有上機課啊,親!
荒廢半年,應該就能趕上他們的老爺車了。趕不上的話再躺一會兒。————————————以上抖機靈這樣。1.按照我們學校的情況,(計算機學院的)老師講的課是不如MOOC的。深度和廣度都遠遠不如。該怎麼辦,你看著辦。2.我覺得計算機這個東西還是看實踐水平。閑余時間多刷刷oj題。但是不要太拼,保證休息。3.保持對知識、技術的喜愛,尋找正向反饋。比如經常在班上回答其他人答不出的問題,平時熱心幫助同學解決程序問題,比較深入地學一些自己感興趣的領域。
都在轉,我擦,泡沫好大。
題主不要過於擔心,按照課程標準慢慢來。計算機專業一般都是先學c語言的,抓住課餘時間把落下的補上來。不要老是感到自己不如別人,有些計算機專業普通的學生或許還不如你呢。
我就是從電子信息類的專業轉到計算機專業的。。。。。。如果你的學校有ACM集訓隊這個暑假你最好跟著集訓隊刷一把ACM,如果沒有你也最好多學學數據結構。。。數據結構真的真的真的最重要。。。。。。到了下學期的數據結構離散數學啥的都會小輕鬆。。。。。當然你最好提前預習一下啊計算機組成原理。。。。。。不然到時會非常蛋疼,計算機組成原理真的全拼你的記憶力了。。。。。我說真的。。。。。。。。。
我也是剛轉專業成功~握爪~
哪個學校這麼好居然可以轉專業????
太原理工當年根本不允許轉專業,成績再好或是降級也不能轉,怎麼都不能轉。要死了要死了,上課聽不懂誒
。。。。。。。。。。。。。。。。。。。
題主現在還好嗎,我。。。剛剛轉誒推薦閱讀:
※編寫一個iOS小程序的完整流程是什麼?
※Openbox,Blackbox,Fluxbox 你們用過么?感覺如何?
※編寫的 VB 編譯器已實現詞法和語法分析,下一步應該如何實現抽象語法樹和語義分析?
※數學專業轉機器學習,需要哪些計算機和編程方面的積累?
※C++ Primer與C++ 大學教程(C++ How to Programming)哪個更好些,應當選擇怎樣的教材?
TAG:編程 | 計算機科學 | 計算機專業 | 計算機科學與技術專業學生 |