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: 极力推荐)

 

我们有很多作业,可以选一些来练习。 

原文地址:https://www.cnblogs.com/xinz/p/5814496.html