Welcome to CUHK ACM Programming Team homepage.

If you are into solving programming problems and competing with other university students in a worldwide competition, you might want to know more about our team. Here are some sharing by previous members.

Previous Experience

Hover to read in details

三年的大學生活轉眼已經結束。回想這三年的日子裏,充滿苦與樂,為了課業、比賽,可以通宵達旦的努力。這三年裏,我有幸能參加編程比賽,代表中文大學出戰ACM 國際大學生編程比賽 (ACM ICPC)。除了有機會出外旅遊,增廣見聞(這是一直以來,我們隊伍用來吸引大學一年級學生的主要賣點),還能夠認識來自世界各地的解題編程高手,也有機會學習更多算法的知識和解決難題的技。今年四月初的時候,我的小隊有幸進入 ACM ICPC 的總決賽,參與了世界三百位,共一百隊頂尖編程好手同場較技的盛事。而且,這些寶貴的經驗和知識往往會為我們贏得很多進入大公司工作的機會。以我為例,我有幸在 2007 年的暑假到上海微軟實際,今年九月中的時候更獲加拿大微軟聘請,來年更有機會遷往美國總部工作。這些經驗不是垂手可得的,我們也是經過整整三年的努力,再有機會取得參加總決賽的資格,才能有這樣一份吸引大公司的覆歷。

photo

Kane Ho
Graduated in 2008
Now working at LinkedIn

在多倫多大學,我倆跟兩名伊朗學生混得最熟,因為早在世界賽交過手,經劉立志師兄引介後,四人便一見如故,趣味相投。兩年來餐桌閒聊,觸及少許伊朗地理歴史,從波斯古國談到現代伊朗產油。跟穆斯林一齊看無厘頭胡鬧劇 Borat,他們笑得比我倆更開懷。這些見識,沒有 ACM 就遇不到。

參賽的戰利品,還有張張免費機票。賽前賽後,我們去過西安鐘樓、兵馬俑,荷里活星光大道,聖安東尼奧阿拉莫要塞;吃過全聚德北京填鴨、士林夜市棺材板;也曾泛舟西湖,朝聖故宮,漫步頤和園,攀登台北一零一……幾年來的環球遊歷,精采過任何通識課。

ACM 亦教曉我們溝通之道。比賽三人一隊,隊員要合作解題,時限迫得心焦,我們討論時往往貪快,口吐了一堆術語,甚麼「maximum cliques in directed graphs」,就以為「另一半」明白了。這樣交談,原來連相處廿載的孖生兄弟都不能即時會意,影響了幾場勝負。耐心舉例畫圖,對方更易明,有時反而更省時。一次次血的教訓,實際過聽講座學溝通。溝通進步了,對做研究也有好處。

有甚麼活動,比玩 ACM 學到更多?

photo

兩人簡介: 本科四年來,多次出戰 ACM ICPC,零三年、零六年兩度晉身全球決賽。零六年走出計算機工程木人巷,在研究院主修計算機科學(理論範疇)。零八年夏,披上多倫多大學碩士袍。五年後於柏克萊加州大學取得博士。現分別當上 Microsoft 和 Princeton 的 Post Doc。

Chan Siu Man, Chan Siu On

I design and implement optimization systems for my Phd research. The ultimate goal is to find a good solution in short time. The system's actual performance concerns the most. Our research group competes with similar systems from multi-national technology companies like IBM, Cisco, etc. I was the happiest person in the world when my system is many times faster than the others.

When it comes to implementing a large practical system, one of the main concerns is to strike a balance between code quality and performance. We all learn the former in programming and software engineering classes. The latter, however, is rarely discussed in an orthodox computer science syllabus. The ACM team training completes the story. In the training, we practice to squeeze every bit of the code to achieve better performance, develop an instinct of problem modeling, and utilize every split second under severe pressure during the competition. I didn't aware of how useful these skills are until I realized my coding is much more efficient than my fellow classmates in the graduate program. I couldn't imagine how would I go through Phd program without the two years of training in the team.

photo

Justin Yip
Graduated in 2006
PhD in Brown University
Now working at PredictionIO

I was a member of CUHK ACM team from 1998 to 2000. I would say joining CUHK ACM team was one of the best decisions I have ever made in my life.

