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



本次網頁修訂日期: 6/29/2009

公告:

  • 學期成績公佈, 將於7/1下午1:30送出, 有問題速洽任課教師
  • 期末考成績與參考解答公佈
  • 注意5/16(六)下午2:20~5:20補6/5課, 5/23(六)下午2:20~5:20補5/29課
  • 特聘助教供同學問問題
  • 期中考成績與參考解答公佈
  • 考古題請參考 去年前年網站之期中考與期末考解答
  • 作業及書面報告請印出紙本, 於規定時限內繳交, 除非情況特殊, 勿交電子檔.
  • 本課程為通識課,某些系可能不承認學分.修課同學請向所屬系辦詢問確認.
  • 欲尋找期末專題合作組員之同學, 可email給任課教師, 在本網頁公告.
  • 歡迎提供投影片, 講義, 及教學方式之改進意見, 請直接email給任課教師.

    下載講義與教材:

    教學計畫  (PowerPoint2003 ppt 檔, 1.00MB) (updated: 2/18/2009)
    BlackJack程式  (WinRAR ZIP 壓縮檔, 1,868KB) (updated: 2/7/2009)

    整合發展環境初步與簡易C#程式  (PowerPoint2003 ppt 檔, 391KB) (updated: 2/16/2009)
    整合發展環境初步與簡易C#程式講義  (Adobe Acrobar pdf 檔, 1.09MB) (updated: 2/16/2009)

    實值變數與運算式  (PowerPoint2003 ppt 檔, 896KB) (updated: 2/26/2009)
    程式原始碼UsingVariable.Program.cs  (C# cs 檔, 521B) (updated: 1/30/2009)
    程式原始碼UsingNumeric.Program.cs  (C# cs 檔, 574B) (updated: 1/30/2009)
    程式原始碼UsingChar.Program.cs  (C# cs 檔, 597B) (updated: 1/30/2009)
    程式原始碼Conversion.Program.cs  (C# cs 檔, 640B) (updated: 1/30/2009)
    程式原始碼UsingMathOperator.Program.cs  (C# cs 檔, 721B) (updated: 1/30/2009)
    程式原始碼UsingMathFunctions.Program.cs  (C# cs 檔, 669B) (updated: 1/30/2009)
    程式原始碼UsingConstant.Program.cs  (C# cs 檔, 739B) (updated: 1/30/2009)
    程式原始碼UsingInDeOperator.Program.cs  (C# cs 檔, 1.26KB) (updated: 1/30/2009)
    程式原始碼UsingLB.Program.cs  (C# cs 檔, 739B) (updated: 1/30/2009)
    程式原始碼UsingSimpleIf.Program.cs  (C# cs 檔, 539B) (updated: 1/30/2009)
    程式原始碼UsingTerOp.Program.cs  (C# cs 檔, 488B) (updated: 1/30/2009)
    程式原始碼UsingEnum.Program.cs  (C# cs 檔, 1.09KB) (updated: 1/30/2009)

    物件導向虛擬程式設計  (PowerPoint2003 ppt 檔, 1.24MB) (updated: 3/6/2009)
    物件導向虛擬程式設計講義  (Adobe Acrobar pdf 檔, 423KB) (updated: 4/10/2009)

    物件與類別  (PowerPoint2003 ppt 檔, 382KB) (updated: 3/13/2009)
    物件與類別補充說明  (PowerPoint2003 ppt 檔, 656KB) (updated: 3/19/2009)
    物件與類別綱要  (PowerPoint2003 ppt 檔, 427KB) (updated: 3/20/2009)
    物件與類別範例程式方案  (WinRAR ZIP 壓縮檔, 434KB) (updated: 3/9/2009)
    二十一點遊戲v0.1UML圖  (PowerPoint2003 ppt 檔, 301KB) (updated: 4/10/2009)

    流程控制  (PowerPoint2003 ppt 檔, 448KB) (updated: 3/9/2009)
    流程控制範例程式方案  (WinRAR ZIP 壓縮檔, 363KB) (updated: 2/28/2009)

    期中考參考解答  (Adobe Acrobar pdf 檔, 201KB) (updated: 4/23/2009)

    陣列與簡單檔案讀寫  (PowerPoint2003 ppt 檔,419KB) (updated: 4/13/2009)
    陣列與簡單檔案讀寫範例程式方案  (WinRAR ZIP 壓縮檔, 389KB) (updated: 3/9/2009)

    繼承與多型  (PowerPoint2003 ppt 檔, 490KB) (updated: 4/13/2009)
    繼承與多型範例程式方案  (WinRAR ZIP 壓縮檔, 467KB) (updated: 3/21/2009)

    基礎視窗程式設計  (PowerPoint2003 ppt 檔, 1.22MB) (updated: 4/20/2009)
    基礎視窗程式設計範例程式方案  (WinRAR ZIP 壓縮檔, 4.06MB) (updated: 4/20/2009)

    例外處理與物件序列化  (PowerPoint2003 ppt 檔, 287KB) (updated: 5/18/2009)
    例外處理與物件序列化範例程式方案  (WinRAR ZIP 壓縮檔, 134KB) (updated: 5/18/2009)

    Collections與應用  (PowerPoint2003 ppt 檔, 609KB) (updated: 5/18/2009)
    Collections與應用  (WinRAR ZIP 壓縮檔, 2.01MB) (updated: 5/18/2009)

    期末考參考解答  (Adobe Acrobar pdf 檔, 245KB) (updated: 6/24/2009)

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

  • 助教: 張凱翔, 博理館618, email: cash924n@yahoo.com.tw, Office Hours: 星期二及星期三下午5:30~6:30

  • 上課時間地點: 星期五第六,七,八節(校計中212教室)

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

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

  • 預修課程: 無

  • 課程編號: 90160200

  • 課程網址: http://cc.ee.ntu.edu.tw/~skjeng/ComputerProgramming2009Spring.htm
  • 去年課程網址(供參考): http://cc.ee.ntu.edu.tw/~skjeng/ComputerProgramming2008Spring.htm

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

  • 教科書:
            自編投影片, 上課使用Visual C# Express 2008軟體, 此一軟體在家自行練習可由微軟網站免費下載.
            市售C#入門書籍均可參考, 但注意本課程授課順序與大多數書籍不同.

  • 課程內容概要:

    1. 整合發展環境初步與簡易C#程式
    2. 實值變數與運算式
    3. 物件導向虛擬程式設計
    4. 物件與類別
    5. 流程控制
    6. 陣列與簡單檔案讀寫
    7. 繼承與多型
    8. 例外處理與物件序列化
    9. 基礎視窗程式設計
    10. Collections與應用
    11. 運算子多載


  • 任課教師辦公室會面時間: 請一週前以電子郵件預約(email address: skjeng@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分,遲交依規定扣分.評分要點為構想及動機之說明及UML圖 是否清楚,程式測試規畫是否完整,程式註解是否清楚適當,程式是否簡潔易讀,程式是否完成,學習心得是 否言之有物等.同學若自修或向學長學得超過課程進度之內容,並應用於作業,可敘明過程於學習心得部份, 當酌於加分

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


  • 期中考訂於四月十七日(星期五)原上課時間在原教室舉行,範圍為第一章至前一週進度

  • 期末考於六月十九日(星期五)下午原上課時間於原上課教室舉行, 範圍為期中考所考範圍之後的部分,


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

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

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


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


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



  • 課程進度表

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

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

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


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

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

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


     

    週次 日期 預定進度 實際進度 作業繳交及討論進度 備註
    1 2/20 教學計畫,第一章,第二章 教學計畫,第一章    
    2 2/27 第二章, 第三章 第二章 指定第一次作業  
    3 3/6 第三章, 第四章 第二章, 第三章    
    4 3/13 第四章 第三章, 第四章     
    5 3/20 第四章 第四章 繳交並討論第一次作業, 指定第二次作業   
    6 3/27 第五章 第四章     
    7 4/3          溫書假  
    8 4/10 第六章 第五章(至投影片p.28)  繳交期末專題分組名單  
    9 4/17   期中考 
    10 4/24 第六章 第六章  繳交並討論第二次作業, 指定第三次作業,  
    11 5/1 第七章 第六章  交期末專題構想書  
    12 5/8 第七章 第六章, 第七章     
    13 5/15 第七章 第七章    
      5/16 第九章 第七章, 第九章 補6/5課(下午2:20~5:20上課)
    14 5/22 第九章 第九章  繳交並討論第三次作業   
      5/23 第八章 第八章 補5/29端午節調整放假課(下午2:20~5:20上課)
    15 5/29         端午節調整放假, 於5/23補課
    16 6/5         任課教師出國開會, 於5/16補課
    17 6/12 第十章 第十章     
      6/19   期末考 
      6/26   期末專題發表會 


  • 分組名單

    組別 姓名 期末程式主題
    1 黃乾溢  
    2 黃煜翔 小型撲克麻將
    3 許彥文 UNO牌遊戲
    4 林均憲  
    張庭蓉  
    5 劉豐宇 MLB棒球經理人遊戲
      楊松蒲  
    6 劉于彰  
      陳昱融  
      張瑋至  
    7 李繼良 打磚塊遊戲
      李政緯  
      洪珮瑜  
    8 劉炯廷 棋盤戰略遊戲
      葉柏廷  
    9 陳星谷 炸彈超人
      傅傳修  
    10 郭思妤  戰鬥小遊戲
    11 吳丰  
    12 吳楷軒  
    13 蘇億城  
    14 牛柏堯  
      莫家奎  
      許明翰  
    15 劉家宏  
    16 許又仁  
      徐嘉鴻  
      王逸群  
    17 梁智程  
      陳稚翔  
      林承翰   
    18 林書羽  
      陳毅瑾  


  • 成績紀錄

    下列成績中, 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%) 學期成績
    B96201018 A A A+ 94 93 4.263157895 A++ 95
    B95201015 A+ A+ A+ 89 92 4.851851852 A++ 95
    B95201053 A+ A+ A+(遲交, 14:56) 93 93 4.619047619 A++ 94
    B93201025 A- 缺交 停修 缺考        
    B93201059 缺交 缺交 缺交 缺考 缺考 缺席 缺交 0
    B94201002 A+ A+ A 86 77 3.684210526 A++ 90
    B94202068 A+(遲交, 15:45, 程式碼準時交) A+(討論時不在, 16:35~下課) A+(討論時不在, 16:46~下課) 77 83 2.684210526 A (遲交, 6/29 看到) 83
    B96204014 A A A 94 82 3.222222222 A 90
    B96204015 A A- A 87 48 3.222222222 A 82
    B96207011 A- A A+ 87 64 3.6 A 86
    B97209035 A A A 78 57 2.136363636 A- 80
    B97209039 A-(討論時不在) A- A- 88 49 2.136363636 A- 79
    B96209013 A-(遲交, 3/21上午9:21看到) 缺交 A(遲交, 17:25) 72 74 2.8125 A (遲交, 6/28上午看到) 67
    B95501098 A+ A(遲交, 14:47) 缺交 98 65 3.47826087 A+ 78
    B97401027 A+ A+ A+ 83 73 4.851851852 A++ 90
    B94502050 缺交 缺交 停修 缺考        
    B94502051 A+ A A- 79 64 4.285714286 A+ (遲交,14:50) 83
    B94502054 A- A A- 88 59 4.285714286 A+ (遲交,14:50) 83
    B94502096 A+ A+ A+ 94 83 4.285714286 A+ (遲交,14:50) 91
    R97522627 A A A 94 65 2.88 A 87
    R97522634 A- A A- 74 28 2.88 A 74
    R97522642 A A A- 88 62 2.88 A 84
    B94601011 A- A A+ 91 55 2.136363636 A- 83
    B96607040 退選              
    B95702062 A- A- A 88 77 3.47826087 A+ 88
    B96703090 A+ A+ A+ 93 77 4.222222222 A+ (遲交, 15:00) 90
    B97703028 A A A- 90 70 4.222222222 A+ (遲交, 15:00) 86
    B97703037 A- A- A 88 49 3.32 A 82
    B97703065 A+ A+ A- 93 83 3.32 A 91
    B97703073 A- A- A- 87 57 3.32 A 82
    B95703022 退選              
    B94703010 缺交 缺交 缺交 缺考 缺考 缺席 缺交 0
    B96704054 A-(討論時不在) 缺交 停修 缺考        
    B97A01322 A- A+ A+ 80 7 2.631578947 A- 72
    B97B01077 A+ A+ 缺交 78 66 3.6 A 76
    B95B01073 A A A 95 90 4 A+ 93
    B95B01083 A(遲交, 15:24) A+(遲交, 14:44) A 78 77 4.619047619 A++ 86
    B94B01100 A(遲交, 3/23上午10:42看到) A- A 89 43 3.181818182 A 77
    B97B02010 A-(遲交, 15:17) A A+ 93 81 4.619047619 A++ 91
    B96B02049 A-(遲交, 17:20) 缺交 缺交 77 71 缺席 缺交 36