面向对象程序设计课程安排及说明
更新时间: 2016/03/21 20:21 添加关于抄袭的说明
一、课程安排:
1. 课程时间
课程的理论部分从第10周开始,到17周结束,总共30个课时。
上机部分从第14周开始,到18周结束,总共18个课时。
第18周进行期末考试。
2. 考试
平时共有两次考试,在pta上进行。请各位同学使用老师给出的账号密码,以便于作业的发布。
第一次考试定于2016年03月13日(星期日)下午14:00-16:00。总共四道题目。
第二次考试根据实际情况,会在第9或10周选择。
还有一次是期末考试,在pta平台上进行。题型为选择题和上机题。
3. 课程内容
前三次课用来复习指针和链表,之后开始讲C++。内容会涉及到STL。若有足够课时,会涉及到可视化。
部分内容会请同学上台尝试讲解,或者同学们进行分组讨论。这些内容有:
- 函数重载和运算符重载
- 变量的存储类别
- 指针
- STL库基础
被选上的同学,需要提前对相关内容进行了解(找视频、看书、查资料等)。具体选择哪位同学,以及讲什么内容,目前尚未决定。我们会在了解足够多之后进行选择。
对于课堂讨论,会对同学们进行分组。同学在上去讲课之前,小组需要共同进行准备,而上面说的讨论就包含在这里面。并且,一个小组不一定只由一位同学去讲课,可以由其他同学接着讲,或者对某些方面进行补充。
在小组进行准备的时候,需要多个组共同合作。例如:有的组主讲,有的组准备问题,有的组准备测试题,有的收集疑问。
二、作业安排:
1. 作业内容:
平时的作业分三种:在pta上做编程题;完成老师和助教设计的小项目;在博客上发表指定知识点的博客。
-
在pta上做编程题。我们会有针对性地找与内容相关的题目,这些题目不会跟网上的任何已有题目一模一样。
-
完成老师和助教设计的小项目。这次的小项目是简单计算器的实现。在设计的过程中,与网上能找到的资料不同,我们会尽量使其覆盖更多知识点(尽管这会显得冗余,或者有各种不合适的地方)。
- 这项作业计划分解为五次。前四次完成逻辑实现,最后一次实现可视化。
-
在博客上发表指定知识点的博客。我们会分四次进行要求,每次一个知识点。这些知识点为:
- 函数重载和运算符重载
- 变量的存储类别
- 指针
- STL库基础
这些与要求同学上台讲的知识点是一致的。但是我们要求各位同学在博客上发表博客的时候,要写出以下几点:
- 知识源。即你除了课堂和课本外,还从哪里学习这些相关知识。你在每个源进行学习时,所花的时间是多少。这一项请用表格的形式展示出来。
- 对这些知识点进行总结
- 如果要你跟别人讲解这些知识点,你会如何讲解?在讲解过程中,你觉得应该重点讲什么?这些知识点中的难点在哪里?
- 如果在学习完之后,你对该知识点还有不理解的地方,可以在博客上写出来。无论多么小的困惑都可以。
ps:这里的发表博客一共是四次作业,但是我们只会从四篇博客中选择三篇的分数算到作业的分数上。这意味着你可以四篇都写,并选择其中三篇作为你的成绩,也可以只写三篇。
2. 未及时完成作业
在接下去的每项作业发布的时候,我们都会在作业开头给出截止时间(Deadline)。
- 如果到了Deadline,仍未提交作业,则本次作业分数为零,并且在作业总分上扣除5分。
- 如果在Deadline之后,提交了作业,则正常打分,但因超时所扣除的5分不会被消除。
3. 抄袭
若发现抄袭的情况,会将抄袭的同学本次作业分全扣,并扣一分期末分。
如果是误扣,请联系助教进行说明。在查实后会进行修改。
4. 其他说明
- 前三次的作业单次总分为:10,20,30。在这之后的作业,分数都为20分。
- 我们会对各位同学获得的总的分数进行映射,映射区间为
[50,100]
。这意味着作业分数最高的同学将会被映射为100分。但是如果总分数为零,或者负分,则为0分。 - 在布置作业的时候,会适当加上“涉及到的知识点”的说明,以及本次作业的目的。