- What can I do if I have a question that is not answered on this
This semester we will be using Piazza
for class discussion.
The system provides a nice environment for discussing class-related
questions and getting help efficiently from classmates, the teaching
assistant, and the instructor.
Rather than emailing questions to the
teaching staff, we encourage you to post your questions on Piazza.
All 683 students should enroll in Piazza during the first week of
classes. Here is the signup link:
- Can I use an older edition of the textbook for the reading
The second edition has significant overlap with the third edition, so it
is acceptable. The schedule shows the assigned readings both
referring to the third edition (3e) and the second edition (2e).
- How do I access the Edlab account?
The EdLab page is: http://www-edlab.cs.umass.edu/.
You should each have an EdLab account. Most account names are the same
as the OIT usernames (not the CS department usernames). If you had an
account last semester, your password should be unchanged. If
this is a new EdLab account, your initial password is ELxxxaaa
- where xxx is the last 3 digits of the ID number, and aaa is the
first 3 characters/digits of the username.
The Linux EdLab machines are
called elnux1.cs.umass.edu, elnux2, elnux3, elnux4, elnux7 . The EdLab page highly recommends that for
any remote sessions, one of these machines is used. Please refer to
the EdLab page for more details. If you have problems accessing your
account or using EdLab, email CSCF or the TA.
- How do I hand in homework assignments?
This semester we will use an online tool called
for collecting and grading homework assignments.
Information on how to enroll in this class in gradescope will be
provided duing the first week of classes. You will be notified when the
system is ready for accepting the first homework assignment.
Here are a few guidelines regarding the preparation of homework
- Submissions have to be in portrait letter paper format and submitted
as a single PDF file. No other format is accepted, including any kind of
compressed file containing the PDF.
- When you upload a submission to Gradescope, it requests that you
identify which page contains the answer for each part. This can take
around 2 minutes, but some students wait until the very last minute to
submit and then rush through this process by selecting all pages for
every question. Please do not do this, as it makes grading much more
difficult. Please only assign the relevant pages for each part when
prompted. You may find it easiest (and it is certainly easiest for us)
if you answer each part of each question on a separate page, which is
quite easy to do in LaTeX with only a marginal increase in submission
- Please ensure the readability of your submissions. Typesetting
submissions (LaTeX, LyX, etc.) is strongly encouraged.
- Do not submit completely handwritten solutions, or solutions written
in a pure text editor, please! This makes it really hard for us to
grade, and more often leads to incorrect grades. Exceptions are complex
graphs, where hand drawing makes everything that much easier.
- Scanned portion of the homework assignment are
acceptable, provided that they are clear and well-organized.
Cell phone pictures are unacceptable. If you use your cell phone to
generate the PDF, use a scanning app such as CamScanner, which
produces high quality results (you can get a free upgrade to the "pro"
level if you use your .edu email address).
- Once a submission has been uploaded, we strongly recommend that you
verify the uploaded file.
- Sharing or copying solutions is unacceptable and could result in
- How do I hand in the programming portion of the homework?
Programming portions should be submitted electronically via the Edlab. Please
don't print out your code.
Upload the whole code through the
Edlab. The area for this course on the Edlab machines is located at
/courses/cs600/cs683. Each student has a
subdirectory, accessible only to that student and the course
administrators. In your directory, please create a subdirectory called hw_x, and use it to place code that you used for
Assignment x and the output. On linux, you can use scp to updload the files. For
will copy a file from your current directory to the Ed
You can use WinSCP with Windows.
Note that you will be depositing the code to
/courses/cs600/cs683/username/hw_x directory, not your home
directory. Please follow the hw_x naming convention because the
contents of this directory will be collected automatically. When
working in pairs, only one person needs to upload the code. Make sure
that the name of your partner is on the write-up you turn
- What are the guidelines for the programming parts of the homework?
Here are a few guidelines regarding the programming portions of homework
- In addition to submitting code for your problem via the Edlab please
indicate in the Gradescope submission the relative paths of the files
and which functions correspond to each part. We prefer that you follow
useful naming conventions, use one file per question, and
We need to be able to find your code in order to grade it,
so the easier you make this the better it is for us all.
- You may use public implementations of standard algorithms as long as
they do not reduce the problem to a triviality. In particular, you may
use the code provided by the
textbook, and this serves as a useful benchmark
for what sort of other public implementations would be considered
acceptable. If you think some third-party code answers too much of the
question you may inquire about it on Piazza well before the assignment
- Whenever you are using third-party code you must clearly cite your
source in the relevant parts of the Gradescope submission and indicate
which parts of your code are not your original work.
- Please reduce the submissions to contain only the code
solving the problem. Submitting an entire Github repo from the above
link with each homework assignment would be unnecessary and further
complicate locating your code.
- If you rely on public implementations of the code, be sure that it
passes a reasonably sanity check. For example, although most of the code
provided by the book is quite good the Python implementation of the
backtracking algorithm is not optimal (or perhaps even buggy).
It is up
to you to verify the correctness of any third-party code you rely on;
you may receive points off if the third party code contains errors which
negatively impacts your answer.
- What is the late policy?
Assignments are to be turned in by 11:59 PM on the due date. Gradescope
will automaticaly disable turning in homework after the deadline and no
parts of a programming assignment should be modified on the EDLAB. No
exception will be made.
If you cannot meet a deadline, you need to discuss that with the
in advance and make alternate arrangements for turning in your
- Can I use the AIMA code that came with the textbook?
This is permissible, but you must state clearly which parts of
the code were taken from the textbook. Do not use any code from
sources without getting an explicit permission ahead of time, except
structures and functions, such as heap, stack, quicksort, etc.
- Can I work with someone else on the assignments?
You can work in pairs only on the programming
parts of homework assignments. Working in pairs is optional.
In any case, every student must turn in a
complete separate writeup and indicate clearly the name of their
partner. The theoretical/written parts of homework assignments must
be completed individually by each student.
- Is it necessary to complete the optional parts of homework assignments?
Optional parts are exactly that -- entirely optional.
You can get an
"A" in the class without doing any of the optional work. However,
optional work will be graded and recorded separately, and will count
as bonus points when the final letter grade is determined. Note that all
optional parts must be completed individually, even when programming is
© 2017 Shlomo Zilberstein.