Comp 15

Course Policies and Administration

Table of Contents

Course web site:

Almost everything you need is on the course web site (http://www.cs.tufts.edu/comp/15/). The course calendar shows dates for assignments and exams and is updated throughout the term with links to all assignments, readings, course notes (if/when available), etc.

Course Staff

There is a large staff here to help you: your instructor, graduate TAs, and a legion of able and helpful undergraduate TAs. Please come see us!

For questions of a general or technical nature, you're first resource will be the course Piazza forum. Generally, you'll get much faster turnaround there.

I am available during for scheduled office hours, and you may also email for an appointment at some other time. You are welcome to drop by my office unannounced. If I'm there and the door is open, poke your head in. If I am too busy to talk, I'll let you know, but if I have time, we'll talk then.

  Name Office Email Phone Office Hours
Professor Mark Sheldon H224 msheldon@cs.tufts.edu x72491 T 1000–1130; W 1030–1230; and by appt.
Graduate TAs Abdullah Faisal TBA Use Piazza W 18:00-21:30, Conf Room
Matt Russell TBA Use Piazza R 1800-21:30
Teaching Fellows Aubrey Anderson Use Piazza See below
Max Bernstein Use Piazza. See below
Julia Cooper Use Piazza. See below

Lab Schedule, Undergrad TAs, and their Office Hours

How office hours work in Comp 15

TAs are organized into teams. Each team covers 2 (or 3) labs. All your work will be graded by the team for your lab section.

When you have a problem, make every effort to attend office hours for your TA team. You can look up a TA's office hours in the schedule below.

Our goal is for some member(s) of the staff to get to know of you student personally, what you're working on, and how you learn. They can coordinate to help you better.

TA office hours will be held in Halligan. When TAs come on duty, they find a suitable place in the building and then post their location on Piazza. So, check Piazza when you come in. If they forgot to post, a gentle query will prompt them to do so.

TAs will not debug your programs. The TAs and I are here to help you learn the material of the course, which involves your becoming a good programmer. We will assist you in developing good programming and debugging skills.

Teams (team leaders in bold face):

The hours below may change. We're still shaking out the schedule, so please check back here before you trek over to Halligan for help.

Current lab and office hours

Note: office hour blocks are 75 minutes. Start times are listed below.

Schedule for Monday:

  10:30:  Office Hr TAs: Aubrey_Anderson, Haomin_Feng

  15:00:  Office Hr TAs: Daniel_Westrich, Zhujing_Wang

  16:30:  Office Hr TAs: Julia_Cooper, Grant_Sisson

  19:30:  Office Hr TAs: Daniel_Westrich, Nicholas_Metzger



Schedule for Tuesday:

  10:30:  Office Hr TAs: Maxwell_Tung, Lindsay_Bloom

  16:30:  Lab Leader(s): Maxwell_Tung
                Lab TAs: Elena_Cokova
          Office Hr TAs: Michael_Seleman, Julie_Jiang

  18:00:  Lab Leader(s): Maxwell_Tung
                Lab TAs: Margaret_Gorguissian
          Office Hr TAs: Madeline_Payne, Will_Edmonds

  19:30:  Lab Leader(s): Maxwell_Bernstein
                Lab TAs: Sebastian_Coates
          Office Hr TAs: Daniel_Westrich, Ge_gao

  21:00:  Office Hr TAs: Ge_gao, wrusk01



Schedule for Wednesday:

  10:30:  Lab Leader(s): Aubrey_Anderson
                Lab TAs: Julie_Jiang

  13:30:  Lab Leader(s): Aubrey_Anderson
                Lab TAs: Bianca_Capretta
          Office Hr TAs: Will_Edmonds, Zhujing_Wang

  15:00:  Lab Leader(s): Bianca_Capretta
                Lab TAs: Maxwell_Bernstein
          Office Hr TAs: Michael_Seleman, Zhujing_Wang

  16:30:  Lab Leader(s): Julia_Cooper
                Lab TAs: Tatiana_Doyle
          Office Hr TAs: Daniel_Westrich, Margaret_Gorguissian

  18:00:  Lab Leader(s): Julia_Cooper
                Lab TAs: Ge_gao
          Office Hr TAs: Daniel_Westrich, Kevin_Lustgarten, Tatiana_Doyle

  19:30:  Lab Leader(s): Ge_gao
                Lab TAs: Maxwell_Tung
          Office Hr TAs: Nicholas_Metzger, Zhujing_Wang

  21:00:  Office Hr TAs: Cole_Koester, Nicholas_Metzger



Schedule for Thursday:

  09:00:  Office Hr TAs: Will_Edmonds
          OffHrs Add'nl: Aubrey_Anderson, Julia_Cooper, Maxwell_Bernstein, Maxwell_Tung, Bianca_Capretta, Ge_gao

  10:30:  Office Hr TAs: Madeline_Payne, Nicholas_Metzger

  12:00:  Office Hr TAs: Julia_Cooper, Madeline_Payne

  13:30:  Office Hr TAs: Elena_Cokova, Tatiana_Doyle

  15:00:  Office Hr TAs: Maxwell_Tung, Michael_Seleman

  16:30:  Office Hr TAs: Julia_Cooper, Bianca_Capretta, Kevin_Lustgarten

  18:00:  Office Hr TAs: Bianca_Capretta, Cole_Koester, Lindsay_Bloom

  19:30:  Office Hr TAs: Aubrey_Anderson, Maxwell_Bernstein, Grant_Sisson

  21:00:  Office Hr TAs: Margaret_Gorguissian, Julie_Jiang



Schedule for Friday:

  09:00:  Office Hr TAs: Haomin_Feng, Julie_Jiang

  10:30:  Office Hr TAs: Haomin_Feng, Julie_Jiang



Schedule for Saturday:



Schedule for Sunday:

  15:00:  Office Hr TAs: Margaret_Gorguissian, Sebastian_Coates

  16:30:  Office Hr TAs: Margaret_Gorguissian, Sebastian_Coates

  18:00:  Office Hr TAs: Maxwell_Bernstein, wrusk01

  19:30:  Office Hr TAs: Aubrey_Anderson, Grant_Sisson




Schedule by TA

Aubrey_Anderson       :M1030, W1030, W1330, R0900, R1930, U1930
Bianca_Capretta       :W1330, W1500, R0900, R1630, R1800
Cole_Koester          :W2100, R1800
Daniel_Westrich       :M1500, M1930, T1930, W1630, W1800
Elena_Cokova          :T1630, R1330
Ge_gao                :T1930, T2100, W1800, W1930, R0900
Grant_Sisson          :M1630, R1930, U1930
Haomin_Feng           :M1030, F0900, F1030
Julia_Cooper          :M1630, W1630, W1800, R0900, R1200, R1630
Julie_Jiang           :T1630, W1030, R2100, F0900, F1030
Kevin_Lustgarten      :W1800, R1630
Lindsay_Bloom         :T1030, R1800
Madeline_Payne        :T1800, R1030, R1200
Margaret_Gorguissian  :T1800, W1630, R2100, U1500, U1630
Maxwell_Bernstein     :T1930, W1500, R0900, R1930, U1800
Maxwell_Tung          :T1030, T1630, T1800, W1930, R0900, R1500
Michael_Seleman       :T1630, W1500, R1500
Nicholas_Metzger      :M1930, W1930, W2100, R1030
Sebastian_Coates      :T1930, U1500, U1630
Tatiana_Doyle         :W1630, W1800, R1330
Will_Edmonds          :T1800, W1330, R0900
Zhujing_Wang          :M1500, W1330, W1500, W1930
wrusk01               :T2100, U1800

Academic Resource Center (ARC) Subject Tutoring

You also have help available through the Academic Resource Center. TBA is the head tutor for this class and can help reinforce subject material, help you develop effective study strategies, and help you take responsibility for your own learning. Drop-in hours will be available throughout the term Throughout the semester, he will be offering drop in hours at a time to be determined, and you can sign up for one-on-one tutoring at the ARC website.

Booking a Tutoring Session Through the Online Tutor Finder (OTF):

  1. Log onto WebCenter using your student ID and password.
  2. Choose “Tutor Finder” from the navigation menu.
  3. Choose “View Available Tutoring Subjects.”
  4. Choose the tutoring subject, then the course level.
  5. The OTF will list all of the available hours for that course, then click “Reserve” to reserve a time slot.
  6. Drop-in hours are also listed. Select “Notify Tutor,” which will send a reminder email to both the tutor and student.
  7. The OTF will immediately email the tutor and student with a confirmation of the tutoring appointment (subject, date, time, names of tutor and student, and tutoring location).
  8. If the student or tutor needs to cancel, they can do so online as long as it is 6 hours or more before the start of the session.
  9. If a cancellation needs to be made less than 6 hours before the session, both the tutor and student should get in touch via phone or email.

Student Accessibility Services (SAS)

We want to ensure equal access and support for all qualified students by providing reasonable accommodations to ensure each student can fully participate in the course. The Tufts office for Student Accessibility Services helps us accommodate students with special needs. Students with special needs should contact the SAS office in Dowling Suite 720 by emailing accessibility@tufts.edu or by phoning 617-627-4539 and schedule an appointment to determine appropriate accommodation. Accoommodations cannot be applied retroactively, so it is important to do this right away.

Lectures

We meet together in lecture Tuedays and Thursdays at 1330–1445 (Section 1) or 1500–1615 (Section 2) in the Robinson Wing of the SEC, Room 253. You are responsible for anything that happens in class, including announced changes to homework assignments, in-class exercises, and any information not documented elsewhere.

Bring a pencil and paper to lecture and lab. Take notes. Taking notes helps you remember things — sometimes so that you don't need the notes later. This is better than not getting the reinforcement, forgetting, and then needing the notes that you didn't take. We may also ask you to do pencil-and-paper exercises.

Use of computers in class is prohibited unless there are specific in-class exercises to be done on computers. Using computers in class distracts others and undermines your own learning (even if you are actually taking notes). Michael Thramann forwarded me this NYT article by a law professor.

Labs

You must sign up for a lab and attend lab once per week. Lab work will be submitted and graded. You cannot get credit for lab work without attending lab. There are a variety of lab meetings, all in Halligan 116 or 118. You must be signed up for labs, and you must attend a lab to get credit for that lab. That means being registered for a lab, signing the sign-in sheet, and, if required, submitting the lab exercises.

We will usually have a pre-lab due at the start lab. This helps you be better prepared lets you (and us) know how you're doing. There are no make-ups.

We assume that things come up, people get sick. So, for grading purposes, we credit you with full attendance even if you miss 1 or 2 labs. Labs are important, however, so you should avoid missing them.

During the term, if you would like to switch to another lab after the second week of class, you may, but you should do so using department lab registration page rather than SIS. This will ensure that when you get to that lab, there is a seat and a computer for you. You can use this if you have some unusual schedule constraint — afterwards, you can switch back to your previous lab. We discourage too much switching around: pick a lab and stick with it. Use switching privileges to accommodate unforseen and/or temporary conflicts.

Students often ask if they can attend a lab that the registration system says is full. Being registered for a lab guarantees you a space in that lab and, therefore, we cannot allow you to take a seat in a lab at the expense of a registered student. Labs only have a fixed number of computers and lab assistants, and we won't diminish the lab experience for others just for your convenience.

That said, you may try to attend “stand by”: You may drop in on another lab, alert the lab leader that you are there stand-by, wait until it's time for the lab to start, and, if there is an unused computer and empty seat, attend. We do not guarantee that this is possible, but it tends to be increasingly possible as the term progresses. If the lab is filled or if there is one unused computer but it's broken (we usually book labs so there is one computer left over just for this scenario), then you may not attend. If there are too many students, the lab leader will take attendance and all non-registered students will be asked to leave.

You may not attend an otherwise full lab merely for “attendance purposes” or just to take the quiz. Attending lab means you do the hands-on work, and that requires a lab computer and TA resources.

Labs are due at the end of the lab period, but we understand that you may need or want to polish things up. Therefore, you may come back to your lab and finish it up later. You have until the end of the week: 2359 on Friday is the final deadline for lab submissions in any given week.

Piazza Forum

We have a course forum at Piazza for class discussion. This is your forum. Use it to communicate with each other and the course staff. Just remember the cautions below. Send questions related to course material there rather than to the course staff via email: the next person who checks the site and knows the answer can respond. (The average time between question in response last semester was 24 minutes!) If you have any problems or feedback for the Piazza developers, email team@piazza.com.

There is a link to our class forum on the course calendar on the first day of class. Check the forum at least once a day: Important information and announcements will be sent there, including assignment clarifications and schedule changes.

Textbook(s)

We will have readings from two texts. You may use either text, and you do not need both. The paper textbook is a custom version of Data Structures and Algorithm Analysis by Mark Allen Weiss (by “custom,” we mean that it only has the chapters we will cover in class). You can purchase the custom version at the Tufts Bookstore, or the full version online, or you can get whatever recent version you'd like. The second text is an online (free) book: Data Structures and Algorithm Analysis by Clifford A. Shaffer.

Grading

Your final grade will be based on a weighted sum of your homework, quizzes, labs, and exam scores. My current plan is the following, though the weights may change: 55% programming projects, 5% labs and quizzes, 20% first exam, 20% second exam.

All assignments will be normalized to a 100-point scale. Homeworks are all weighted equally. Projects count twice as much as a homework. Each project will comprise multiple submissions, and the scores will be combined with most emphasis on the final submission. There is otherwise no fixed formula for combining the project component scores.

As a rule, we do not curve exams. However, at the end of the term, we may make statistical corrections. Such corrections are not usually more than 3–5 points, but they depend on the data. The corrections, if any, will never make your grade lower, only higher.

Students often ask how they are doing in the course. Once you get some data, you can run some numbers yourself. The above numbers yield the following forumula:

FinalGrade = (0.55 × proj) + (0.05 × labs) + (0.2 × mid) + (0.2 × fin)

Exam scores are easy to determine. Use the percentage score on the exam.

Lab scores are generally good. If you've missed no more than 1 or 2 labs, and you've submitted a good faith effort for each lab, then the score will be very good.xs If you've missed more, then use the portion of labs you've attended and submitted as your grade.

Now you can plug your scores into the above formula. For projects, leave out scores you don't know. As long as the missing ones are similar in quality to the ones you know, you'll have a reasonably accurate estimate. For missing exams, play “what if”: use your lowest score, your average score, and various other scores to see the results.

Questions about grades

You will receive all your evaluations on line. When you receive evaluations of your work, you may have questions. You may suspect we've made a mistake. In fact, though we do our best, in a course this large, there will be mistakes in grading. This is normal, and we have a procedure to deal with it — we want to get things right! If there is a mistake in your favor, there is no need to report anything: it's your lucky day. If you feel there is a mistake that counts against you or if you would like clarification of an evaluation, follow this procedure:
  1. First, read, re-read, and think about the comments in your evaluation. We often get questions that are directly answered in the evaluation originally received, because students ask before they've even read the entire evaluation! Please read and think first. Often, figuring out what is meant on your own helps you learn more.
  2. If you still have a question, and it's about a homework or project, raise it with a TA or with me during regular office hours. Do not email grading questions. You should go to your TA team members, but any member of the course staff can explain things and fix errors.

    For exams, go to any of the graduate TAs, a teaching fellow, or me during regular office hours. We have extensive office hour coverage, so you should be able to get help quickly without having to make a special appointment.

    When you ask for a correction, the grader will re-evaluate you work in whole or in part. It is possible for a grade to go down as a result. Therefore, remember step number 1 above.

  3. If the TA you contact cannot help, then go to your lab leader.
  4. If the situation is still not resolved, contact me or a grad TA and provide the name(s) of the TA(s) you worked with. We'll check with the TAs you name and get your situation resolved. We will not look at cases that have not gone through TAs and lab leaders, and contacting me or a grad TA (outside of our office hours) does not count as a contact for purposes of the 1-week statute of limitations (see below). We can't provide timely feedback if all questions go through one or two people.

You can get explanations and clarifications from the course staff at any time. However, there is a one week statute of limitations on grading corrections: we will work to address questions that come up on an assignment or exam for 1 week after the evaluations are made available to you.

Exams

There will be two in-class exams. The first exam will be roughly half way through the term. The second exam will be during the semester and NOT during the final exam period, and it will be a 75-minute exam (like the first exam). We will either give the exams during the regular lecture meeting time (though we may move to a more spacious location), or we may experiment with doing the exams in lab.
There will not be an exam during final exam period.

There may be periodic assessment quizzes, announced or unannounced.

Unless specifically stated otherwise in advance, exams are closed book, closed notes, and no electronic devices are permitted (that includes computers, calculators, cell phones, etc.). For each exam, each student may bring in one sheet of paper with their own handwritten notes (on the front and back if desired) to use as a reference. The reference sheets will be collected. Photocopied notes are not permitted. (If you write notes yourself, then this can be a study aid, so we want you to do that.)

There are no make-up exams. If you miss the first exam, then your entire exam grade will be based on the second exam. There is no need to notify me or provide justification. However, I strongly recommend that you take the first exam. It provides you and us with valuable feedback about how you're doing, and it prepars you for the required second exam.

The second exam is a requirement: you must take this exam. If you miss it, then, if you have a note from your dean giving an appropriate reason (e.g., illness, family emergency), then you can get an incomplete and take the exam by the incomplete deadline of the following semester. Missing the second exam without your dean's approval will result in a 0 for that exam score.

A final note about illness and exams: Students who are somewhat ill sometimes suggest that they would like to take the exam and “see how it goes.” The implication being that, if their illness or other issue is a problem, they'll not count it. At first, this seems reasonable, but the dean's office generally does not approve of this strategy, because once you've seen the exam, it's impossible to tell whether the desire to not count it is based on valid medical (or other) issues or on the content of the exam. So, you must decide (consulting with medical professionals or counselors of your choice) whether to take the exam before seeing the exam.

Academic integrity and exams.

You will be instructed what materials, if any, you may bring to an exam. As a rule, our exams are closed book, closed notes, and you may not bring any electronic devices (computers, cell phones, music players, calculators, etc.). Tuft's policy on this is very clear. Do NOT bring unauthorized materials, information, or electronic equipment to an exam. Do NOT engage in behavior that gives the appearance of cheating, such as passing a note to a friend, whispering to another student while the exam is in progress, or looking at another student's exam. Do NOT bring your cell phone, tablet, music player, calculator, or any other electronic device to the exam. If you are seen handling an electronic device, even to silence a phone, the Judicial Affairs Administrator will treat it as an academic integrity violation. A typical penalty is 1 or 2 semesters suspension from Tufts. I am obliged to report all such incidents to Judicial Affairs. Please don't make me do that!

Homework/Projects

There will be shorter homework assignments (usually a week) and longer projects. A project counts twice as much as a regular homework. Both include programming implementations in C++. Assignments will be submitted using provide on the department homework servers. It is your responsibility to test your code thoroughly. We use auto-grading to test the functionality of your code; it is important to follow all instructions to ensure full credit. We will often show you some test results when you submit your assignment, but we also will usually run additional tests later.

Projects: There will be 2 larger programming projects in the course.

As you write your programs, remember that

… a computer language is not just a way of getting a computer to perform operations but rather […] a novel formal medium for expressing ideas about methodology. Thus, programs must be written for people to read, and only incidentally for machines to execute. [emphasis added]

–Abelson, Sussman, and Sussman
Structure and Interpretation of Computer Programs

Write for a human audience: organize your program and documentation so that a person who knows C++ but doesn't know anything about your program can read it. Use good variable names. Use functions/procedural abstraction. We'll talk about this during the term. Some things can be made more mechanical, like code formatting.

Code formatting

All code you submit will be graded for structure and organization (including readability) as well as functionality. Formatting matters. When you submit your work, it should be beautiful, and there should be no question of your dedication and correctness. Prepare it as if you were writing up an example for a good textbook. Hint: Just as with a paper for a literature course, the first draft of a program that works is not usually the version to submit.

You'll receive additional guidance on how to organize and format code as the term progresses.

Please refer to the course commenting guidelines for more information.

Late Homework

Homework will be submitted electronically and will be due at the published deadline on the calendar. Because clocks are not perfectly synchronized, and sometimes things go wrong, allow an automatic extension of a few minutes, at least 10 at no cost to you. If you plan on submitting your work at the deadline, you will have nine minutes for last-minute changes. To be clear: the real deadline is the specified time.

Homework is expected to be submitted on time. However, we recognize that the exigencies of college life occasionally interfere with on-time submission. If you have difficulty getting homework in on time, there are two types of extension: automatic (you don't have to ask) and dean-approved.

Automatic extensions are designed to cover common issues such as catching a cold, 2-day stomach bug, etc., as well as things that come up in life. Here's how they work:

Dean-approved extensions are for cases of serious illness, family emergencies, or other unforeseeable severe difficulties. In these special circumstances, extensions are granted after we receive a request from your associate dean. No extensions are granted merely on the basis of a student request. Incapacitation due to illness and deaths in the family are examples of valid reasons. “I'm really busy,” “my assignment isn't done yet,” and “I could do better if I had more time” are examples of non-valid reasons.

To try to give you faster feedback, we need to be able to start grading as soon as possible. So, we will feel free to start grading right after the published deadline if we can. But this means, if you intend to use tokens, you must not submit until you are ready for your code to be graded. We are free to grade any submission we find after the deadline. We will grade the most recent submission as of the time we grade your assignment. But, if you submit something before the deadline as a hedge, we may grade that. If you submit again a day later, for example, intending to use a token, we will not grade the new assignment.

Testing and Limited Submissions

Part of computing involves thinking about how to know whether your solution is correct, and that involves testing. When solving a problem, it's a good idea to construct test cases and examples. Test your code extensively, exercising every part of your code.

When you submit your homework, we may give automated feedback about function (and even style) of your code. We do this to help you avoid some simple errors. However, this is not a replacement for purposeful testing.

To encourage testing, we will limit the number of submissions that are permissible (e. g., to 3 submissions). After the final submission, we will not take any more. Therefore, you should test your code thoroughly. Even if you change what you believe is a non-functional part of the code (comments), you should test again. Submit your homework when you are confident it is correct.

Tokens (mentioned above) are for lateness. They are not a generic currency, and they cannot be used for extra submissions. The submission limit is to encourage testing, which is a separate issue from lateness.

CS Accounts

This course requires the use of the department's computers (lab machines and remote login servers). You will use them in lab and all your work will be evaluated in this environment. Most students do all their programming on department computers (though often remotely).

Most students do not have to do anything to get an account: before the start of classes, the EECS IT staff gets a list of all students registered for a CS course. They automatically create an account for any new students and send an email instructing you how to set your password. You must set your password.

To set your password, go to https://www.eecs.tufts.edu/~accounts/ and click on “Enable or reset your existing ECE/CS UNIX account.”

If you didn't get such an email, be sure to check your Tufts email (or wherever you may have it forwarded) and any relevant spam folders.

If you are waitlisted or not registered as of a day or two before the start of classes, then you must contact EECS IT directly to request an account. Go to the EECS IT Help Desk in Halligan 231.

If you have difficulties, you may email staff@eecs.tufts.edu, but try everything else first.

Software/Platforms

You do not need your own computer for this course. The computers in Halligan Hall have everything you need.

Programming assignments will be in the C++ programming language and will be evaluated on the department's GNU/Linux server. If your program works in some other environment but does not work on the department server, it will be considered broken. Therefore, you will need to test your code on the department server.

Consult the course reference page for other helpful information.

Collaboration and Academic Honesty

All of us should read the Tufts handbook on academic conduct located on the publication website of the student affairs office: http://uss.tufts.edu/studentaffairs/publicationsandwebsites/AcademicIntegrity.pdf.

We can and do make routine use of automated systems for detecting plagiarism. We do catch people, and Tufts does issue sanctions (up to and including suspension or even expulsion from the university). We take it seriously, and so should you.

Some critical guidance:

Some work you do is to further your understanding. Some work will be used to evaluate your understanding (this work is graded). You may work with other students to further your understanding. Work submitted for evaluation is, unless otherwise stated, to be your work alone. You are bound by the basic principles of academic honesty and integrity.

It is never acceptable to present someone else's work as if it were your own. It violates the basic principle of academic honesty. All work you hand in is to be yours and yours alone, unless there is specific instruction to the contrary.

While you are working on a homework assignment, you may collaborate with other students by talking about the problem or your solution in a natural language (e.g., English), but you may not use any formal language, and especially not program code: high-level discussion is good, but each student must do an individual write-up. In other words, you should not be looking at other people's code (project solutions), and you should not show your programs to anyone else. This applies to family members, roommates, anyone. Only you and the course staff can actually read your code.

You are encouraged to use the online forum to discuss course-related work, but the same rules apply: discussions should be in English and should not include code that is part of a homework solution.

One way to avoid accidental plagiarism is to ensure that you are never looking at anyone else's code while you are writing your own. The only reason to look at somebody else's code is if you are helping them find a particular isolated bug. If this becomes an extensive project (e.g., you are asked to help a friend figure out why their linked list is seg-faulting and it becomes apparent that your friend does not understand the use of pointers in C++), please refer the student to a member of the course staff, or go away from the computer and talk to them about the general concept rather than collaborating on an extensive rewrite.

Discussion with others should be documented. An example might be including the following in a README file or in file comments: “Thanks to Sam Hugg for showing me how to initialize the linked list.” This includes TAs from whom you receive help. Academic honesty requires it. If you are not sure what constitutes collaboration or significant help, err on the side of caution. Giving others credit is good, and they will appreciate it, too.

You may consult public literature (books, articles, the web, etc.) for hints, techniques, and even solutions. However, you must reference any sources that contribute to your solution. For example, “I used the Wikipedia page on the Poisson distribution to learn more about generating random arrival times.”

While computers enable easy collaboration and copying both from other students and materials from the internet, it is possible to use these same computers to detect plagiarism and collaboration. The course staff reserves the right to use any available computational tools, or to write new tools, to search for infractions.

If any student does not understand these terms or any material outlined in The Academic Code of Conduct it is his/her responsibility to talk to the instructors or teaching assistants.

Assignments, exams, solutions and even notebooks from previous terms' versions of this course are not considered to be part of the public literature. You must refrain from looking at any solutions from previous versions of the course (unless that information is distributed this semester). Remember: We have every project that has ever been submitted for this course available to us.

Mark A. Sheldon (msheldon@cs.tufts.edu)
Last Modified 2017-Oct-26