COM 1101 Algorithms and Data Structures 1 - Winter 2001 - Rules, Regulations and Advice

for Professor Futrelle's section
College of Computer Science, Northeastern U., Boston, MA

(Version of 12/31/2000)

This page contains the rules and regulations for Professor Futrelle's section of COM1101 as well as general advice that will help you throughout the course.

Here is a summary of the major points made below:
You should check for email from me at least once a day.
Responsibilities for assignments and tests.
Come to class -- otherwise you will suffer.
Always bring your book to class.
Take notes.
You are required to attend labs.
Computers demand precision.
Computers are just machines.
Read and read "actively".
There will a number of quizzes.
Do your own work, though teamwork is possible.
Writing is important, even spelling.
Don't get behind.
You're here to learn and become professionals.

You should check for email from me at least once a day. At the very beginning of the course, I will hand out hardcopies of the course material. After that, all further information and updates will be on the web or in email. I will alert you to web updates in class and/or by email. The email itself may have important information in it too. It is your responsibility to check your email every day. I check mine many times a day, 7 days a week. I always include a Subject line in my email. You should too.

Responsibilities for assignments and tests. Assignments must be handed in on time. There can be no excuses for missing the Midterm or Final, other than a serious emergency such as a medical problem, supported by a doctor's note. All machine problems must be handed in on time even if not completely finished (see the next paragraph).

Important rule: If you cannot finish a machine problem or other assignment on time, you must hand in, on time, whatever you have accomplished up to that point, even if your program will not compile or run! This must be a good-faith effort. I have tried to set up the grading so that you will get the highest grade by handing in whatever you have done by the date and time your work is due. Waiting until everything works before handing in anything will get you a lower grade. You can do additional work on your project after the due date, as long as you've handed in whatever you have gotten done by the due date and time. I have established this policy to try to help you avoid falling further and further behind as the quarter progresses.

You are required to attend labs. Some of you might prefer to do your programming at home, but the labs are short and various things are explained there and we will take attendance at the labs. In any event, if you work on your machine problems outside of the CCS labs, you must guarantee that they will run on the CCS lab PCs (by running them yourself!). We will only give credit for programs that run on the CCS PCs. Further details about the labs can be found on the course lab pages.

Come to class -- otherwise you will suffer. My job as a teacher is to help you learn and you have to be in class to take advantage of this. In class you will hear questions asked and answered, often about things you wondered about too.

Always bring your book to class. I will often refer to specific text, code or figures in your textbook (Savitch). So bring your copy to every class.

Take notes. Not every important piece of information will be in your book or on the web -- you may only hear it in my lectures, so take notes. Paper is reliable memory. Wetware is fickle.

Computers demand precision. Like nothing else you may have met in your life, programming for computers demands precision. One tiny mistake and your program won't work. If you know the rules, programming can be a breeze. If you don't, it can be a nightmare.

Computers are just machines. They're machines -- You can master them and make them do your bidding. That's one of the great joys of being a computer professional.

Read and read "actively". To learn the precise things you need to know about programming, you should study hard and learn the material well. You'll have to read the book, early and often! Be an active reader -- scribble notes and examples for yourself as you read -- read trying to find the answers to certain questions -- read with your answers to certain things in mind and see if the book agrees (otherwise, change your views!). Look at the Exercises at the ends of the various sections in the book. They include the types of questions you'll have to answer on tests.

There will be a number of quizzes, typically 20 minutes long. They will be announced in advance.

Do your own work, though teamwork is possible. You each receive a grade at the end of the quarter. It should reflect what you have done, so you must do your own work. You may discuss the material and your work with other students, but in the final analysis, what you hand in must be your own. You can find details about academic honesty and integrity in Northeastern's Student Handbook and related documents. We will discuss team projects later. I pay careful attention to quiz and exam grades because your answers on them will be your own and a good measure of what you've learned.

Writing is important, even spelling. Many of our graduates tell us that they are surprised at how much writing (not programming!) they do in their jobs, especially as they move up the ladder and start managing other computer professionals. When you send email to a colleague or your boss or a customer, it is unprofessional to have poor spelling or grammar. I will even test spelling (a bit) in the course, e.g., you should know how to spell "pseudocode" and "precedence" and "von Neumann". You should know the difference between "e.g." and "i.e." and know the pronunciation of "etc."

Don't get behind. Getting behind in the reading of the hundreds of pages of technical material in your textbook can really mess you up. I hope that the frequent quizzes will help you keep up with the reading.

You're here to learn and to become professionals. You're here to learn. Don't get hung up on a point here or a point there on your homework or tests. Focus on what you're learning. If you get a question wrong, study the topic carefully so you won't get it wrong again. I will sometimes ask the same question again on a later test to be sure everyone really learns the most important material.