※ 本文是否可提供臺大同學轉作其他非營利用途?(須保留原作者 ID)
(是/否/其他條件):
是
哪一學年度修課:
103-1
ψ 授課教師 (若為多人合授請寫開課教師,以方便收錄)
丁培毅
λ 開課系所與授課對象 (是否為必修或通識課 / 內容是否與某些背景相關)
數學系大一必修
δ 課程大概內容
按週次排序如下:
課程簡介,認識C語言、程式設計概觀、第一個C程式、程式編寫及測試環境介紹
C語言的基本語法、關鍵字 vs. 識別字、程式碼錯誤
變數概念、變數型態、資料表示法、與資料的轉換
標準函式庫,格式化輸出printf與格式化輸入scanf
運算式與運算子、運算子的優先順序、強制的資料型態轉換
結構化程式設計、迴圈控制
條件控制敘述,迴圈綜合應用
區塊、函數、參數傳遞
字串處理
指標運用
遞迴
使用者自定資料型態 - struct, enum
文字資料與二進位資料之檔案輸出入
指標與動態記憶體使用
其他程式設計相關事項,大型程式開發,位元處理,物件導向程式設計
另外,老師上課會準備一些關於遞回及迭代演算法的內容
Ω 私心推薦指數(以五分計) ★★★★★
★★★★★
η 上課用書(影印講義或是指定教科書)
洪維恩,C語言教學手冊,第四版,旗標
μ 上課方式(投影片、團體討論、老師教學風格)
前二節以投影片作為授課內容
內容即為課本重點
會一邊說明並附上實際應該如何操作(有些書本內容有誤)
第三節則是上機實習
會講解程式應用方面應如何處理
並讓同學在測試程式過程有任何問題均可問助教或老師
σ 評分方式(給分甜嗎?是紮實分?)
作業 15%
實習 15%
期末考 30%
課程參與 10% (隨堂考試/提問)
期中考 30%
實習方面不清楚
課程參與似乎就是二次點名外加一次突襲(?)小考
作業只要程式輸出正確就有A 而程式碼再符合要求就有A+
期中考出了較多形式的題目 總共143分(但超過100分以100分計)
大概是希望大家趁現在多拿分數吧XD (註:平均67.54分;100分以上5人)
期末考則是滿分100分 主要考陣列 指標 遞迴演算法撰寫
較期中考難上許多 但改得較寬鬆 (註:平均39.90分;80分以上3人)
綜合來說是紮實分 認真練習 肯下功夫就可以拿好成績
ρ 考題型式、作業方式
期中考、期末考已在上面講過,不再贅述
實習以上機時的課程之相關內容作為練習
作業則是須繳交程式檔案外加word檔的說明文件
這學期的作業包括:
一、模擬執行一個小算盤
只要能應用 if & while 就可輕鬆寫完這個程式
二、m x n 矩陣的 QR Decomposition (Gram-Schimidt and modified one)
這次作業稍微複雜 需先看得懂題目要求什麼XD
再應用迴圈與陣列設計兩種演算法 並比較其正交性(orthogonality)
另有一加分題 (Householder Reflection Transformation)
三、Mathdoku Puzzle
這次較為有趣 是要設計出能夠解Mathdoku(算獨)的程式
須應用陣列與遞迴演算法 關鍵在如何判斷該填什麼數字與如何往前修正
利用暴力演算法運算 另外加分題則是要解出沒有指定算術符號的Puzzle
ω 其它(是否注重出席率?如果為外系選修,需先有什麼基礎較好嗎?老師個性?
加簽習慣?嚴禁遲到等…)
點名採隨機制 似乎不太重出席率
應該不需任何基礎(我就沒有XD) 因為教的就是C語言的基礎...
老師的個性相當溫和 同學遇到什麼問題都很樂意幫忙解決
似乎第一周時要加簽的都有加簽
Ψ 總結
老師上投影片的內容時略嫌無聊 但偶然就會提醒大家容易犯錯的重點
但在分析遞迴與迭代演算法處則相當精彩
只不過接近期末幾周 講解較瑣碎的內容時又回歸原始了囧"
對於我這個初碰程式的人來說真的是獲益良多
我認為若認真寫實習、作業 應該能在這學期訓練出紮實的基礎
推薦想學好程式設計基礎的來修課唷