Contacting the Course Staff

The preferred means of contacting the course staff is via Piazza. General questions about the homework, course policies, C++, or Linux should be posted publicly so that your classmates can benefit from the answers and any resulting discussion (before posting a question, please check to see whether your question has already been asked!). Questions that are personal in nature, or that pertain to specific pieces of code that you have written can be posted privately to the course staff.

Sign Up: COMP11 Fall 2019 Piazza Forum

CS Logins

Your CS login is the most important identifier that you will use over the course of the semester. Furthermore, this course requires the use of the department's computers (either the Halligan lab computers or our remote servers that you can log onto). All your work will be evaluated in this environment. To use these computers, you need a CS login.

Most students do not have to do anything to get a login. 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 (and thus a login) for any new students and send an email instructing you how to set your password (be sure to check your Tufts email and any relevant spam folders). You must set your password, which can be done here by clicking "Enable or reset your existing ECE/CS UNIX account".

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 by going to the EECS IT Help Desk in Halligan 231. The EECS IT staff are the only ones who are authorized to create these accounts.

Running COMP11 Programs and Scripts

Throughout the semester, students will need to run our scripts and programs in order to get starter code, use demonstration programs, submit their work, etc. These scripts can be accessed by typing the following command at the Terminal prompt:

use comp11

However this command only makes these programs available during your current Linux session. To make these scripts permanently available, the above command can be added to your .cshrc profile via the following commands:

cd ~
atom .cshrc

This will open your profile in atom (opening atom directly from the terminal will only work on our lab computers). Scroll to the bottom of the file and type the following on a new line:

use -q comp11

Save and close the file. The use comp11 command will now execute automatically each time you log into your Linux account.

Grading

The final grade in this course is computed according to the following breakdown:

Homework 60%
Labs 10%
Midterm 10%
Final 20%

We do not expect to apply a curve to any portion of this grade.

Homework

In general, homworks will go out every Wednesday and be due at midnight the following Tuesday (there will be two longer assignments towards the end of the term). Each homework will be comprised of three components:
  1. A written component that will be submitted via Gradescope
  2. A programming component that will be submitted via our submit11 system
  3. A style component that evaluates how well your code conforms to our style guide
The programing component of your homework must compile on Halligan in order to receive any credit for that component. Homework grades will be posted to Gradescope for students to review.

Late Homework

Homework is expected to be submitted on time. However, we recognize that the exigencies of college life occasionally thwart a homwwork deadline. In such circumstance, there are two types of extensions:

Late tokens: A late token grants you a 24-hour extension on an assignment. Each of you has 4 of them to use over the course of the semester. A maximum of two tokens can be used on any single assignment. Using a late token requires no action on your part. Our grading scripts will automatically check the date of your submission and deduct the appropriate number of tokens. However, there are two things that you can do to ensure that your late tokens get accounted for properly:
  1. If you intend to use a late token: Do not submit your written component until you are ready to submit your final code. This will prevent a partial submission from being graded.
  2. If you do NOT intend to use a late token: Do not submit anything after the due date. We grade your most recently submitted work. If that work came in after the due date, it will be counted as late.
When you do use a late token(s), it will be reported along with your homework grades when they are posted. Once you have used all four of your late tokens, late work will no longer receive credit.

Late tokens are designed to accommodate short-term setbacks like catching a cold or an ill-timed deadline in another class. Again, there is no need for any e-mails or explanations. Just turn in the assignment when you get it done, and the late token accounting will happen automatically.

Dean-approved extensions: Extenuating circumstances occasionally exceed the conveniences of the late token system. In these cases, students must reach out to their dean to request an extension. Your dean will then work with the course staff to make appropriate arrangements.

Regrade Requests

All regrade requests must be submitted via Gradescope within two weeks of the assignment due date. In cases where it is not immediately obvious how to submit a regrade request for a particular component of an assignment, it is always fine to submit the request on the first problem of the assignment.

A regrade request may or may not result in a new grade being assigned. The new grade may be higher or lower than the original grade. You are always welcome to ask for an explanation of the grade you received.

Labs

Attendance in lab is mandatory. Our weekly labs are designed expressly to prepare students for the current homework. Students will work with a partner to complete a small problem or activity in the allotted time.

Labs will be graded according to whether or not they were completed to a sufficent degree. Lab grades will be posted to Gradescope as a component of the weekly homework grade.

Collaboration and Academic Integrity

As described above, homeworks will be comprised of two components, a written component and a programming component. For each of them, we have slightly different policies about which forms of outside help and collaboration are acceptable:

Written

The goal of our written problems is to give students practice at finding pieces of information that they have not expressly been given in class and lab. This skill allows you to eventually function independently as a programmer, and is critical for all computer scientists to master.

As such, students are expected to find the answers to written problems themselves. They may not confer with their classmates, and may only minimally query the TA staff. From there, however, any means of finding an answer is fair game. Students may search the internet, consult their textbook, write test programs - anything.

Programming

Both your classmates and the internet at large can be invaluable resources, so long as they are used according to the following three policies:
  1. You may search the internet and talk to other students about general programing concepts and C++ syntax, but not about assignment-specific code or strategies. For example, it is fine to ask "How do you structure a 'while' loop in C++?", but it is not fine to ask "How do you write a Caesar Cipher decryptor in C++?"
  2. Use English. Use whiteboards. However, you should never be looking at another student's code. If a TA sees you doing this, it will be reported.
  3. Only submit code that you can explain. We reserve the right at any time to ask you to explain a piece of code that you submitted. If you cannot explain the code, then we will have no choice but to assume that it is not your work.
Suspected academic integrity voilations are forwarded directly to the Office of Student Affairs. Their sanctions range from horrible to inconceivably horrible. It's not worth it.