Lab Policies, CISC105, Fall 2007

Summary (with links to detail)

  1. Show up for lab.
  2. Bring your lab homework to lab
  3. Observe due dates
  4. Respect late penalties.
  5. Do honest work.
  6. Treat people with respect.
  7. What is a TA?

Details

  1. Show up for lab.

    Lab attendance is mandatory.


    Attendance will be recorded. Be sure to sign the attendance sheet and return it to the TA before leaving your lab session.

    Lab attendance is reported on WebCT.

    Attending a lab other than the one to which you are assigned will not meet your lab attendance obligation, unless you have advance permission of the TA by email (this will be granted only in unusual circumstances, at the TAs discretion, and Prof. Haggerty must be cc'd on the email.) In any event, attending a lab other than the one to which you are assigned is on a "space available" basis; you may do so only if there is room after all students attending their correct lab session have found a place to work.

    My usual policy for 100 level courses is that three unexcused lab absences will result in automatic failure of the course.  You will not be required to attend a lab if you have completed the lab AND have submitted it to MyCourses (more on this in class).  I really would rather not have to enforce this policy, so please be faithful about lab attendance. Thanks!

  2. Lecture Homework may only be turned in in Lecture; Lab Homework may be turned in only in lab, with no makeup (except for official excused absenses). This keeps all the paper where it needs to be (though in fact, a lot of your assignments wil be "on the web", rather than on paper.)

    If you do not attend lab, you miss the opportunity to turn any pencil/paper homework that is due in lab (and which is indicated as "only accepted in lab"). The same rule applies to lecture. There is no makeup for such work except in cases of "official excused absences" (see syllabus).
  3. Due dates: Lab assignments will generally be due (unless otherwise noted, and pay careful attention to any exceptions!) one week after the lab is assigned. Late labs will have late penalties assessed as indicated below. No assignment will be accepted more than 6 days late.

    Note: all labs due on or before the lab immediately following the free drop/add deadline are exceptions because some students may add the class late. These labs will be accepted without penalty if completed and submitted by one week following the free/drop add deadline.

    Any labs near the end of the semester might also be an exception, since ALL work, late or otherwise, must be turned in before Reading Day, Dec 6, 2007 , so that the TAs can complete their grading for the semester. There will be no extensions of any kind beyond that date except in extreme cases where there is a note from the Dean's office (e.g. death in family, illness requiring hospitalization, etc.)
  4. Late penalties accrue from the applicable due date, at the rate of 2 raised to the power of the number of days late. The clock ticks at 11:55pm each night. (This is adapted from a policy suggested by Dr. Bob Caviness.)

    Example: Student attends lab01 on 9/8. Lab is due by 11:55pm, 9/15. If the lab is turned in late, here are the penalties that apply:

    9/16

    2^1

    2 points

    9/17

    2^2

    4 points

    9/18

    2^3

    8 points

    9/19

    2^4

    16 points

    9/20

    2^5

    32points

    9/21

    2^6

    64 points

    9/22

    no credit

    since 2^7 > 100 points

    Note: Even if you do not get any credit for the lab, you still need to complete it (if you hope to learn the material well enough to earn a decent grade on the exam.) Exam questions will often be based on lab material.

  5. Do honest work.
    The following material is adapted from some writing by Terry Harvey on the subject of academic honesty, and I share them with you with his permission (notice how I obtained permission, and credited my source?)
    There have been some questions regarding what behaviors are considered legal and helpful, and what behaviors are considered academic dishonesty.

    First, be sure you are familiar with the official policy at the UD website: http://www.udel.edu/stuguide/07-08/code.html, and then read this.

    Second: Do not let anyone copy your code. Do not copy someone else's code. That is sharing code, and it is not allowed. Included in this category are all the ways one can share code, such as making it possible for someone to view your code, sending your code via email, and many others.

    Third: Penalties for academic dishonesty are typically the same for both the sharer and the sharee; that is, you are just as likely to get in trouble for letting someone see your code as they are for looking at it.

    How can I be helpful to another student without violating this policy?

    1. Remember it is the responsibility of the student to seek help early and often from the TAs and instructor; if someone is begging you for help at the last minute, that is not your problem. We can all be sympathetic, but don't use that as an excuse to cross the line and jeopardize your own record.
    2. You may discuss algorithms and approaches in general. It is fine to discuss things like "this has to happen before that can happen" (unless that is a specific question in the assignment).
    3. You can discuss resources: "We had that problem in lab 3, so look at your lab 3 code"; "The book shows that on page 277"; "My TA told me to think of this problem as an eggplant, and now it is clear."
    4. You can usually work together on problems UNRELATED to assignments. For example, it is ok to work together on programs in your textbook. This gets to be academic dishonesty if, as the project deadline approaches, you are searching for textbook problems that look like the code you are trying to write.
    5. You can sometime work together on writing small example programs that illustrate an idea, but don't directly solve the assignment. For example, suppose a friend is having trouble writing nested for loops. To help your friend better understand nested for loops, you can write a six line program together that has nested for loops.

      HOWEVER, writing an entire function with someone, when that function is part of a required assignment, is NOT ok. Also, it is NOT ok to write several small programs together, the sum of which looks a lot like the assignment or a chunk of the assignment.

    6. If you have any questions about what is ok or not ok, you can always ask your TA or instructor and we will let you know.
    7. If you are in doubt, Don't Do It.
    8. If you are not in doubt, think about whether you should be - review the note above and try thinking like an instructor viewing the question from the outside.
  6. Treat people with respect (especially your TA)

    This may seem like a small thing, or even a cliche, but I've spent time in places where this was not a priority, and I can assure you that setting this as a priority makes a real difference.

    I mention this especially in the context of lab, because I want to encourage you especially to treat your TAs with respect. Your TA is a qualified computing professional with a bachelors and/or a master's degree in Computer Science, and during your lab time, is your instructor, and serves as my representative.

    Your TA is usually someone closer to you than I am in age and experience, and shares with you the experience of being a UD student. (TAs are usually pursuing a graduate degree, either an MS or Ph.D.) Because of this, TAs sometimes are on a first name basis with their students, and the atmosphere may be a bit more informal.

    A certain degree of informality is acceptable as long as you don't forget that your TA is nevertheless in a position of authority. In the context of lab and office hours, you should interact with your TA with the same level of respect that you would show to me during lecture and office hours.

    If you have a question regarding how your TA has graded an assignment, or any other matter, take it to your TA first.

    If you are not happy with the response of the TA, you may bring the issue to your instructor.

    However, do not engage the TA in a debate about policy; in particular, do not engage in any loud or disrespectful conversation that would tend to disrupt the lab or office environment where other students are trying to work. Section D.2.j of the University Code of Conduct prohibits "making, exhibiting or producing any inappropriate, loud or disruptive noise or behavior", and that certainly would apply to any mistreatment or disrespect shown towards TAs during lab or office hours.

  7. What is a TA? (adapted from Terry Harvey)

    A TA (teaching assistant) is a student at the university who has been assigned the task of assisting the instructor. Typically, a TA is responsible for running a lab and grading assignments. TAs also hold office hours where they can give you individual help on assignments or course material.

    The most important responsibility of the TA is to grade the style of your code. When you run your code you can test and see if it is correct, but you may not be using good style. If you lose style points, be sure you understand why so you can avoid doing so in the future.

    Note particularly what TAs are not:

    TAs are not tutors. They are not paid to help you accomplish what you wish; they are paid to help the instructor accomplish course goals. Sometimes those two things are similar, and sometimes they are not.

    TAs are not supposed to debug your programs. The instructor teaches you to do that in class, and the TA will help you with debugging strategies, but the TA is not responsible for finding your errors. If you follow ALL of the TA's suggested strategies for locating a bug and still cannot locate it, the TA will forward the mystery to the instructor.


Adapted from material from Phill Conrad and Terry Harvey