INTRODUCTION TO DATA STRUCTURES: COURSE POLICIES AND PROCEDURES Gary T. Leavens Department of Computer Science, Iowa State University $Date: 1995/01/17 15:38:11 $ This document describes the course policies and procedures. There is no curve grading, and tests count for 2/3 of your grade. You are urged to talk with other students about the class material, but you must *not* exchange code or written answers. 1. YOU MUST BE REGISTERED TO ATTEND To attend this class, you must be registered for it. If you wish to simply listen in to the class, you must register as an auditor. We will not look at your work or correct it if you are an auditor. 2. STAFF Assistant Professor Gary Leavens (Ph.D., MIT, 1989) is the instructor and Dave Egle (B.S., U. Wisconsin, LaCrosse, 1993), Jennifer Freeman (B.A., Cornell, Mt. Vernon Iowa, 1993), and Xu (M.S., Univ of Pittsburgh, Pittsburgh, 1994) are the teaching assistants. The following table summarizes information about the staff. Com S Name Office E-mail Phone -------------------------------------------------- Gary Leavens 229 Atanasoff leavens 294-1580 Dave Egle B1 Atanasoff egle 294-4377 Jennifer Freeman 106 Atanasoff freeman 294-4377 Xi Xu B18 Atanasoff xixu 294-4377 To send mail from a Vincent machine, append ``@cs.iastate.edu'' (without the quotes) to the e-mail address given above. If you do this, your mail will be properly delivered, even from project Vincent. You can send e-mail to the entire staff at once by sending your mail to the address ``cs228s@cs.iastate.edu'' (without the quotes). 2.1 OFFICE HOURS I will have an office hour after each lecture. See the file ``/home/cs228/doc/office-hours.txt'' for details and for the current office hours of the rest of the staff. Office hours provide times when you are guaranteed to be able to reach the us. (Any changes to office hours will be announced in class.) You may call or visit at other times as well, but we may not be able to talk with you at other times. 2.2 OTHER WAYS TO REACH US The department has boxes for faculty and graduate students. If you need to leave an assignment or a note for us and we are busy or not around, you can leave it in 226 Atanasoff. Questions may also be asked (and answered) by electronic mail. Send it to cs228s if it is urgent. You can send it to just myself or a TA if it is not urgent. Please don't hesitate to send electronic mail. Discussions related to the class can take place on our usenet newsgroup: ``isu.coms.228''. (See the file ``/home/cs228/doc/reading-news.txt''.) My telephone (294-1580) has an answering machine attached, so leave a message if I am not available. Short questions can often be handled over the phone. The TAs don't really have phones; if you call the numbers above you'll reach the department office, where you can leave a message. It's usually faster to send them e-mail than to try to call them. 3. INSTRUCTION 3.1 MEETINGS The ``lecture'' meeting is from 10am to 10:50am on Mondays, Tuesdays, Thursdays, and Fridays in 1 Carver Hall. 3.2 DISCUSSION SECTIONS There are actually 6 discussion sections, each of which has students from 2 of the registrar's sections. Section Time Room TA -------------------------------------------- J1-J2 R 11 320 Coover Xi Xu K1-K2 R 12 214 Atanasoff Dave Egle E1-E2 R 1 314 Marston Xi Xu F1-F2 R 2 311 Coover Jennifer Freeman G1-G2 R 3 311 Coover Jennifer Freeman H1-H2 F 8 311 Coover Dave Egle You are expected to attend the discussion section for which you registered faithfully. (If you need to change sections, drop the old section and add the new one, through the ISU Registrar's office.) 3.3 TUTORING Some tutoring may be available for this course. See the tutoring office, in 20 Student Services Building, 294-6624. (If you pass this course with an ``A,'' please consider signing up to tutor in the future.) If you get tutoring, be sure that your tutor does not do the homeworks for you; that is called cheating. (And since tests count for 2/3 of your grade it won't help.) 3.4 REQUIRED TEXT There are two required texts. The data structures text is ``Data Abstraction and Structures'' by Mark R. Headington and David D. Riley (D.C. Heath, 1994). The C++ text is ``C++: How to Program'' by H.M. Deitel and P.J. Deitel (Prentice-Hall, 1994). 3.5 RESERVE BOOKS The course texts, a reference manual for C++, and other books related to the course are on reserve at the library. 3.6 COMPUTER ACCOUNTS You must obtain an account on the Com S department machines (including shazam, stimpy, and popeye), which will be used for this course. To do this, go to the ``Unix Account Activation Terminal'' in 116 Atanasoff Hall. Then follow the directions on that terminal to get your account. If you have problems with this, contact the System Support Group (ssg@cs.iastate.edu) at 294-9727 or go to their office in 108 Atanasoff Hall. The machine shazam can be accessed through the X-window stations in 115 Atanasoff Hall (excluding the 10 stations on the west wall of the room). You can access stimpy through the X-windows stations in 116A Atanasoff. The machine popeye does not have any X-windows stations hooked directly to it, but you can get to it by telnet. The department laboratories in Atanasoff Hall are available on the following schedule (which varies around holidays and during break). Mon.-Thurs. 8am - 11pm Fri. 8am - 5pm Sat. noon - 5pm Sun. noon - 5pm You can also access these systems by using remote login from any other Unix system (e.g., project Vincent) on the campus network. For example, to get to popeye, use the command rlogin popeye.cs.iastate.edu You can use ``shazam'' or ``stimpy'' in place of ``popeye'' if you wish. You can also access these systems by using a modem and connecting to the ISN. Use the machine name (such as popeye.cs.iastate.edu) at the prompt. Even if you don't do all your work on these machines, we expect you to read your electronic mail every day (and once on weekends). We will send you mail to tell you of significant clarifications or changes in homework problems that happen outside of class. Less significant discussions will be posted to the newsgroup ``isu.coms.228''. 4. GRADING 4.1 Late Policy for Homework Homeworks due in lecture are due at the beginning of the ``lecture'' meetings, not five minutes after it starts. The same applies to homeworks due in discussion sections. For some assignments, we may give a specific time at which a program must be turned in on-line. We do give partial credit for homework, so please turn in what you have at the time it is due, instead of not turning in anything because you waited to make it perfect. Homeworks that are late but less than 24 hours late, will count 70% of the total points you could earn; that is, if you would have earned 20 points, you get credit for 14 points. (For homeworks to be turned in during class, this 24 hours does not count weekends or holidays. However, for work to be turned in on the computer, it does.) Homework that is 24 hours (or more) late receives 0 points. (You can turn in such late homework, and your TA may correct it, but it will not change the zero for the homework problems that were late.) If you can't find your TA to turn in late homework, turn it in to me or the Com S department office in 226 Atanasoff Hall. If you give it to someone in the office, be sure to have them note the time on it. 4.2 No Curve Grading Your grade is independent of anyone else's grade in this class; that is, we do not grade on a curve. Everyone can get an ``A'' in this class. Our purpose in grading is to uphold a standard of quality and to give you feedback, it is not to rank students. Instead of using curve grading as a final defense against problems that are too hard, I use the following policy. If a problem on the homework on a test is so hard that most students do not ``get it'', then I will eliminate it from the test or homework grading. If this problem was appropriate, then I will teach how to solve problems like it, and give a similar problem on another test or homework. If it was not appropriate, then we will ignore it. If you detect such a problem on a homework, let me know about it as soon as possible, as it will save us all a lot of work. 4.3 Standards for homeworks and tests Although we will not always make fine distinctions in points the nominal minimum standard for ``A'' work will be 90% of the points on a homework or test; the ``A-''minimum is 85%, the ``B+'' minimum is 80%, the ``B'' minimum is 75%, ``C'' work will be 60%, etc. 4.4 Homework Problem Types There are 3 kinds of homework problems: normal, suggested practice, and extra credit. Normal problems are essential material; if they are not done satisfactorily, they may will lead to an incomplete. Suggested practice problems are for you use for practice, if you wish, but not to hand in; suggested practice problems may be discussed in discussion sections. Extra credit problems do not count as normal problems, but can be handed in. They are discussed further below. On homeworks, the points and type of problem follow the problem number. For example, ``3. (25 points)'' is a normal problem, while ``4. (suggested practice)'' is a suggested practice problem, and ``5. (20 points; extra credit)'' is an extra credit problem. The points used to figure your grade on a homework are the points you earn for the normal problems. 4.5 Incompletes and makeups You are required to master all the essential material in this class, as mastery of these basics will help you succeed in this and future courses, get everything from this class, and enjoy it. Requiring that you master the essentials will also give us feedback on our problems teaching you. For homeworks, incompletes and makeups are on a per-problem basis, for the normal problems. If on such a problem you do worse than a ``C-'', then you are given an ``incomplete'' for that problem. You are not allowed to do a makeup for a problem if you get a ``C-'' or better on a problem, or if your poor grade was the result of a late penalty (or not turning in the homework). In any case it is better to do the work right the first time, as doing an incomplete means you will have to spend more time on the work. We also give incompletes for less than ``C-'' work on tests, except for the final. That is, each test, except the final, is treated as one normal homework problem for the purposes of incompletes. An incomplete will require you to: * get specific help from us, * carry out our suggestions for your learning (which will take some time and effort on your part), and * do a similar but different homework problem or test, on which the highest grade you can earn is a low ``B-'' (70%). You get the help by consulting with me or a TA. We will figure out why you had difficulty. We will try to find out what the learning trouble was, try to teach you in a different way than we first did, and see if there are other things to do or read that would help. Then to makeup the homework, you would do another new problem that is similar (but not the same) as the original basic problem. For a test we will usually give you some additional exercises or work to aid your study; after you have completed those, you will take a similar, but different, test. (Note: a makeup test will be an entire test, and may involve material that could have been, but was not tested originally.) You must get help from us within a week after the graded work is returned to the class. If you don't get help from us within a week after the graded work is returned to the class (even if you are not in class when the graded work is passed back, your time limit starts from the time your graded work was available to you), then you will earn only the grade you originally got on the incomplete parts. In this case you will also be charged with a ``unfinished incomplete''. You will have a maximum of two weeks (from the time when your graded work became available) to finish the work for a makeup; you will be told the exact limit for a given makeup when you talk to us. (We will often reduce the time available for makeups before a test.) If you do not finish the work within the time limit specified, then you will earn only the grade you originally got on the incomplete parts and you will be charged with an unfinished incomplete. The following limits are intended to prevent abuse of our makeup and incomplete policies. * If you earn an incomplete on a test or homework, then the highest total grade you can earn for it is 70% (a low B-). * If you did not turn a reasonable attempt on a problem (with ``reasonable'' judged by a staff member), then you are not permitted to do the makeup for that problem. That is, makeups cannot to be used to shift due dates. * If you are not attending both lectures and discussion sections, then you are not eligible to do makeups. * If we determine that your difficulties in this course are the result of your not having the prerequisites for this course, we may (at our option and at any time during the semester) decide that you are no longer eligible for makeups. * If you earn a midterm grade of ``D'', ``D-'' or ``F,'' then you will no longer be permitted to do makeups. (You should drop the course if that is the case.) * If you have an unfinished incomplete (or an incomplete you have not discussed with us) on a homework at the time of a test, you are not eligible for a makeup on that test. * If you have 2 unfinished incompletes at the time a homework is due, then you are not eligible for a makeup on that homework. * No incompletes will be given for homework due during the last 2 weeks of classes. No makeup work will be accepted during the last week of classes. * No makeup work will be accepted during finals week, and there will be no makeup for the final. You may clear an unfinished incomplete by handing in satisfactory work after it is due; however, we will not record a grade for such work. If you do not hand in a homework (or part of a homework), you get a ``F'' on that homework (or a zero on that part). It is my hope that this policy for incompletes will * solve any communication problems that may develop between you and the staff, * help you find the amount of time you need to learn the material at the same pace as the rest of the class (because you will have to put in extra time if you get an incomplete), and * allow you to learn the essential material even if there is some learning or teaching problem. If you don't think it's important to master some of the material we say is essential, please ask us about it. 4.6 Extra Credit In homeworks for which you do not have any incomplete problems and earned a grade of at least a ``B'' overall, you may accumulate extra credit points on problems marked extra credit. Extra credit problems that are not given explicit due dates may be turned in any time within 3 weeks of the due date of the last normal problem of the homework to which they are attached. However, all extra credit work must be handed in before the last week of classes. The main reason to do extra credit work should be that your are interested in the problems and want to learn more about the material. Since the main material is more important, you should only do extra credit problems that interest you and that you have time for. Beware that one reason for having extra credit problems is to give me a place to put interesting problems that are of unknown difficulty. Sometimes these turn out to be too hard. Another reason, for doing extra credit work, however, is that your extra credit points will be used to subjectively raise your final grade in the class. For example, if you are close to an ``A'' in the class, and have some extra credit points, then we will take them into account and may raise your grade to an ``A''. Another use for extra credit points is to impress me, if you want me to write you a recommendation someday. (Because of that, it is wise to save your extra credit work.) However, don't expect to use extra credit work to make up for incomplete work. If you are having difficulty in the class, focus on the main material, not on the extra credit work. You may also do work for extra credit that you invent, but please check with me before doing something like that. (Otherwise you may spend a lot of time on something that I may not consider worth many extra credit points.) 4.7 Final Grades Your final grade will be a weighted average of your fractional grades, with tests counting for 2/3 of your grade and homework 1/3. Note this policy well. The idea is that you should: DO THE HOMEWORKS TO LEARN THE MATERIAL. You will pass and do well if you make mistakes on your homework, if you learn from them. Don't think that the homework grades are so important that you should cheat to get higher homework grades, as doing so will most likely cause you to fail the tests. Just because homework only counts for 1/3 of your grade, don't imagine that it is not important. Homework is important practice. Imagine trying to play a professional sport or a musical instrument without practice; ask any musician about whether that can be done, or read a biography of a sports star or musician. In Com S 227, Fall 1992, all of the students who got a grade of ``D+'' or lower got an ``F'' on at least 4 out of the 9 homeworks. All of them. But of all the 35 students who got an ``A'' or ``A-'', on all their (35 times 9 = 315) homeworks, only 2 of them were ``F''. The same pattern held in in other semesters. For example, in Spring 1993, all the students who got a ``D+'' or lower got an ``F'' on at least 4 out of the 9 homeworks; and all but one of them had at least 4 scores of 0 (nothing turned in usually) on homeworks. (One had only 2 scores of 0, and got a D.) In 1993 people who did all or almost all of the homeworks, even if they did them poorly, got at least a ``C-'' in the class. If you think: ``of course, the better students will do well on the homework, they are smarter,'' think again. You don't have to be smart to hand in a homework, let alone to just get a ``C-''. You just have to think a bit, and do the work. (Remember, we do not grade on a curve.) It's very simple. The more you practice piano, the better you get at it. The more you practice programming, the better you get at it. I guarantee that if you do all the homework, you will at least pass the class. I reserve the right to adjust your calculated grade downward (towards ``F'') if you do not turn in the homeworks, but get good grades on the tests. (This indicates to me that you are either cheating on the tests or denying yourself the extra learning that would come from doing the homeworks. If you already know the material, talk to me about placing out of this class.) 4. CHEATING The simple rule of thumb is: never give or use someone else's code or written answers. Such exchanges are definitely cheating and not cooperation. We will take action if we catch you cheating on a test or exchanging code or written answers. Read the section on ``academic dishonesty'' in the Iowa State University Bulletin General Catalog. If you honestly believe that certain problems are too much busy work, then bring it to my attention; or failing that, only do the part of the problem that you think you need to do to learn the material and explain that to us. 5. COOPERATION You are encouraged to discuss homework, and other parts of the class with other students. Such discussions about ideas are not cheating, which is the exchange of code or written answers. However, in such discussions of ideas, you should distinguish between helping and hurting yourself and the other student. In brief, you can help the other student by teaching them, and you can hurt them by giving them answers that they should have worked out for themselves. (Remember, when you're being tested, you won't be able to help each other.) The same applies to tutoring and getting help from me or a TA. This most commonly occurs in giving away a key idea needed to solve a problem. For example, suppose you have studied a programming problem for an hour or so, and finally found that the key to the solution is to use a helping procedure you call ``critical''. Your friend, after working on the problem for 15 minutes, says ``I just can't see how to do this'' and you say ``try using a helping procedure called `critical'. '' Although it takes more time, your friend will learn more if you say something like: ``How are you approaching the problem, what's your plan?'' (knowing that if your friend is not planning, no helping procedure will be found). If your friend hasn't planned, you should let them do it; if they have trouble planning, tell them to think about problems discussed in class that were similar, etc. If, after planning, your friend still hasn't found helping procedure `critical', you should say something more direct like, ``what helping procedures do you have?'' or ``how do these helping procedures help you get closer to the solution?'' or ``can you solve part of the problem?'' The idea is to guide the other person's thinking process. Perhaps a more common way to fall into the hurtful exchange of giving away the key idea is when you're talking over a problem that no one knows the answer to yet. Once one of you comes up with the key idea, it is tempting to blurt it out, impressing the others with your brilliance. If this happens, you should write ``developed in cooperation with ...'' on your solution. (Note that this disclaimer cannot be used to get away with cheating, but we're not discussing exchanging written code or answers.) It would be better for the one who comes up with the key idea say ``I have it, but now I can't tell you what it is'' and then try to guide the others to the solution as described above. If you use reference materials (other than the course texts) to solve a problem, please give a citation. (You should not copy code from other books, as that will probably not help you on tests. But you may get some ideas from a book about algorithms or data structures.) Similarly, if you discuss a solution with another student, give credit where credit is due by making a note such as ``the following idea was developed jointly with Alyssia P. Hacker,'' or ``the following idea is due to Ben Bittwiddle.'' You cannot be charged with plagiarism if you cite in this way. (However, don't expect to excuse cheating with such a citation. That is, you cannot exchange code even if you say it was developed in cooperation with someone else. Cooperation refers to the exchange of ideas, not code or written answers.) 6. DISCLAIMER The details of this course are subject to change as experience dictates. You will be informed of any changes. The following is the version information for this file: $Id: red-tape.txt,v 1.5 1995/01/17 15:38:11 leavens Exp leavens $