在北大元培學院學習數據科學專業是怎樣的體驗?


感謝題主在朋友圈的邀請。答主為知乎新手,第一次寫回答,不懂業內規矩,大家見笑。

北大元培學院的數據科學方向是2015年剛剛建立的,應該說是新生事物。數據科學在今天的世界扮演著重要的角色,並且將越來越重要,這一點相信各位是應當認同的。元培學院作為北京大學在交叉學科方面的「改革先鋒」,將數據科學作為一個專門的交叉學科方向設立出來,吸引了許多2015級學生。根據我的了解,這些同學大多數有著很好的理科背景,其中不少參與過學科競賽,進入過國家級決賽(即所謂冬令營),科目不限於數學和計算機,也包括化學等。省級一等獎得主和其他參與過競賽的同學有許多,當然也不乏直接通過高考進入元培學院的同學。

以答主本人的經歷而言,選擇這一方向,是出於多方面的考慮。主要的原因,一是看重這一方向在未來社會的重要性,二者則是這一方向的培養體系,意在夯實學生數理基礎以期他們能將數據科學應用於其他領域而取得成就。因此,對於理科基礎好,卻不想從事數學或自然科學理論研究,同時對許多方面都感興趣,並想要把自己的數學才能和理科基礎應用於這些領域的同學而言,數據科學方向也許是一個好的選擇。

答主在此必須指出,由於數據科學乃是新近建立的學科方向,其培養方案的可行性和效果尚待檢測。在剛剛過去的一個學期,本方向的許多同學都對一些涉及培養方案的問題有過困惑,但這一現象正在發生轉變。在元培學院院長鄂維南先生(中科院院士,普林斯頓大學教授,其本人為數據科學專家)領導下,數據科學方嚮導師團隊已經建立,元培學院學生學術委員會旗下的數據科學學會當下也在籌建當中。答主相信本方向的各類問題會逐步地得以解決,只是在此做一說明。

根據現行培養方案,數據科學方向的課業不可謂輕鬆。除數據科學導論為必修課外,專業必修課還包括數學方面的五個模塊,即高等數學(或數學分析)、線性代數(或高等代數)、概率論、統計、計算方法,以及計算機方面的五個模塊,即計算概論(或程序設計語言)、數據結構與演算法、資料庫概論、機器學習和數據挖掘。輔之以元培學院「頗具盛名」的各類「虐課」,例如元培英語A和人文經典,以及各類專業選修課,答主相信數據科學方向的課程設置對於學生確乎是一個比較大的挑戰。

以下答主簡單分享一下自己在大一上學期的學習經歷,以供諸君參考。這學期答主選擇的課程是數學分析(A)、高等代數(A)、計算概論(A)和大學英語(A),所謂A級,即是難度最大之意,如此全A式的選課,客觀而言確有自討苦吃之嫌。答主在開學前預習數學分析,僅實數的定義一節,就花了五個小時方能看懂,實在是苦差一件。至於元培的A級英語,則更是聞名於全北大的「虐課」,每周僅閱讀課就要閱讀6篇2000詞以上、難度在答主看來至少絕不亞於SAT(美國高考)的文章,並且接受出題刁鑽的課堂測試,因此佔用許多的學習時間。當然,這一課程如果真的付出努力,所得的收益絕對是顯著的,這裡只是說明其所造成的學習壓力。

言及此處,有必要略微提及答主在中學階段的學習背景。答主從初中開始參加數學競賽,曾分別在初三和高三獲得過全國初中和高中聯賽的(北京賽區)一等獎。至於微積分,答主在初二簡單接觸了求導等基本概念,由此大呼神奇,為其深深吸引,初三便醉心於簡單的不定積分和常微分方程,雖有中考的壓力,卻仍對其愛不釋手,簡直堪稱是沉溺其中難以自拔。但是,這些其實只是基本的計算技巧,答主在進入大學之前,對於數學分析的嚴謹體系並無接觸,因此對於這門課程絲毫不敢怠慢。至於高等代數,答主由於在競賽中最擅長以代數技巧處理各類問題,因此自恃代數功底深厚,對於高等代數課程,在上半學期也只是蜻蜓點水、不求甚解,只胡亂的看一看教材、做一些題目,輕視了計算的基本功,有時覺得老師上課無聊,甚至有「翹課」的不敬舉動,如今看來,誠乃造孽。

