Attending sections is required! New material will be presented that you will need to know in order to complete the homeworks and the projects.
Attend one section each week. Sections will begin the second week of classes. You may attend any of the sections, regardless of your registration. However, it would be helpful if you attended the same section each week.
The course TAs will be available during regular office hours for extended consulting help. Schedule an appointment by sending email to the TA at least 24 hours in advance. If you do not schedule an appointment, you may find the TA busy and, thus, unable to spend time with you.
Consulting help is available in Upson 309.
Consultants will grade your homeworks as well as answer questions about the computer system, programs, homework assignments, and other things related to the content of the course. To help ensure that consulting time is used to best advantage, we ask you to observe a few ground rules:
Most of the information relevant to the course will be handed out in the form of lecture notes. You are required to buy one textbook, which is actually a manual for the PowerPC 601 and is rather cheap. We recommend the Patterson & Hennessy textbook because it is very good and you will refer to it many years hence to remind you of how processors, memories, caches, disks, etc. work. However, that book uses a different processor and there isn't a 1-1 correspondence between lectures and sections of the book. For this reason it is not required. Some people like to sit down a read a book in order to learn, or in order to find out more, and the book works well for that. Others like to review the lectures using a textbook, and this book doesn't work for that. It's your call.
You will have weekly homework assignments and five two-week projects. Strong emphasis will be placed on timely completion of the homeworks and projects! We will use a merit/demerit system (see below) to encourage this. If you cannot meet the due date of an assignment because of serious illness or other extraordinary circumstances use the merit/demerit system to catch up. If you really, really need an exception, contact Greg before the assignment deadline for an extraordinary extension.
The primary source for lecture notes, informational handouts, and assignments will be on-line on the web (URL: http://www.cs.cornell.edu/Info/Courses/Current/CS314). We will update the on-line versions if errors are discovered or assignments need clarification. The on-line system will permit you to make annotations to lectures and assignments allowing you to ask questions and see responses. In order to be able to reach the on-line course materials you need to sign up with the Web page annotation system called CoNote. Signing up with CoNote is most of what homework 1 is about: (CoNote is not setup yet. Ignore the rest of this paragraph until we talk to you about it!) You should go back to the course home page and click on the "course materials" link. You will be asked an id and password, just click cancel and then fill out the form that pops up. Then you get what looks like a nasty error message, but in fact it's a page that allows you to request student access level (talk about friendly user interface...). Simply click on the "Request Student Access Level" button and you're almost done. Almost, because you now get to enter the id you just chose with the password. After all this you should get a message that indicates that you now have permission to author annotations. (Hint: click on File>NewWebBrowser in Netscape now to get a new window to follow these instructions, this way you don't loose the instructions from sight.)
You are responsible for checking the on-line version for changes up to 24 hours before you hand-in an assignment! If we make a change and you didn't take it into account because you didn't check, it will be your problem.
You are not responsible for changes to an assignment after you have handed it in (e.g., should you hand in something early).
CS211 or equivalent. Students are expected to have programming experience using C. If you know another programming language (e.g., PASCAL) you are expected to acquire C expertise on your own. We will assume familiarity with recursion, arrays, records, pointers, linked data structures, and stepwise refinement.
Homeworks will be handed out thursdays and be due at 9pm the following thursday. They will be relatively simple and allow you to check whether you understood the material presented in lecture and section.
The homeworks will be graded on the spot by the course consultants. You will not be allowed to drop homeworks off: you have to have them graded on the spot! The crunch tends to come around Thursday, 9pm, so if you want to avoid waiting, you should turn your homework in early and get extra merits. Also, be sure not to miss the consulting hours!
Answer sheets for all homework assignments will be distributed one week after the assignment is due. These should be studied and understood. Homework questions have been known to reappear on examinations.
Projects will be handed out tuesdays and be due two tuesdays later. The second an third projects will be centered around a subset of the PowerPC assembly language called PPC314.
You will work in groups of two on all the projects (no exceptions, unless there is an odd number of students). When working in a group, submit for grading a single printout that includes the names of both students in the group. The same grade will be given to both students. Both students are expected to be equally able to answer questions about the program or project.
The projects will be graded on the spot by having you demonstrate them to a TA or course consultant. Sign up sheets for these demos will be available later.
There will be two prelims:
Your course grade will be computed as follows:
We designed the merit/demerit system to allow you some flexibility in turning in your assignments. Here's how it works:
Grades will be posted (indexed by a secret ID number you provide) on the Web. If you believe that we have made a grading error, please first discuss the matter with one of the course consultants or teaching assistants. If, after such a discussion, it appears that a mistake has really been made, bring the error to our attention, but no later than one week after your assignment has been returned. To submit a problem set, program, or exam for regrading, obtain a regrade request form from one of the consultants or from outside Upson 303. Fill out the request form, and leave the request along with the assignment in question in Upson 303. A regrade request can cause your grade to go up or down. Regraded assignments will be returned by the course consultants.
The work you submit in CS 314 is expected to be the result of your individual effort. You are free to discuss course material, approaches to problems, and details of the system with your colleagues, instructors, and Computer Services consultants, but you should never misrepresent someone else's work as your own. Permissible cooperation should never involve a student possessing a copy of all or part of another student's program or other work regardless of whether that copy is on paper or in a computer file on a hard disk or a floppy disk. The only exception to these rules is when two students work together to submit a joint project.
It is also the student's responsibility to protect his/her work from unauthorized access. For example, do not discard copies of your programs in public places.
Violation of the Academic Integrity Code very often results in failure in the course and permanent notations on your Cornell academic records. If you have any question as to what constitutes ethical behavior, ask the instructor first we will not be sympathetic to claims of ignorance or misunderstanding of the rules.