C語言 教學實踐建議


(編程/軟件工程課程怎么教)

這是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: 極力推薦)

 

我們有很多作業,可以選一些來練習。 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM