這是2016年秋季學期和北京工業大學耿丹學院合作教學的計划。這也可以用於其他學校的 C 語言課程。
2016級有四個班,每班大約 32 人,每班配有一個有一定實際工作經驗的助教,配合老師把課教好。
C語言是一門基礎課, 是耿丹學院新生的第一門專業課,(為何第一門課安排C 語言?這個超出了本文的討論范圍)本文的主題是 - 談談有工業界經驗的助教能給這門課帶來什么新東西呢?下面是一些我們要在這個學期實現的想法,我們不但要學會C 語言,而且還應該掌握基本的工程方法,協作、表達的方法:
- 通過實踐掌握C語言,C語言有很多強大的功能 (例如指針),但是我們了解很多學校出於種種原因,C語言不講指針, 或者講了但是沒有練習。在這種情況下,學生學的不是C, 而是 C--。 助教應該能幫助學生掌握重要的功能,讓學生知其然,並且知其所以然。
- 養成良好的編程風格,變量名為何還是a, a1,a2?為何不能在一開始就養成良好的風格?
- 學會使用現代工具:
- 開發集成環境 (IDE), 基本的源代碼管理,基本的代碼復審(windiff) 流程
- 學會合作
- 結對編程 (建議前面三次作業都是結對編程完成),最后較難的作業也可以考慮結對編程
- 學會總結、分享
- 每周都要寫技術博客。技術博客可以總結自己在技術上的心得,心得少也要寫。必須填寫的一個內容是:自己技術方面的進度條。
| 周/日期 | 這周所花的時間 | 代碼行數 | 學到的知識點簡介 | 目前比較迷惑的問題 |
| 9/5 - 9/12 | <學生填寫> | ... | ... | ... |
| 9/13 - 9/20 |
(可選)學生還可以畫出每周累計學習時間和累計代碼行數的二維坐標圖。
對助教的要求:
① 維護一個學生的成績單 (請看別的助教的成績單, 成績單2),每周更新。
每次作業 (包括進度條)滿分10 分,遲交作業 0 分,一周以后仍然沒有交作業,倒扣 10 分,發現抄襲,一律倒扣10分。
學生的作業成績映射到 [50.. 100] 區間, 就是學生的平時總成績。
學生有做附加作業的機會,附加作業滿分10分。
② 點評學生的作業,博客,每個作業和博客必須有至少一條評語,持續鼓勵學生,培養他們對編程的興趣。
③ 做好學生結對編程的分組工作
每周進度:
第一周:
同學
建立博客園的博客,申請 coding.net 賬號。
在博客園找到自己的助教和老師,並在助教的博客下面留言,加”關注“, 建立聯系。
每個人發一個博客隨筆,介紹一下自己。
同學和自己的結對伙伴認識並共同寫第一個作業,建議是簡單的輸出 “Hello World"的程序,寫完作業后,每個人各自把寫作業的過程發表在博客的一個新隨筆上, 並把程序簽入 coding.net。
助教
建立所有學生的列表,點評學生作業,發布所有同學的成績。(在同學作業截至后兩天)
助教可以組織qq群,微信群等,和學生加強聯系
很多助教的博客 :
http://www.cnblogs.com/dongfengweixiao DHY 老師
https://www.cnblogs.com/wuzhe/ 吉吉老師
https://www.cnblogs.com/shanlizi/ 善老師
https://www.cnblogs.com/toughever/ ToughEver 老師
很多同學寫剛開始 C 語言程序的時候出現很多莫名其妙的錯誤,然后就跑來問老師,下面是一個解決問題的步驟:
當出問題的時候,請弄清狀態,再問別人:
① 出錯信息是啥?
② 你把你的程序簡化 (例如只有一個語句,或者回到上一次正確的狀態),然后每往前走一步,就檢查一下,在哪一步出的問題?
③ 復習一下知識, 例如,每個語句后面都應有分號 (;)你的語句有么?
如何評價老師和助教的工作呢? 有很多因素可以考慮, 從老師和助教的教學效果來看,最后學生要回答:
你推薦這個老師給你將來的學弟學妹么?
你推薦這個助教給你將來的學弟學妹么?
回答一個數字 (1: 非常不推薦; 2: 不推薦; 3:一般; 4:可以推薦; 5: 極力推薦)
我們有很多作業,可以選一些來練習。