如此行徑馬上收到了懲罰。由於輕視計算、心態浮躁,高等代數的期中考試,答主漏洞百出,尤其是求錯了一個簡化階梯型導致一系列計算接連出錯,卷面慘不忍睹,最終只獲得62分勉強及格的成績,實在無顏面對江東父老。試卷下發之日,答主痛定思痛、深刻反省,決心端正學習態度,重視基礎,認真對待高等代數,甚至還給遠在海外上學的高中同學發了毒誓,聲稱「不學好高等代數,誓不為人」,以此激勵自己。這實際上也成為了答主在這個學期的轉折點。自此之後,答主拿出了準備高考的勁頭學習高等代數,尤其是期末複習時,遍覽整個學期的各種定義、定理和計算方法,做了萬全的準備,終於在期末考試一鳴驚人,竟然將期末總評拉升至92分,成為本學期績點最高的專業課,實屬萬幸(當然,答主懷疑老師心懷憐憫,為激勵答主,獎勵了答主一部分由期中到期末的「進步分」)。由此觀之,冰凍三尺非一日之寒,無論是什麼階段,中學也好、大學也好,學習當戒驕戒躁、鍥而不捨,這種道理總還是沒有錯的。

數學分析在前半學期講述一些基本定理,筆者花費了較大的功夫,奈何期中考試遇到了較難的壓軸題,終獲85分,可稱是中規中矩。下半學期導數及應用、不定積分,則基本進入了答主的步調,期末考試限時兩小時,答主在一個半小時即以橫掃千軍之勢答完所有題目,但根據最後的期末總評成績(90分),答主在期末考試中沒能獲得滿分,實在是一大遺憾。但總而言之,答主對數學分析本學期的學習,還是比較滿意的。

計算概論實乃編程的基礎,答主在中學階段只接觸過最簡單的編程,基礎不牢。上半學期尚能應付,期中考試獲得95分,然而進入下半學期之後,總是因為細節的疏漏而在程序的調試上耗費大量時間,但答主將大量時間投放於英語、數學分析和高等代數,因而沒有對這一問題引起足夠的重視,最終在期末考試中飲恨折戟,又給了答主一大教訓。幸得老師手下留情,觀答主學習尚屬認真,完成作業尚屬及時,期中成績也尚屬優秀,最終給了一個87分,著實慚愧。因此,答主打算在下學期選擇程序設計實習這門課程,繼續夯實基礎,給此後學習數據結構與演算法這門課程做好鋪墊。

以上文字,皆屬答主個人體驗,實難代表數據科學專業的總體情況。然而就個人的感受而言,本專業壓力不小、擔子不輕,但只要時間分配合理、學習方法得當,學業功課總還是應付得來的。至於其他方面,本方向的同學們之間交流很多,和數學方向的同學們也保持著良好的溝通,尤其是在學習中的具體問題和方法上,相互借鑒、取長補短,氛圍甚好。我們組織的數學分析、高等代數和計算概論的討論小組,同學們參與熱情很高,效果甚佳,就答主本人而言,也從中受益匪淺,在此也對同方向的同學們一併致謝。

最後預祝數據科學方向的路越走越寬,也歡迎全國的優秀學子加入本方向。謝謝大家!


【2017/02/04已更新】

以下「數據科學」專業簡稱「數科」。

【更新】

一轉眼過去一年,這個答案也放在這裡沒有動。我的拖延症大概是深入骨頭裡了……

說說新的現狀。

