|
|
CS51: Abstraction and Design in Computer Programming
CS51 Course Policy
Course Policy
CS51 General Course Requirements
The course requirements include 10 problem sets and 2 midterm
exams. Problem sets are due Friday at 5pm every week, except for weeks
weeks with an exam. Please note that problem sets are not all weighted
equally. There will be two midterms during the semester, one on the
first half of the material (in Scheme) and the other on the rest of
the material (in C++). The second midterm will not directly cover any
of the material from the first half of the course, but the second half
builds off of the first half of the course, so the material on the
second midterm may relate to the first half of the course. Both
midterms will be closed book but you may bring 1 double-sided page of
handwritten notes.
The breakdown for final grades is as follows:
20 % first midterm
20 % second midterm
60 % problem sets
Sections
There are weekly sections with our Teaching Fellows. While sections
are not mandatory, they are highly encouraged, and will be very
helpful for both reinforcing the material and completing the problem
sets. Students who don't attend sections often have trouble completing
the problem sets. You are encouraged to attend the section of your
TF, but you are welcome to go to any TF's section. If you plan to go
to another TF's section one week, please email both your TF and the TF
whose section you plan to attend as a courtesy to them. Sections will
be held on Sunday evening and Monday morning, afternoon, and evening.
Office Hours
There are office hours with the TFs every week on Wed., Thurs., and
Fri. in the Terminal Room (which is in the Science Center basement --
go down the stairs to the basement and turn left). Office hours
generally are aimed at answering problem set questions, but TFs will
be happy to answer any general questions, too. Radhika will also hold
weekly office hours in her office (time TBA) to discuss course
matters.
Assignment Due Dates
Assignments will generally be due at 5pm on Friday (although a few
assignments might be due at other times). You must electronically
submit your assignment by 5pm sharp, otherwise your assignment will be
considered late (see below for late day policy). Design documents for
assignments will generally be due at 5pm on Monday. You may not use
your late days (see below) on design documents. Late design documents
receive half credit.
Half of the assignments require working in pairs. The goal is for both
partners to work together on solving and implementing the problem
set. This can enhance the learning process and reflects the reality of
software design in the real world. While we will not make exceptions
to this policy, we are here to help you if there are problems.
Late Days, Penalties and Extensions
Over the course of the semester, you will have 5 late days to spend
however you like. If for whatever reason you are not able to turn in
your assignment by the due date, you may use a late day. This late day
will extend the due date exactly 24 hours. You may do this for any
assignment, but not for design documents. You may allocate your late
days in any way that you like -- you can even use all 5 on one
assignment, if need be (there are a few assignments where you might
not be able to use five full late days, but we will make this clear
when the assignment comes out). Note that late days are not divisible
as soon as the assignment is 1 minute late, you must use a full late
day. If you are working on a partnered assignment, then every late
day you take will cost two late days (one for each person). Either
partner can use their late days to pay the penalty, so if one partner
has 5 late days left, and the other partner has 1 late day left, then
the group may turn in their assignment 3 days late, but will have no
late days left after that. If you have questions or concerns about
anything having to do with late days, please email the Head TF.
If you use up all of your late days, you will be charged 10% per
day late from your assignment score (10% of the original assignment
points, not 10% of your earned points on the assignment). We will
often set a deadline for when the assignment needs to be turned in for
any credit, which you will also need to follow (this is generally
about 5 days past the original due date of the assignment).
Because of our generous late day policy, we rarely give out
extensions. If one week you have unusual circumstances, please email
the Head TF. Extensions will be granted only for cases that were
beyond your control and that you could not have predicted in advance.
Collaboration Policy
Collaboration is a difficult issue, because we want you to work
together and feel comfortable talking about the problem sets. However,
at the same time, we want to be able to grade your work, and not the
work of your friends.
In the single person assignments, we will allow you to talk about
the problem sets with other students. However, you are not allowed to
talk in terms of pseudocode or real code. In the pair programming
assignments, we encourage (expect) you and your partner to design and
implement real code together.
We think that this is a simple and clear 3-line policy, and there
should be no question about what things are crossing the line. We run
automatic software to compare the students' assignments, both with
this year's students and the students from past years. If we detect
cheating, we will not hesistate to bring it to the attention of the
university. If you get stuck on something that you need to talk about
real code for, the TFs will be happy to talk in terms of real code
with you! If you have any questions, please contact your TF or the
Head TF and we would be happy to clarify.
Partner Policy
Throughout the course, there will be several partnered
assignments. We expect you to work well in pairs, and complete your
assignments together. We understand that this can be hard, but we also
expect both partners to make an effort to do this. If there are cases
in which one partner is trying hard to make the partnership work, and
the other partner is not making an effort, we reserve the right to
deduct from the partner causing problems. We rarely have to do this,
but if you are unwilling to work with other people, we will not
hesitate to deduct substantial points, depending on the severity of
the problem. If you have specific concerns about working with other
people, please discuss them with the Head TF before the partnered
assignments start.
|