10-601A/C Fall 2018
Policies
The grade will be calculated as
follows:
Course letter grades will be assigned “on
a curve”, jointly for both sections (A and C).
The number of A’s (including A+,
A, A-) will be approximately half of the total number of students who took the
mid-term exam. Of the remaining,
approximately two thirds will receive a form of B (including B+, B, B-).
Pass/Fail
and Audit options
You may take 10601A Pass/Fail
if you wish. Keep in mind that a
Pass may or may not satisfy your degree requirements – check with your
advisor first.
A formal 'Audit' option is no
longer offered.
Informal auditing, namely
simply attending class without registration or credit, is welcome. No pre-approval is required. However, you may attend the lectures in
person only if there are open seats in the auditorium by 9:10am. Otherwise, you can watch the simulcast,
which will also remain available for watching after the lecture.
Assignments: Communication, Deadlines and
Lateness
· Each assignment has a designated TA-in-charge.
Please direct all private
communication regarding the assignment to the TA in
charge of that assignment, not to the instructor, nor to the other TAs.
General public questions about the assignment can be posted on Piazza.
· Programming assignments will be handed in via Autolab.
· All other assignments will be handed in via Canvas.
· Extensions: If you have an unavoidable conflict that prevents you from
completing an assignment on time (such as travel to a conference or a medical
emergency), please send an email to the TA in
charge of that assignment, as soon as you become aware of the
problem, briefly stating the circumstances and how much more time you
need. The TA-in-charge is authorized to grant an extension as long as
you requested it promptly. Do not send extension requests to the
Instructor, nor to the other TAs.
· Assignments turned in late without prior
approval will incur a penalty of 20% per 24-hour (day) period or any part
thereof.
Other Course Policies (Read this
carefully!)
Previously
Used Assignments
Some of the homework
assignments used in this class may have been used in prior versions of this
class, or in classes at other institutions, or elsewhere. Avoiding the use of heavily tested
assignments will detract from the main purpose of these assignments, which is
to reinforce the material and stimulate thinking. Because some of these assignments may
have been used before, solutions to them may be, or may have been, available
online, or from other people or sources.
It is explicitly forbidden to use any such sources, or to consult
people who have solved these problems before. It is explicitly forbidden to search for
these problems or their solutions on the internet. You must solve the homework assignments
completely on your own. For programming assignments, this means you must write your
programs completely by yourself, and not use any code from any source
whatsoever. I will be actively monitoring your compliance, and any violation
will be dealt with harshly.
Collaboration with other students who are currently taking the class is
allowed, but only under the conditions stated below.
Collaboration
Among Students
·
The purpose of student collaboration is to facilitate learning,
not to circumvent it. Studying the material in groups is strongly encouraged. It
is also allowed to seek help from other students in understanding the material
needed to solve a particular homework problem, provided no written notes are
shared, or are taken at that time, and provided learning is facilitated, not
circumvented. The actual solution must be
done by each student alone.
·
The purpose of programming assignments in this course is to make
sure you truly understand the relevant techniques. In my more than 20 years of teaching, I
have found no better way to achieve this than by having each student struggle
by him/herself to implement these techniques “from scratch”. For this reason, in the case of
programming assignments all code must be written by
each student alone. We will strictly enforce
this policy, by carefully inspecting your code using sophisticated detection
techniques. You have been warned!
· The presence or absence of any form of
help or collaboration, whether given or received, must be explicitly stated and
disclosed in full by all involved. Specifically, each
assignment solution must include answering the following questions:
1.
Did you receive any help whatsoever from anyone in solving this
assignment? Yes / No.
§ If you answered 'yes', give
full details:
____________________________________
§ (e.g. "Jane Doe explained
to me what is asked in Question 3.4")
2. Did you give any help whatsoever to
anyone in solving this assignment? Yes / No.
· If you answered 'yes', give
full details: _____________________________________
· (e.g. "I pointed Joe
Smith to section 2.3 since he didn't know how to proceed with Question 2")
3. Did you find or come across code that
implements any part of this assignment?
Yes / No. (See
below policy on “found code”)
· If you answered 'yes', give
full details: __________________________________________________
· (book
& page, URL & location within the page, etc.).
· If you gave help after
turning in your own assignment and/or after answering the questions above, you
must update your answers before the assignment’s deadline, if necessary
by emailing the TA in charge of the assignment.
Collaboration without full disclosure will be handled severely, in
compliance with CMU's Policy on Cheating and Plagiarism.
Policy
Regarding "Found Code":
You are encouraged to read books and other instructional
materials, both online and offline, to help you understand the concepts and
algorithms taught in class. These materials may contain example code or pseudo
code, which may help you better understand an algorithm or an implementation
detail. However, when you implement your own solution to an assignment, you
must put all materials aside, and write your code completely on your own,
starting "from scratch". Specifically, you may not use any code you found or came across.
If you find or
come across code that implements any part of your assignment, you must disclose
this fact in your collaboration statement even if you didn’t use it.
Duty to Protect One’s
Work
Students are responsible for pro-actively protecting their work
from copying and misuse by other students. If a student's work is copied by
another student, the original author is also considered to be at fault and in
gross violation of the course policies. It does not matter whether the author
allowed the work to be copied or was merely negligent in preventing it from
being copied. When overlapping work is submitted by different students, both
students will be punished.
To protect future students, do not post your solutions publicly,
neither during the course nor afterwards.
Severe Punishment of
Violations of Course Policies
All violations (even first one) of course policies will always be reported to the
university authorities, will carry severe
penalties, usually failure in the course, and can even lead to dismissal from the university. This is not an idle threat
– it is my standard practice.
You have been warned!