(通識)計算機程式
(Computer Programming)
九十九學年度第二學期



本次網頁修訂日期: 4/17/2012

公告:

  • 學期成績公佈於後, 有問題請儘快通知任課老師. 成績將於7月4日下午2時送出
  • 期末專題展示會口頭報告與展演程式時, 每組利用Power Point報告並展演程式10分鐘. 報告順序臨時抽籤決定. 建議各組在口頭報告開始前先行將Power Point檔及程式輸入教室中之教師用主電腦(亦可接用自己電腦, 但請提早來測試). 臨時自網路或光碟, 隨身碟, 磁碟等輸入程式者, 輸入所需時間均計入各組所分配之時間內.


  • 期末專題展示會時各組另須於展示會開始二十分鐘內交來書面報告一份, 逾時須於 7月4日中午十二時前補交,且成績打八五折. 書面報告應比照正式學術報告格式撰寫, 包含摘要(Abstract), 緒論(Introduction), 本文(至少須涵括研究動機, 相關之課程章節, 文獻回顧, 理論說明, 實作程式架構, 研究過程, 程式輸出, 與學習心得等內容, 並適當註明引用文獻), 結論(Conclusions), 參考文獻(References).
  •  7月4日中午十二時後繳交者不予計分.

  • 期末考參考答案公佈
  • 期中考及第二次作業成績公佈, 如有問題請速向任課教師及助教反應
  • 期中考參考答案公佈
  • 期中及期末考均為Open Book, 同學可攜帶任何紙本資料, 但不可攜帶使用電腦(Computer)或計算器(Calculator),  亦不能借閱他人所攜資料

    下載教材:

    教學計畫與C#簡介 (ppt 檔, 5.52 MB) (updated: 2/16/2011)
    示範音樂1 (wma 檔, 1.4 MB) (updated: 2/16/2011)
    示範音樂2 (wma 檔, 1.29 MB) (updated: 2/16/2011)
    BlackJack程式  (WinRAR ZIP 壓縮檔, 1,868KB) (updated: 2/7/2009)


    整合發展環境初步與簡易C#程式 (ppt 檔, 497 KB) (updated: 2/16/2011)
    整合發展環境初步與簡易C#程式 範例程式  (WinRAR ZIP 壓縮檔, 77KB) (updated: 2/16/2011)


    實值變數與運算式 (ppt 檔, 338 KB) (updated: 2/16/2011)
    實值變數與運算式 範例程式  (WinRAR ZIP 壓縮檔, 259KB) (updated: 2/16/2011)

    流程控制 (ppt 檔, 276 KB) (updated: 3/3/2011)
    流程控制 範例程式  (WinRAR ZIP 壓縮檔, 346KB) (updated: 3/3/2011)
    虛擬碼及程式實作範例:質數檢驗 (txt 檔, 1.86 KB) (updated: 3/28/2011)

    陣列 (ppt 檔, 464 KB) (updated: 3/15/2011)
    陣列 範例程式  (WinRAR ZIP 壓縮檔, 370KB) (updated: 3/15/2011)

    函式 (ppt 檔, 468 KB) (updated: 4/1/2011)
    函式 範例程式  (WinRAR ZIP 壓縮檔, 244KB) (updated: 4/1/2011)

    程式規劃與函式導向程式設計 (ppt 檔, 971 KB) (updated: 4/6/2011)
    程式規劃與函式導向程式設計 範例程式  (WinRAR ZIP 壓縮檔, 158KB) (updated: 4/6/2011)


    期中考試題 (pdf 檔, 139 KB) (updated: 4/17/2012)
    期中考參考解答 (pdf 檔, 148 KB) (updated: 5/3/2011)


    期末考試題 (pdf 檔, 210 KB) (updated: 4/17/2012)
    期末考參考解答 (pdf 檔, 251 KB) (updated: 7/4/2011)


    物件與類別 (ppt 檔, 449 KB) (updated: 4/15/2011)
    物件與類別 範例程式  (WinRAR ZIP 壓縮檔, 563KB) (updated: 4/15/2011)


    物件導向程式設計 (ppt 檔, 976 KB) (updated: 5/9/2011)
    物件導向程式設計 範例程式  (WinRAR ZIP 壓縮檔, 241KB) (updated: 5/9/2011)


    繼承與多型 (ppt 檔, 718 KB) (updated: 5/16/2011)
    繼承與多型 範例程式  (WinRAR ZIP 壓縮檔, 241KB) (updated: 5/16/2011)


    基礎視窗程式設計 (ppt 檔, 1.14 MB) (updated: 5/31/2011)
    基礎視窗程式設計 範例程式  (WinRAR ZIP 壓縮檔, 4,397KB) (updated: 5/31/2011)



    檔案讀寫與例外處理 (ppt 檔, 350 KB) (updated: 6/16/2011)
    檔案讀寫與例外處理 範例程式  (WinRAR ZIP 壓縮檔, 436KB) (updated: 6/16/2011)



    第一週回家練習題目 (txt 檔, 106B) (updated: 2/23/2011)

    第一週回家練習參考解答 (txt 檔, 318B) (updated: 3/4/2011)

     

    第二週回家練習題目 (txt 檔, 159B) (updated: 3/2/2011)

    第二週回家練習參考解答 (txt 檔, 496B) (updated: 3/11/2011)

     

    第三週回家練習題目 (txt 檔, 393B) (updated: 3/11/2011)

    第三週回家練習參考解答 (txt 檔, 832B) (updated: 3/18/2011)

     

    第四週回家練習題目 (txt 檔, 278B) (updated: 3/18/2011)

    第四週回家練習參考解答 (txt 檔, 475B) (updated: 3/25/2011)

     

    第五週回家練習題目 (txt 檔, 927B) (updated: 3/25/2011)

    第五週回家練習參考解答 (txt 檔, 4.5KB) (updated: 4/1/2011)

     

    第六週回家練習題目 (txt 檔, 781B) (updated: 4/6/2011)

    第六週回家練習參考解答 (txt 檔, 7.39KB) (updated: 4/8/2011)

     

    第七週回家練習題目 (txt 檔, 2.12KB) (updated: 4/8/2011)

    第七週回家練習參考解答 (txt 檔, 7.39KB) (updated: 4/15/2011)

     

    第八週回家練習題目 (txt 檔, 2.12KB) (updated: 4/15/2011)

    第八週回家練習參考解答 (txt 檔, 2.09KB) (updated: 4/18/2011)

     

    第十一週回家練習題目 (txt 檔, 458B) (updated: 5/6/2011)

    第十一週回家練習參考解答 (txt 檔, 1.01KB) (updated: 5/13/2011)

     

    第十二週回家練習題目 (txt 檔, 1.98KB) (updated: 5/13/2011)

    第十二週回家練習參考解答 (txt 檔, 2.81KB) (updated: 5/20/2011)

     

    第十三週回家練習題目 (txt 檔, 379B) (updated: 5/20/2011)

    第十三週回家練習參考解答 (pdf 檔,138KB) (updated: 5/27/2011)

     

    第十四週回家練習題目 (txt 檔, 736B) (updated: 5/27/2011)

    第十四週回家練習參考解答 (txt 檔,1.87KB) (updated: 6/3/2011)

     

    第十五週回家練習題目 (txt 檔, 670B) (updated: 6/3/2011)

    第十五週回家練習參考解答 (txt 檔,2.13KB) (updated: 6/10/2011)

     

    第十六週回家練習題目 (pdf 檔, 157KB) (updated: 6/10/2011)

    第十六週回家練習參考解答 (WinRAR ZIP 壓縮檔,106KB) (updated: 6/17/2011)

     

     

     

     

     

  • 授課教師: 鄭士康  (電機二館545室)

  • 助教: 管慶鈞(電信所碩一),  email: domoanddomo(at)gmail.com, Office Hours: 星期四第5節, 星期五第9節(上課後一小時), 請事先以email連繫

  • 上課時間地點: 星期五第6,7,8節於校計算機中心212電腦教室

  • 學分數: 2 (大學部學生通識教育課程, 自備個人電腦, 亦可使用計中電腦教室)

  • 注意:本課程將須投入甚多時間撰寫程式, 課業繁重同學請慎重考慮

  • 預修課程: 無

  • 課程編號: EE4052

  • 課程網址: http://cc.ee.ntu.edu.tw/~skjeng/ComputerProgramming2011Spring.htm
  • 近年課程網址(供參考): http://cc.ee.ntu.edu.tw/~skjeng/ComputerProgramming2010Spring.htm

                                                http://cc.ee.ntu.edu.tw/~skjeng/ComputerProgramming2009Spring.htm

                                                http://cc.ee.ntu.edu.tw/~skjeng/ComputerProgramming2008Spring.htm

                                                http://cc.ee.ntu.edu.tw/~skjeng/ComputerProgramming2007Spring.htm

  • 課程目標: 訓練學生能夠利用C#語言寫作計算機程式,並從中培養解決問題之規畫、邏輯與偵錯能力,及呈現過程與結果之表達能力

  • 教科書:
            自編投影片, 上課使用Visual C# Express 2008軟體, 此一軟體在家可由微軟網站免費下載.自行練習亦可使用如     Visual C# Express 2010等其他版本
            市售C#入門書籍均可參考.
      除各章投影片Power Point講義外, 課程2~11章另發解說講義, 為任課教師編寫中之教科書的部份內容.

  • 課程內容概要: 以C#為例, 由基本觀念循序漸近, 介紹計算機程式的語法與程式撰寫要領. Part I 前半適合初學者. Part II引入物件觀念後, 則程度較好同學亦能有所收獲. 主要內容分章如下:

    1.教學計畫與C#簡介

    Part I. 函式
    2.整合發展環境初步與簡易C#程式
    3.實值變數與運算式
    4.流程控制
    5.陣列
    6.函式
    7.程式規劃與函式導向程式設計

    Part II. 物件
    8.物件與類別
    9.物件導向程式設計
    10.繼承與多型
    11.檔案讀寫與例外處理
    12.基礎視窗程式設計

  • 任課教師辦公室會面時間: 請一週前以電子郵件預約(email address: skjeng(at)ew.ee.ntu.edu.tw)


  • 成績計算方法:  期中考 20% + 作業 30% + 期末考 20% + 期末程式書面報告 15% + 期末程式口頭報告及展演 15%

  • 作業每次每人繳交一份, 不可多人合交. 如為多人合作, 亦須分開撰寫不同內容

  • 作業及書面報告請印出紙本, 於規定時限內繳交, 除非情況特殊, 勿交電子檔.


  • 作業內容及評分要點:  三次作業均不指定題目,由同學自行依興趣選擇作業主題,亦可配合期末專題,作 為其先期嘗試或構成其一部份.交來之作業須以書面介紹選擇題目之動機,構想解說,程式測試規畫, 結構圖或UML圖, 程式列表, 程式測試執行結果,學習心得,參考文獻等.作業以 A+ = 97.5, A = 92.5, A- = 87.5, B+ = 82.5, B = 77.5, B- = 72.5 等評分, 缺交為0分,遲交依規定扣分.評分要點為構想及動機之說明及相關圖形 是否清楚,程式測試規畫是否完整,程式註解是否清楚適當,程式是否簡潔易讀,程式是否完成,學習心得是 否言之有物等.同學若自修或向學長學得超過課程進度之內容,並應用於作業,可敘明過程於學習心得部份, 當酌予加分

  • 繳交作業日當天為作業討論,抽籤決定同學上台說明作業內容


  • 期中考於4/22原上課時間在原教室舉行,範圍為第一章至前一週進度

  • 期末考於6/24原上課時間於原上課教室舉行, 範圍為期中考所考範圍之後的部分,


  • 期末程式可以一至三人一組完成, 注意慎選夥伴, 若有重大合作困難, 請及早反應處理

  • 7月1日下午2:20~6:00 於原教室舉行期末程式成果發表會,每組屆時須繳交完整書面報告一份,並
    口頭報告與展演程式.書面報告成績由教師評定,口頭報告與展演程式成績則同學相互評分.

  • 口頭報告與展演程式時, 每組利用Power Point報告並展演程式10分鐘. 報告順序臨時抽籤決定. 建議各組在口頭報告開始前先行將Power Point檔及程式輸入教室中之教師用主電腦(亦可接用自己電腦, 但請提早來測試). 臨時自網路或光碟, 隨身碟, 磁碟等輸入程式者, 輸入所需時間均計入各組所分配之時間內.


  • 期末專題展示會時各組另須於展示會開始二十分鐘內交來書面報告一份, 逾時須於 7月4日中午十二時前補交,且成績打八五折. 書面報告應比照正式學術報告格式撰寫, 包含摘要(Abstract), 緒論(Introduction), 本文(至少須涵括研究動機, 相關之課程章節, 文獻回顧, 理論說明, 實作程式架構, 研究過程, 程式輸出, 與學習心得等內容, 並適當註明引用文獻), 結論(Conclusions), 參考文獻(References).
  •  7月4日中午十二時後繳交者不予計分.


    除非考卷或作業批改登記發生錯誤,絕不更改成績



  • 課程進度表

    作業及期末專題書面報告須在預定繳交日
    第一節上課二十分鐘內繳交,
    逾時補交者其成績將乘以0.85之n次方

    (繳交時限截止至作業討論前n=1,

    討論開始至第二天下午2:40 n=2, 隨後每天下午2:40開始遞增n)


    繳交作業日當天第三節為作業討論,抽籤決定同學上台說明作業內容

    (作業討論抽到的同學若未事先請假, 又不在教室內, 作業成績先九五折,

    隨後由抽到之時間至該同學出現或下課, 每十分鐘將該份作業成績乘以0.95一次)

    週次 日期 預定進度 實際進度 作業繳交及討論進度 備註
    1 2/25 第1,2章 第1,2章    
    2 3/4 第2,3章 第2,3章 指定第一次作業  
    3 3/11 第3,4章 第3,4章    
    4 3/18 第4,5章 第4章    
    5 3/25 第5章 第4,5章 繳交並討論第一次作業, 指定第二次作業   
    6 4/1 第5,6章 第5章    
    7 4/8 第6章 第5,6章    
    8 4/15 第6,7章 第6,7章 繳交期末專題分組名單  
    9 4/22   期中考 
    10 4/29 第7,8章 第7章 繳交並討論第二次作業, 指定第三次作業  
    11 5/6 第8章 第8章 繳交期末專題構想書  
    12 5/13 第8,9章 第8,9章    
    13 5/20 第9,10章 第9章    
    14 5/27 第10章 第10章至10.4  繳交並討論第三次作業   
    15 6/3 第10章至10.8, 第12章  第10章至10.8, 第12章至12.3 第11章自行閱讀講義, 但仍列入考試範圍  
    16 6/10 第12章        第12章       
    17 6/17 10.9~10.15 10.9, 10.11~10.15 李志洋同學提前專題報告
    10.10節略過, 期末考不考
     
      6/24   期末考 
      7/1   期末專題發表會 


  • 分組名單

    組別 姓名 期末程式主題
    1 劉沛滕 蘋果棋
    2 簡捷 遊戲機:貪食蛇+踩地雷
    張瀞云
    3 張家瑋 賭場(孵蛋、排七、梭哈、抽鬼牌)
    張傑閔
    宋雯琳
    4 劉冠廷 棒球比賽數據資料庫
    李昕叡
    林奧倫
    5 蘇鈺婷 大富翁
    王景權
    許杏如
    6 劉芝詠 配色大師
    賈媛
    陳昀暄
    7 秦宇 RPG角色扮演遊戲(笑李飛刀)
    許惟凱
    8 李志洋 以C#編寫數獨程序
    9 李宗晉 炸彈攔截與相對論
    10 陳仰恩 猜謎遊戲
    廖泓傑
    11 趙偉嘉 視窗程式版Hangman遊戲
    12 梁蕓茗 視窗版井字遊戲
    13 徐銘谷 第二次世界大戰
    14 史懷鈞 TXT檔案加密與解密
    15 吳敬庭 買賣業會計系統
    林聰翰
    16 林承聖 極簡易版植物大戰僵屍(Plants vs Zombies)


  • 成績紀錄

    下列成績中, A++ = 99, A+ = 97.5, A = 92.5, A- = 87.5, B+ = 82.5, B = 77.5, B- = 72.5, 缺交 = 0

    期末程式口頭報告及展演由同學相互評分

    期末程式口頭報告及展演為1分至5分(x), 換算得分為 70+5x , 缺席為0分

    遲交作業或報告每逾n日即以成績乘以0.85之n次方計分

    (繳交時限截止至作業討論前n=1,

    討論開始至第二天下午2:30 n=2, 隨後每天下午2:30開始遞增n)

    (作業討論抽到的同學若未先請假, 又不在教室內, 作業成績先九五折,

    隨後由抽到之時間至該同學出現或下課, 每十分鐘將該份作業成績乘以0.95一次.)

    學期成績=作業一*0.1+作業二*0.1+作業三*0.1+期中考*0.2+期末考*0.2+ 期末口頭報告*0.15+期末書面報告*0.15

    學期成績小數點以下無條件進位之後, 依學校規定方式由百分制轉為等第

    以下列出之成績均為尚未打折換算之原始成績

    學號 作業一(10%) 作業二(10%) 作業三(10%) 期中考(20%) 期末考(20%) 期末專題口頭報告(15%) 期末專題書面報告(15%) 學期成績(百分制) 學期成績(等第制)
    B98101004 A+ 停修
    B98101045 A 停修 43
    B97101081 A B B+ 46 38 4.15 A+ 71 B-
    B98102029 A(九折) A+ 缺交 49 35 3.33333333333333 A 62 C-
    B98102082 A+ A+ (遲交, 15:10) A- 90 89 3.56521739130435 A+ 91 A+
    B96103018 缺交 缺交 停修 缺考
    B98107047 A B+ A- 37 38 2.8125 A+ 69 C+
    B96107006 缺交 缺交 缺交 缺考 缺考 缺席 缺交 0 F
    B98202030 A A+(遲交, 14:42) A+ 80 74 4.41666666666667 A 86 A
    B99203049 A+ A A 70 84 4.09523809523809 A+ 88 A
    T99203102 A A A 69 63 3.2 A+ 82 A-
    B98207020 A (遲交, 14:46) A+ (遲交, 14:47) 缺交 61 66 2.57142857142857 A- (遲交, 7/4) 66 C
    B96209011 A+ A+ A+ 91 95 3.90909090909091 A+ 95 A+
    B99302306 缺交 缺交 缺交 缺考 缺考 缺席 缺交 0 F
    B98303036 A+ 缺交 停修 缺考
    B96404009 A+ A+ A+ 96 90 3.5 A+ 95 A+
    B96404022 A A A-(遲交, 5/30, 15:09) 57 69 3.5 A+ 77 B+
    B96404037 A A- A- 58 62 3.5 A+ 79 B+
    R98527018 A- A- 缺交 82 89 2.80952380952381 A- 78 B+
    B97601005 A+(遲交, 15:00) A+(遲交, 16:07) 缺交 72 58 1.92857142857143 A- 60 C-
    B97703008 A+ A+ A 83 72 3.33333333333333 A 87 A
    B97703052 A A+ A 41 27 3.76923076923077 A 70 B-
    B97703064 A A A+ 49 28 3.33333333333333 A 71 B-
    B97703084 A+ A+ A 83 104 3.76923076923077 A 94 A+
    B97703101 A A+ A+ 82 92 3.33333333333333 A 91 A+
    B96703097 缺交 缺交 停修 缺考
    B96703118 A A+ A- 83 91 3.56521739130435 A+ 91 A+
    B96704005 缺交 停修
    R99724023 A+ A- A(遲交, 6/3, 14:30) 99 100 2.80952380952381 A- 87 A
    B96801052 A+ A+ A- 55 56 4.09523809523809 A+ 79 B+
    B97A01109 A (遲交, 14:45) A A- 54 51 2.38461538461538 A- 73 B
    B98A01212 缺交 缺交 停修 缺考
    B99A01303 A+ A A- 86 94 4.15 A+ 92 A+
    B99B01038 缺交 缺交 缺交 41 缺考 缺席 缺交 9 F
    B99B01047 A+ A+ A- 77 95 4.15 A+ 91 A+
    B99B01062 A+ (遲交, 15:12) A+ A+ 100 99 2.8125 A+ 87 A
    B99B01065 A+ A+ A+(遲交, 14:54) 93 104 4.72222222222222 A+ 96 A+
    B97613007 A+ A+ A+ 66 60 3.76923076923077 A 82 A-