Please read this document carefully. It contains answers to most of the questions that students ask during the first few weeks of class. The subjects include: how to contact the staff, prerequisites, textbooks, grading, late penalties, and policies on academic misconduct. There is a class Web page at http://www.cs.berkeley.edu/~jrs/170. A list of discussion sections and the TAs who run them is linked from the Web page. A tentative syllabus, which includes reading assignments, exam dates, and due dates, is also available. Please check the class Web page at the beginning of the semester and regularly throughout to learn about new information and syllabus changes.
If you have a general question about something not covered herein, the best option is to post a message in the ucb.class.cs170 newsgroup. We (the instructors and TAs) check the newsgroup regularly, and other students will be able to help you too. Other students will also be able to benefit from the answers. If you don't want to make your question public, you may send email to email@example.com. Your email will be forwarded to both instructors and all the TAs. If you wish to talk with one of us individually, you are welcome to come to our office hours, posted on our doors and linked from the Web page. If the office hours are not convenient, you may make an appointment with any of us by email. There are about 60 of you to every one of us, so please reserve email for the questions you can't get answered in office hours, in discussion sections, or through the class newsgroup.
Prof. James Demmel
Office: 737 Soda Hall
Prof. Jonathan Shewchuk
Office: 625 Soda Hall
Office: 387 Soda Hall
Mark Pilloff, mdp1@uclink4
Lectures are Tuesdays and Thursdays from 12:30 pm to 2:00 pm in 100 Lewis Hall.
If you have not satisfied all the prerequisites, but you have taken a course you feel is very similar to CS 61B or Math 55, fill out an appeal form in the main CS office, 393 Soda Hall. The instructors do not handle appeals, so please do not attempt to lobby us for admission to the course. If you try to stay in the course when you have not satisfied the prerequisites, you will receive an F as your final grade.
You should be comfortable with mathematical induction, big-O notation, sorting algorithms, basic data structures, and binary heaps. In particular, if you are a transfer student and did not obtain a thorough understanding of binary heaps from CS 61B or a similar course, you should read Chapter 7 of Cormen, Leiserson, and Rivest in preparation for this course.
You will be using C or C++ to program one project in this course, and you should have prior knowledge of one of these languages.
If you are not familiar with the Unix operating system and basic tools, it is important that you learn. Some student groups, including CSUA, teach help sessions on Unix. See the CSUA Web pages.
Thomas H. Cormen, Charles E. Leiserson, and Ronald L. Rivest, Introduction to Algorithms, MIT Press, 1990. ISBN # 0-262-53091-0.
This text should be available at the ASUC bookstore or across Bancroft at either Ned's or the Campus Textbook Exchange. The CS 170 reader, which consists of the instructors' lecture notes, is available from Copy Central at 2483 Hearst.
The instructors and TAs will post announcements, clarifications, hints, and other information in the ucb.class.cs170 newsgroup, which you should read regularly whether you post questions to it or not, so that you're not the last to find out about major changes to assignments and midterm dates. Send questions or information of general class-related interest to this newsgroup using the Netscape Web browser or the trn news reader, which have facilities for reading and posting messages.
If you are on the waiting list for the course, the reason is that you are waiting to be admitted to a discussion section that is currently full. You need to choose a section that is not full if you want to take the class. If all sections are full, it is because we do not yet have enough TA support to add every student to the class. We will try to resolve by the end of the first week whether or not every student with the prerequisites will be admitted to the course. We cannot let you into sections that are full, so if you insist on waiting for a full section to have space, you will most likely never be admitted to the course. If you wish to switch sections, there must be room for you in the section you want to switch to.
If you are something other than a regular Berkeley undergraduate, then you probably need a signature on a form admitting you to the course. We cannot promise to admit those of you who are not regular Berkeley students. In particular, we will not sign any concurrent enrollment or UC Extension forms until after the second week of classes.
CS and EECS majors should already have named accounts for the lab machines from Instructional Facilities. If you do not have an instructional account, go to a lab machine (in 271, 273, 275, or 277 Soda, or 199 Cory), and enter ``newacct'' as both the login and the password. Alternatively, follow the instructions posted outside 271 Soda and 199 Cory. The Instructional Facilities staff may be found in 333 Soda (which is typically staffed from 8 am to 6 pm).
It is important that you make sure your instructional account is registered in the CS 170 grade book during the first two weeks; we use the registration information along with the TeleBears roster to determine who will receive grades in the class. To ensure you are registered, go to the URL https://saidar.eecs.berkeley.edu/~register, enter the login and password of your instructional account, and follow any further instructions. Of course, you can only do this if you have already obtained an instructional account.
You may attend a section other than that for which you are registered only if the TA of the section you are attending agrees to it.
Outside of your discussion section, You should feel free to attend any of the staff office hours (not just your own TA's) and ask any of us for help.
If you miss a midterm, you will be assigned a percentage score for that exam equal to the percentage score you earn on the final exam. (There will be no make-up midterms.) If you miss the final exam, you will receive a grade of F in the class unless you missed it because of a circumstance beyond your control, documented by a physician or equivalent authority, or if it conflicts with another scheduled University of California exam. If we decide to forgive your missing the final exam, you will receive an Incomplete grade and have the opportunity to make it up when we choose to give you an alternate exam, quite possibly at the end of the following semester.
A course grade of Incomplete will be granted only for dire medical or personal emergencies that cause you to miss the final, and only if your work up to that point has been satisfactory.
You may program the project at home, in the Soda Hall labs (271, 273, 275, and 277), or in 199 Cory Hall. The Soda labs are open from 7:00 am to 6:30 pm Monday through Friday. Outside these hours, the doors to the building and lab are locked. You will need to obtain a card key for after-hours access.
Everything you turn in for grading must show your name and your discussion section number. You might receive no credit for assignments that are turned in without this information. The project (which are submitted electronically) should also show your account name (login ID). Your grades will be recorded online and can be viewed using the glookup program.
Because of the difficulty of evaluating students in a course where much of the homework is based on proofs, the grading scale (conversion of scores to letter grades) will not be established until the end of the semester.
We do allow the programming project to be turned in late, but there is a penalty. If the project is N hours late, we'll reduce your earned score by ceiling(N) percent. While this gives you some leeway for putting the final touches on the project, do not stretch the deadlines too far. A project that is one day late will lose 24% of your earned score. After three days, even a perfect solution won't earn a passing grade.
We encourage you to help each other learn the material by discussing the work before you do each assignment. For most assignments, explaining the meaning of a question or a way of approaching a solution is an interaction that we encourage. On the other hand, you should never read another student's solution or partial solution, nor have it in your possession, either electronically or on paper. You should write your homework strictly by yourself. For some problems, we may instruct you not to discuss the problem with other students at all. If you receive a significant idea from someone in the class, explicitly acknowledge that person in your solution. Not only is this a good scholarly conduct, it also protects you from accusations of theft of your colleagues' ideas.
Presenting another person's work as your own constitutes cheating, whether that person is a friend, an unknown student in this class or a previous semester's class, or an anonymous person on the Web who happens to have solved the problem you've been asked to solve. Everything you turn in must be your own doing, and it is your responsibility to make it clear to the graders that it really is your own work. The following activities are specifically forbidden in all graded course work:
In our experience, nobody begins the semester with the intention of cheating. Students who cheat do so because they fall behind gradually and then panic. Some students get into this situation because they are afraid of an unpleasant conversation with a professor if they admit to not understanding something. We would much rather deal with your misunderstanding early than deal with its consequences later. Even if you are convinced that you are the only person in the class that doesn't understand the material, and that it is entirely your fault for having fallen behind, please overcome your feeling of guilt and ask for help as soon as you need it. Remember that the other students in the class are working under similar constraints--they are taking multiple classes and are often holding down outside employment.