Re: [分享] 大家來分享選修課的心得吧

看板b95902HW作者 (易─雪)時間15年前 (2009/07/22 00:47), 編輯推噓2(203)
留言5則, 4人參與, 最新討論串3/4 (看更多)
閑閑沒事 我也來寫一篇好了 先以這學期修的為主:p 課名:高等程式設計 教授:劉邦鋒老師 LeoSW:★★★★★ 上課: 這門課以C and C++ 為主 上課用老師的講義 沒有課本 有些課會需要帶laptop 課程主要分為debug 跟 coding style 跟 演算法三個部份 debug的部份 會拿以前大一C programming時 一些神奇的9分bug 還有各處蒐集來的bug 上課時每個人要帶自己的laptop來練習debug 然後教一些可能會出現的bug 以及從一些徵兆大概怎麼去判斷bug在哪裡 coding style的部份則是經驗談 以討論怎麼寫程式 會讓程式好寫好讀好維護 以及一些C和C++的技巧 如operator overloading跟template programming等等 演算法的部份比較像是大二演算法的複習+實作 主要是講例子 用很多例子來討論演算法的應用 有教DP, Greedy, Divide and conqer, Graph Algorithm, 以及一些NPC問題 上課老師會點同學起來回答問題 不過不算點名 只是想了解同學的學習狀況 節奏對上課不少外系沒修過演算法的同學似乎有點快 上課風格就是P老師風格 有修過他的大一C programming的應該就知道 上課有時候會用到一些高中數學的基礎 不過我想應該也還好 主要是C跟OO跟Algorithm的基礎要有 作業: 第一個作業是拿以前自己覺得coding style不好的code 改過以後用紙本寫一份報告 描述自己改了哪些 為什麼要改 第二、三個作業就是coding 形式跟大一一樣 交到judge girl 一個是Divide and conqer 一個是Greedy (我想之後可能會換別的演算法) 我想難度應該還好 有上課花點時間應該都問題不大 考試: 形式跟大一 C programming 一樣 上機考 這學期考三次 因為老師覺得考多一點大家壓力比較不會太集中 第一次老師覺得大家好像沒有跟上 所以考很簡單 造成太多滿分 第二次老師難度一下子調太高 又造成幾乎大家都落在10~20分 / 50分滿分 第三次成績好像就還好 分布的比較均勻 考試 4題/4hr 或 5題/5hr 環境跟方式都一樣 在judge girl上考 題目會是debug跟演算法為主 分數: 我不確定分數最後怎麼配分的 而且應該有調過分 最後我是拿95 分數大概看過去似乎落差有點大 70多個人好像有10多個人被當 就分數來說 我覺得是有努力就有分就是了 但是似乎也不算太好拿 心得: 這門課修完對C like的language會有相當程度的進步 以及對演算法的應用、programming style等等 我覺得都會有經驗上的進步 對於想要練coding的人應該會是一門不錯的課 至於拿過牌才進來的這門課應該也是一門很涼的課:p 課名:平行程式設計 教授:劉邦鋒老師 LeoSW:★★★★ 這門課由於仍然和Google合作 因此在課程設計上較偏向各種parallel programming language的介紹 當然還是有提到一些parallel programming 的技巧 課程按照四種language來進行: OpenMP, Cuda, MapReduce, MPI 主要就是介紹這些language的用法 特性 以及環境 每種language佔3~5星期不等 沒有用課本 以老師的投影片為主 在介紹完language的特性環境及用法之後 課堂上都會有馬上要練習的coding 每堂課都會有一份派工單 上課前一兩天會放在課程網 在那堂課下課前要繳交派工單紙本 按照派工單的指示完成工作後打勾做記 以及寫下一些實際跑起來的數據 寫上姓名學號後該堂課下課交給助教(不確定有沒有列入成績) 派工單的內容主要是用平行的方法寫一些程式 然後會邊上課邊coding 所以會有一點累 也因此每一堂課都要帶laptop 其中因為MapReduce的部份是跟Google合作 所以會有一個星期是請Google的葉平博士來上課 談的是Google的一些設備、架構 跟MapReduce的Idea 另外由於系上機器不是很充足 加上這門課同時有太多人在共用機器 因此有幾次課 像是Cuda, MapReduce的時候 就發生硬體上的問題而導致上課停擺 這是我沒有把這門課打滿分的一個原因 希望之後修課的人可以有比較好的環境~ 作業&考試: 這門課基本上沒有平時作業也沒有考試 只有上課的每日派工單 跟期末project 所以如果不希望回家以後有大量作業的可以考慮 派工單內容如前所述 期末project則是3~6人一組為原則 期末會有一個星期大家輪流presentation 題目是任何有關平行程式且用上課教的四種language為主 這應該就是這門課的主要成績 至於要做到什麼樣的程度... 我想這門課因為研究生滿多的 所以大體上大家都在有限的時間內 作出很不錯的成果 分數: 這門課分數看了一下 幾乎都落在86~91之間 似乎是以final project為主要依據 大致上只要final project有一定的水準都不會太差 心得: 除了機器上的問題 這門課在上課的時候會很需要注意力 以及coding的速度 如果對自己coding速度比較沒把握 也可以上課前先完成一部份 project的部份 題目選擇適中的就好 我們這組心血來潮跑去問大氣系的教授有沒有合適的題目 因此做了一個跟天氣預測有關的題目 導致最後延後完成 效果也不算太好orz 最後我們這組拿了86 而且之後還會繼續再跟大氣系的合作 如果有心 由於這門課滿偏不同language的熟悉 和parallel programming的應用 因此可以接觸到一些相關應用的議題上 也可以多接觸不同領域會需要parallel programming的部份 最後是這門課因為有project presentation的限制 所以有人數限制 除非實驗室有特別需求才可以額外加入 project如果是用MapReduce可以請葉平博士指導 但是一樣有人數限制(受到Google人力限制) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.204.133.40 ※ 編輯: LeoSW 來自: 203.204.133.40 (07/22 01:07)

07/22 01:59, , 1F
派工單據說少交會扣分. 此外maprduce嚴格來說只有上1星
07/22 01:59, 1F

07/22 01:59, , 2F
期而已..另外1星期聽葉博士演講, 另外1星期看機器起乩xD
07/22 01:59, 2F

07/22 08:26, , 3F
把標題換成是那一門課的課名會不會比較好呢?
07/22 08:26, 3F

07/22 09:07, , 4F
樓上這樣標題似乎會有點長 之後再合成一篇?
07/22 09:07, 4F

07/24 01:25, , 5F
)有看有推
07/24 01:25, 5F
文章代碼(AID): #1APV4JnV (b95902HW)
文章代碼(AID): #1APV4JnV (b95902HW)