張同學的Berkeley回想錄啟程,奔向美利堅與我而言,很小的時候就有想要出國的愿望和憧憬。
究其原因的話,有一部分是因為自己喜歡打籃球的緣故,從小就非常喜歡看NBA,所以經常夢想能夠有一天能夠踏足那片“神圣”的土地。
另一方面就是因為自己的專業方向。
出身于計算機科學專業,我在大一剛入學時就已經樹立了研究生想要出國留學的目標。
加州大學伯克利分校是以計算機科學見長的傳統世界名校,當然早已成為了我的研究生目標學校之一。
2017年年末的時候,接觸到了立思辰留學360對于伯克利夏校項目的宣講,內心深處馬上堅定了想要在2018年暑假去美國體驗伯克利生活和學習的信念和決心。
在立思辰留學360的幫助下,我成功度過了前期的申請階段,并且順利地拿到了通往美國的簽證。
就這樣,一段難忘的美利堅伯克利之旅,開始了。
北京時間2018年6月17日 上午, 我隨Leo還有其他同行的小伙伴們,一起登上了飛往舊金山的班機。
對于之前沒有任何出國經歷的我來說,這樣跨時區的飛行經歷真的是既辛苦,又興奮。
飛翔在大西洋之上的云端,從世界的一邊飛向另一邊,別有一番滋味。
在經歷了短暫的“黑暗”之后,我迎來了來自西邊的第一縷陽光。
飛機上的行程記錄儀可以非常清晰地看到飛機的位置,真的已經是非常接近舊金山了。
心里真的是非常的激動。
終于,經過10個半小時的飛行,我們終于到達了舊金山的機場。
短暫的休整之后,和小伙伴們一起搭出租車,開往伯克利。
落地,構想伯克利??在來到美國之前,聽很多的伙伴們說倒時差的一種方式就是一直不睡覺(前提是自己能熬得住)。
所以,雖然已經20多個小時沒有合眼了,但是在好奇心的驅使下,打算在開課前的一天先去Berkeley的downtown轉一圈。
半天的時間,可以說差不多逛完了半個Berkeley,因為確實是非常小的一個城鎮。
從我們住宿的地方走5分鐘,就能夠到Berkeley的市中心了。
聽Leo說,下面這個圖就是整個Berkeley的中心,所以叫做Center Street。
當然,我也數不清到底從這個路口經過了多少次了,因為它真的是每天我上課的必經之地。
走在Berkeley的大街上,我一直在觀察周圍的環境和人們的一舉一動。
自己在內心身處非常的感慨,一個如此小的城鎮,小到讓你覺得一不留神就能散步走到另一個城鎮,卻鑄造了世界上最好的公立學校,街上的每一個人仿佛都有一種深深的自豪感,因為“我”來自Berkeley。
可以毫不夸張地說,如果沒有這所世界一流名校的出現,也許不會有那么多人會知道在美國加利福尼亞州舊金山市附近有一個叫做Berkeley的小城。
我仿佛融入到了這種自豪感當中,為自己能有機會在接下來的兩個月里成為一個Berkeley的居民感到驕傲。
繼續探尋Berkeley(或者說是倒時差), 我在主校區附近的地方發現了一些非常有趣的標記。
看到這句話之后,我的第一反應就是,也許該做好兩個月吃苦的準備了。
Optional 就意味著有的人堅持了下來,有的人卻放棄了,這也許就是Berkeley培養一個又一個杰出人才的原因,因為他們都選擇了苦難和痛苦,只有這樣才能磨煉自己的意志。
第二個涂鴉標記真的看得我目瞪口呆,這或許就是一些Berkeley學生的心聲,忙于繁重的課業壓力不能呼吸,發出了內心身處的呼喊。
可以說,這些比較有代表性的標識涂鴉讓我在內心當中或多或少對之后兩個月學習生活有了一些構想—不論過程有多么艱難,一定要堅持到底!
體驗,滲透伯克利說到這里,終于要進入Berkeley課程的主題了。
我選擇的課程是Berkeley計算機科學系教得最好的一門課:CS 61BL—Data Structures and Programming Methodology。
實際上對于Berkeley本校的同學來說,在秋季學期和春季學期選修這門課的話,課程代碼就會是:CS 61B。
這兩種課程代碼有什么區別呢?
簡單來說,暑假的CS 61BL是以機房課(Lab—這就是L字母所代表的)為基礎的數據結構課程,而普通學期的CS 61B 是以講座課(Lecture) 為主體。
再加上,暑期課程的時間是兩個月,正常學期(秋季和春季)的課程時間是四個月,選擇這門課就意味著我要用兩個月的時間學完四個月的課程 – 難度可想而知。
所以早在開學前,我的instructor就專門發過郵件建議我們:因為課程壓力很大,除了這門課盡量不要再選擇其他的課程。
簡單介紹一下CS 61BL 的課程設置和安排吧。
每周待在機房的時間總共有12小時(每天3小時,除了周三);每周三會有一個兩個小時的lecture,主要講Lab上會遇到的難題,以及概念的講解;8周的課程中,總共有4次考試(3次midterm期中考 + 1次Final期末考);8周的課程中會有3個難度依次上升的項目。
所以說,根據這個課程安排來看,CS 61BL可以說能夠讓你度過一個充實而有趣的暑假了。
我們的老師是Berkeley在讀或者剛畢業的學長和學姐們,他們之前都在這門課上取得了很好的成績,所以有著非常豐富的經驗。
Lecture的老師是Kevin和Christine,他們都是美國的ABC(American Born China), 口語特別棒,第一節課就被驚艷到了。
雖然我們上Lecture的時間不多,每周只有一節,但是每節課的內容都是一周Lab課程的凝練,每次我都搶第一排的位置,仰慕兩位大神。
因為整個CS 61BL的學生有300人左右,Lab的教室是有限的,所以我們會被分配到不同的小的Lab的時間段,每一個時間段有一個固定的Lab Leader。
我每天的Lab時間是從17:00 – 20:00,陪伴了我們兩個月的Leader 是已經畢業的學長Alex。
Alex是一個菲律賓裔的美國人,性格非常的活潑,總能以非常新穎的方式解答我的疑惑。
比如說,我當時對于如何用遞歸法(recursion)寫翻轉鏈表(reverse list)的算法非常的困惑,Alex告訴我應該當一個先知,預測最后一個步驟的寫法,然后反推回Base case,就能非常快速的寫出代碼。
這個方法讓我瞬間就明白了遞歸算法的本質,讓我能更好的運用它寫出其他的相關算法。
每天對于我來說都是充實的,上午起床之后我會去圖書館,提前開始今天的任務,并且在手機的備忘錄上記錄所有遇到的問題。
到了Lab的時間,就是我和Alex交流的時間了。
這也是我覺得CS 61BL 最應該利用好的資源,和Berkeley的本校學生一起交流學術,了解他們的思維方式和解題方法,真的是大有裨益的。
除了Alex,每一個Lab都會有兩到三個Teaching Assistance(助教),協助Alex解答大家的問題,這樣子就達到了充分交流的目的,也是讓我每天保持旺盛精力的來源。
對于我來說,最具有挑戰的就是第二個項目,我們要以小組為單位,完成一個Gitlet version control system(和Git類似的版本控制系統)。
這應該是我做的第一個CS的比較大的軟件工程項目。
整個項目需要我們利用現有的數據結構來設計自己的系統組成部分:working directory, staging area 還有 Commit area。
這些都是需要我們從無到有來構建的,可以說難度相當的大。
周日是最后的截止時間,我們周五才最終確立全部的系統結構。
用了整整23個小時無間斷的工作,終于完成了這個一開始令我望而卻步的項目,心里的成就感爆棚。
最后拿到滿分的project 2
在這樣緊張的學習節奏中,我也會去通過一些消遣的方式放松自己。
Berkeley的“鄉土”氣息慢慢地浸透進我的血液當中,緊鑼密鼓的學習生活之余,慢慢地回味和享受著“伯村”的點點滴滴。
落幕,憧憬伯克利早中晚 經過Berkeley鐘樓
為期兩個月的夏校課程可謂是來也匆匆,去也匆匆。
無數次經過鐘樓,無數次在圖書館目睹了最美的黑白交互。
兩個月的Berkeley夏校經歷讓我收獲了太多太多,除了最后還不錯的總評成績A-之外(要知道Berkeley本校的同學上CS 61B的平均成績是B),我收獲的更多的是對自己未來的無限遐想和憧憬。
之前并不知道是否能在CS這條專業路上走下去。
夏校的經歷告訴我,我完全有能力和水平在將來申請碩士Master的時候,適應美國的CS體系,適應美國的生活和學習,更重要的,適應Berkeley的點滴。
我憧憬兩年之后能夠真正有機會,以Berkeley研究生的身份再次回到“伯村”,回到那個以自由為信仰的Soda Building,回到那個有著最美黑白交互的圖書館,那個上課必經的鐘樓小道,還有能夠經常看到到松鼠小精靈的樹林棧道…
落幕,伯克利的難忘夏校。
永不落幕,伯克利的青春回憶。

? 2025. All Rights Reserved. 滬ICP備2023009024號-1