好的方面。學會和網盤已經建立;本研交流/導師交流/講座/興趣小組/學長學姐經驗交流/其他活動等,都已經納入議程或是著手做了;現在學科內部已經有了一定的凝聚力,大家之間相互交流的也還算頻繁;以及16級的小朋友都好厲害呀……

不夠滿意的方面。我直接擺個人的想法:聽說生科那邊有一百多套track,幾乎可以達到為每個人量身定製的效果,所以我希望我們院也有類似的成熟體系。

這絕不是太過貪心,而是確有其必要性。現階段,我們畢業以後的出路大概有3條,留在國內可以讀本校大數據研究院的研,其他高校也有相當不錯的數據科學master;如果有同學想出國讀研,那麼要費一番功夫找到適合自己的學校;如果選擇直接工作,應該也會有很不錯的待遇。那麼主要的問題是,那些想出國讀研的同學申請什麼方向呢?

當然,「純」數據科學是一個好的選擇。這一專業在不同高校可能有不同的叫法,例如「Master of Information and Data Science」或者「Master of Science in Business Analytics」等。此外,很多同學也可能希望學習更加前沿/交叉的學科,比如Computational Biology等,這樣的master學位非常之多,簡直讓我們不知如何選擇。

如果一個數據科學的本科生,像現在的培養計劃一樣,四年只修了比較寬泛的專業基礎課,那申請自己想要的專業時,和本科是CS/數學專業的同學相比就毫無優勢;如果他想在本科階段就為申請上面說的計算生物學做準備,但他又沒有一份明確的「數據科學-偏生物方向」培養計劃,那他是不是要從普生學起,再學生化、分子生物學和遺傳,最後學高級遺傳學,才能把自己喜歡的兩個專業的知識真正結合起來呢?

另舉一例。下面這是UCB的信息與數據科學碩士。我們可以明確的發現,下面的課程實際上還是建立在強大的計算機技術的基礎上的(數據清理、存取、數據挖掘、信息安全、可視化),同時也需要一定的統計學水平。而貴院今年把培養計劃中數學課的要求降到高數C,以及把計算機課的要求降到計概B和數算B的做法,著實讓我看不太懂。

我們沒有這麼多時間來自己探索,我們只能仰仗導師們的資源,而等到我們拿到真正詳盡的培養計劃的那一天,這個專業早已不是問題和機遇並存的新專業了,它一定成熟了。

【新的彩蛋】

過年回家,有人給奶奶打電話拜年。

「孫子在哪上學呀?」

「北京大學。」

「喲不錯呀!讀什麼專業?」

奶奶不假思索:「大數據。」

電話那頭沉默了一會,換了個話題。

——————————這是去年的回答——————————

樓上的高贊回答已經說過個人使用體驗了,那我就說說數科眾這一學期的感受吧,當然是限於我自己了解到的情況。

首先,再次概括一下我們專業的現狀。本專業是Top X高校里,第一個在本科設立的數據科學專業,同步開設於北京大學數學科學學院、信息科學技術學院以及元培學院等三個本科院系。本專業面向各年級本科生,不設門檻,致力於培養具有紮實應用數學(包括統計學)與計算機基礎的新時代數據科學人才;至於開設的課程,前面已經介紹過了,主要是數學與計算機兩個方向的十幾門專業課,在此不做贅述。

在這種學科交叉的背景下,數據科學專業的學習任務其實並不比任何其他專業方向容易。

談到在北大前幾個學期學習理科的難易程度,我就不得不提起同學們的競賽背景。這是一個嚴肅的話題——因為,在我看來,不同競賽對學習大學課程帶來的直接加成是不相同的。

在我嘗試過的諸多競賽中,數學競賽似乎是對大學的數學課程(包括分析學、代數學等等)加成最小的,我的國賽經歷也只是在一定程度上拓展了我的數學思維,並不會對我的數學成績造成直接的影響(而是帶來緩慢而穩定的提升)。此外,我發現大部分同學都並沒有在高三升大學的暑假做太多的預習,他們的發力期主要是在學期中,卻也都取得了相當不錯的成績。因此我認為,我們的同學們無論有沒有任何競賽背景,或者是否預習過,甚至無論選擇B級還是A級(甚至S級)課程,只要認真學習,大多數時候就可以隨著時間推移,漸漸遊刃有餘,更加輕鬆。