When I studied computer science in 1997, I thought that the best job I could get after graduation is a programmer in financial institutions. Joining ACM team changed my mind significantly and it was an eye-opening experience. When I interacted with the most talented students over the world during the program contests, I realized that there are so many interesting IT professional jobs, such as Engineer, Software Engineer, Software Architect, Research Engineer, Research Scientist, System Administrator, System Analyst, Game Designer, Graphic Designer, Architect, Librarian, etc. (yeah, do you know that Architect and Librarian need to have some programming skills?). More important, all those jobs I mentioned not only require you to know programming, but also require you to think and program smartly. This experience motivated me to study abroad and learn the state-of-art technologies.

After I got my PhD from UCLA and joined IBM T.J. Watson Research as a Research Staff Member, I realized that the skills/experiences I learnt from the ACM team are extremely useful in different aspects, such as applying school, joining research group, conducting research, interviewing job, and interacting with people. Without joining the ACM team, I would not have the ability and the confidence to overcome the challenges that I have faced in my study and career path.

Many people may have the impression that ACM team are only for programming geeks. Wrong. After all the competitions, here came the fun part! We got the chance to visit the interesting nightlife in Japan, visited the biggest theme park in USA, had beers in hotel, and shopped at different cities over the world. The best part is, cost was mostly covered by the CSE department (of course, alcohol and merchandise are not part of the deal).

My advice to current CSE students: Come and try out the trainings/activities offered by the ACM team! Don't be shy! I can almost guarantee you will never regret this decision.

photo

Starsky Wong
Graduated in 2000

編程是單人的活動,我以前是這樣認為的。

ACM ICPC是三人一隊的編程比賽,可是每隊只有一台電腦。乍聽之下,這個設計有點奇怪。現在不 是打孔卡的年代,一台電腦由一人操作已經足夠有餘。那多出來的兩人該如何是好?為隊友打氣? 還是準備點心?後來我加入了中大ACM隊,才發現我以往對編程的認識不過是管中窺豹。編程並非 敲鍵盤的玩藝,而是思維的磨練。比賽的題目極具挑戰性,與動手輸入代碼相比,在腦裡構想算法 更耗費時間和精力。在比賽的五小時裡,我們都忙著設計算法,編寫程式,進行除錯,沒有空餘時 間品嚐大會提供的點心。

正因ACM ICPC有著獨特的限制,隊員間的合作更顯得重要。採取每人輪流使用電腦的車輪戰,或是 分成讀題目、想算法、敲鍵盤三階段的流水線,各種策略為比賽的戰局增添了變化。然而,不論使 用哪個計策,三人能否同心並力,能否互補長短,是致勝的關鍵。在準備比賽的過程中,隊員們互 相學習,互相砥礪,進步的速度比獨自埋首苦幹快很多。

在ACM隊的三年間,我有幸代表中大出戰ACM地區預選賽和全球決賽。古色古香的杭州,高樓林立 的台北,千里冰封的哈爾濱,陽光普照的佛羅里達,我得以踏足世界各地,得到各種難能可貴的經 驗。當我們在吉隆坡預選賽(有點僥倖地)解決最後一道難題,那種滿足感是無可比擬的。

習得紮實的編程根基,熟練的解難技巧,良好的協作能力,將來投身資訊科技行業,或是進行有關 計算機科學的研究,自然輕車熟路。今天我已走出中大,踏上研究的征途,仍覺得ACM ICPC的經歷 讓我受益匪淺。當教授有點意外地問我怎麼會懂得一個複雜的算法時,我只能報以淺笑。卡在一道 題目,兩小時的搜腸刮肚,十個Wrong Answer的慘痛教訓,怎可能忘得了。

photo

李卓霆
數學與信息工程雙學位2012年畢業生,中大ACM隊成員,曾於2010及2011年晉身全球決賽,現於美 國史丹福大學攻讀電機工程博士學位

Latest News

April 4, 2019
CUHK ACM Team ranked 12th in the World Finals 2018 held in Porto!
May 25, 2017
CUHK ACM Team ranked 34th in the World Finals 2017 held in South Dakota!
July 3, 2013
CUHK ACM Team ranked 14th in the World Finals 2013 held in Saint Petersburg!
Feb 4, 2013
Link to training page: 2013 Winter Training
Jan 18, 2013
CUHK ACM Team qualifed to World Finals 2013 held in Saint Petersburg!
May 28, 2012
CUHK ACM Team got the rank 8th in World Finals 2012, Warsaw!