|
Course Goals By the end of this course, you will have
developed the following knowledge and skills:
- You will know how to analyze the
powers and limits of various models of computation.
- You will learn and understand several standard proof
techniques, including induction, contradiction, and
diagonalization.
- You will be able to identify problems that are
computationally intractable and argue why these problems might
be hard to solve efficiently.
Above all, the goal of this course is to instill a deep
understanding
of the limits of computation, and how to think about these
in a thorough and systemic way.
Student Responsibilities
CS46 is different from most other computer science courses, in
that the course focuses on abstract thinking about problems, and
does not ask you to implement solutions in code. To succeed in
this course, you should consistently do the following:
- Attend class and lab sessions.
The primary
introduction to course material is through class
instruction. Attending class is essential for understanding the
subject. Lab sessions provide additional time to work on
solutions. Lab attendance is mandatory.
- Participate actively in the learning process.
The
best way to learn this material is through constant effort. This
means trying to work out proofs yourself rather than simply
reading through solutions. During class we will often derive
solutions collaboratively. Labs provide additional time to
experiment with solutions. There is a very strong correlation
between students who ask questions (in class/lab/office
hours/Slack) and students who do well in this class.
- Start the homework assignments early.
CS46 is
not a coding course; it is a course with an emphasis on rigorous
thought and explanation. It is extremely difficult to bang
out proofs and solutions at the last minute. I understand that
it is not always possible to put serious time into an assignment
early. However, even 30-60 minutes will be helpful, to
ensure that you understand what the problems ask of you and
you start thinking about how to solve them early.
- Seek help early.
It is essential in this class
that you not fall behind. If you find yourself falling
behind, or if you're having trouble grasping a concept, come
to office hours. Ask (and answer!) questions on Slack.
Set up an appointment to talk with me. Or just stop by my
office when my door is open.
Academic Integrity
Academic honesty is required in all your work. Under no
circumstances may you hand in work done with or by someone else under
your own name. Discussing ideas and approaches to problems with others
on a general level is encouraged, but you should never share your
solutions with anyone else nor allow others to share solutions with
you. You may not examine solutions belonging to someone else, nor may
you let anyone else look at or make a copy of your solutions. This
includes, but is not limited to, obtaining solutions from students who
previously took the course or solutions that can be found online. You
may not share information about your solution in such a manner that a
student could reconstruct your solution in a meaningful way (such as
by dictation, providing a detailed outline, or discussing specific
aspects of the solution). You may not share your solutions even after
the due date of the assignment.
In your solutions, you are permitted to include material which
was distributed in class, material which is found in the course
textbook, and material developed by or with an assigned partner. In
these cases, you should always include detailed comments indicating on
which parts of the assignment you received help and what your sources
were.
When working on tests, exams, or similar assessments, you are not
permitted to communicate with anyone about the exam during the entire
examination period (even if you have already submitted your work). You
are not permitted to use any resources to complete the exam other than
those explicitly permitted by course policy. (For instance, you may
not look at the course website during the exam unless explicitly
permitted by the instructor when the exam is distributed.)
Failure to abide by these rules constitutes academic dishonesty
and will lead to a hearing of the College Judiciary
Committee. According to the Faculty Handbook:
Because plagiarism is considered to be so serious a
transgression, it is the opinion of the faculty that for the first
offense, failure in the course and, as appropriate, suspension for a
semester or deprivation of the degree in that year is suitable; for a
second offense, the penalty should normally be expulsion.
This policy applies to all course work, including but not
limited to code, written solutions (e.g. proofs, analyses, reports,
etc.), exams, and so on. This is not meant to be an enumeration of all
possible violations; students are responsible for seeking
clarification if there is any doubt about the level of permissible
communication.
The general ethos of this policy is that actions which
shortcut the learning process are forbidden while actions which
promote learning are encouraged. Studying lecture materials together,
for example, provides an additional avenue for learning and is
encouraged. Using a classmate's solution, however, is prohibited
because it avoids the learning process entirely. If you have any
questions about what is or is not permissible, please contact your
instructor.
Regret clause for Spring 2021: If you commit some act that is
a violation of the integrity policy (or, if you are unsure if it
violates the policy) but bring it to the attention of the course’s
instructor within 48 hours, the course may impose local sanctions that
may include an unsatisfactory or failing grade for work submitted, but
the course will not refer the matter for further disciplinary action
except in cases of repeated acts.
|