反觀計算機相關課程,在學期初計算概論(簡稱計概)的學習中,同學們更容易遇到一些困難。鑒於元培學院(幾乎)沒有信息競賽保送生,會有相當一部分同學之前從未寫過代碼。我身邊有的同學,在開學初正是因為沒有編程經驗而無法適應,直接退掉計概A;也有的同學直到學期末還未深刻掌握遞歸的精髓:凡此種種,不一一而論。事實上,編程基礎確實對至少前三學期的計算機方向課程學習有極大的幫助,與數學不同的是,這種幫助既有能力上的直接增強,又有軟實力的提高,包括編程創造力的提升,這點我想OIer們都會懂得。當然我身邊也有不少從未學習過OI的同學在期末獲得了滿分的成績,不過這種天賦異稟的人畢竟不在多數。總之,計算機相關課程是開學初的一道坎,雖然大部分同學經歷了從不適應到基本掌握甚至得心應手的改變,但是適應期仍然相當耗費時間與精力。

總結起來,本專業的同學們學習數學都不算輕鬆,但是隨著我們付出努力與時間,都會掌握得越來越好。計算機方面,同學們的基礎差異較大,一開始的過渡期也不太容易,但最後還是可以取得好成績的。

新專業成立之初,當然會遇到種種問題。(元培特色哦!

北京大學元培學院,由於其學科設定的特殊性,為了增進各學科方向之間的交流,設立了人文、社科、數學等多個學會,負責各學科的內部事務。數科專業剛剛設立,沒有資歷較深的學長學姐幫助我們完成學業方面從高中到大學的過渡,學會也更是無從談起。因此,我們在日常生活中遇到的問題或是困惑,都沒有反映的渠道;大家也是各學各的,遠不如其他方向的同學團結;再加上建立新學科帶來的培養方案不完善、課程開設不夠及時等問題,同學們一度有些疑惑自己的選擇。

然而,隨著時間推移,事情逐漸向好的方向發展。首先,經院長督促,數學學會的負責人選拔出了兩位數據科學方向聯繫人,代行學會的一部分管理職責;更重要的是,本屆暫定數科方向的三十多名同學都開始團結起來,配合聯繫人的工作,互相拉群通知消息,並在後來的導師交流會上積極發問,共同落實了院里對數據科學方向開設課程和培養計劃的安排。

至於上文提到的,在學習課程中遇到的問題或障礙,數科和數學兩個專業的同學建立了微信題庫群(當然還有水怪出沒的說話群),並在此解答其他人提出的問題,群里學術氣氛濃厚,幾乎是有問必答。

此後,我大概可以開心地說,「貴方向走上正軌了」吧。

比起突然出現的問題,令我更驚異的大概是同學們空前的團結程度和執行力。

【更新一個小彩蛋】

過年回家,見親戚。

「喲,放假回來了呀。在哪上學?」

「北大。」

「在哪個系?」

「元培學院。」

親戚一臉懵X。

(解釋半天)

「那你在這『元培……學院』,學什麼專業呢?」

「數據科學。」

親戚二臉茫然。

(解釋半天)

「你早說是搞編程的嘛!」

(我心想:您也得學習一個了)

任重而道遠。


大神,能告知大數據教材科目以及出版社嗎?


樓上巨神,membrane


推薦閱讀:

如何看待北京大學國家發展研究院2016年開始招收本科生?
如何評價清華新雅書院與北大元培學院?
對北大試行的「中國大學先修課程」有何期待與看法?
《最強大腦》中的 Dr. 魏(魏坤琳)的學術造詣如何?
考上清華北大很難嗎?

TAG:北京大學 | 北京大學元培學院 |