斯坦福大学《编程方法》公开课介绍
2017-09-27马德云
马德云
摘要:斯坦福大学的课程《编程方法》是憩工程学院课程开放计划中的一门,本文对其践行介绍,包括课程的背景,基本情况介绍,课时的安排,作业布置、作业要求及批阅标准,并给出了最近一次的教学大纲。
关键词:编程方法 教学大纲 公开课
【中图分类号】G642;G431
一、背景
网易公开课中,有一门来自斯坦福大学的课程《编程方法》(Programming Methodologies),这是斯坦福工程学院课程开放计划中的一门,免费提供他人观看,我因而得以收看学习。整个课程是课堂直录,真实地再现了课堂教学的整体过程,在学习的过程中,通过课程主页几乎可以享受到与斯坦福大学学生同等的学习待遇。
二、課程介绍
本课程面向斯坦福大学所有专业的学生,无论是本科生还是研究生都可以休学这们课程,只是获得学分不同。课程是以计算机方面知识零基础为起点,教学内容不是局限在单纯的编程范围,不只是学习程序语言的结构,而是以软件工程思想为基点,教导学生,如何学习软件系统开发实用思想,未来的学生可以将这些思想应用到实践之中,软件工程思想是这门课程的重中之重。
1 课程主页(www.stanford.edu/class/cs106a)
课程主页提供所有课程资料,包括电子版讲义、作业所需的材料以及课程通知等等。当然,课堂上还是会发纸质的讲义。
2 课时安排
每周四次,课堂教学三次,第四次是小组讨论50分钟,共30次课,每一次课都将进行考勤记录。
3 邮件和注册
小组讨论必须经过注册,学校的选课系统给出几天的时间段,另外要求学生明白,电子邮件,将成为本课程互动的主要途径。
4 教材及教学软件
课程教学使用的语言是JAVA,制定教科书有两本,即课程导论《卡雷尔机器人学JAVA(作者 埃里克 罗伯茨)》,课本《JAVA语言的科学与艺术》。
斯坦福大学量身定制的Eclipse软件,以及JAVA软件。这里Eclipse软件是在潜4次课程中,教导学生进行编程入门的时候所使用的,这样一个安排,使得学生比较容易地逐步进入JAVA编程的学习。
6 作业
7次变成作业,作业的难度逐步增大,分值也将相应增加。小组长将对会对小组的每一位学生仔细批阅评分,规定学生每周必须与小组长有10-15分钟的交流时间,也可以利用这个时间交作业,以进行互动评分,这样的交流,即可交流作业的闪光点,提出改进的意见,学生也可藉此提出疑问,或得到更消息的信息。作业评分,也明确的标准,并必须依据校方的行为准则。每一次作业必须在下一次课前规定时间内递交完成,7次作业,一共只允许2个宽限日,并要事前向首席助教提出申请,否则,将以天数来降低期末最后的分数级别。
7 期末分数
编程作业:45%;
期末考试:30%;
期中考试:15%;
参与小组讨论 考勤等:10%
8 行为准则
这里提出学术剽窃问题,包括不得共享代码,不得抄袭,一经发现,将诉诸校方,交由校方安规定处理,同时,这里也有人性化的说明,若请教助教、组长或他人,表明出处是被允许的。
9 教学大纲
这里只节选其中一部分,完整的教学大纲可以直接上网查看(http://web.stanford.edu/class/cs106a/syllabus.html)。
三、总结
这门课程的学习,让我充分感受到这个教学团队严谨负责而又轻松活泼的敬业态度。课程主讲教授是Mehran Sahami,主讲教授强调,本课程配备了很多教员,每年都对教学进行改革,可以说在这门课的教学上花了蛮多的功夫,目的是希望学生得到最好的学习效果。本人这几年,也一直在关注这课程主页,内容总有变化,这是一种教学中的润物无声的教学改革。
参考文献:
【1】 http://web.stanford.edu/class/cs106a
【2】 http://v.163.com/special/programming/