Homework assignments constitute an important part of this course. They
are designed to help you understand the materials covered in lectures
and in assigned readings. It is only by doing the homework that you
really learn the material.
There will be 8 homework assignments handed out throughout the semester
(subject to change). Each assignment will consist of a set of "pencil and paper"
problems as well as a "coding" problem. Coding problems will be due in two
installments with each installment representing a self-contained deliverable
(developed over a sequence of assignments). The non-coding portion of each
assignment will be worth 100 points. Each of the two code installments will be
worth 150 points.
Homework Assignments will be worth 30% of the final grade. In calculating the
overall homework grade, the assignment with the lowest grade (for the
non-coding portion) will be
dropped. In other words, your homework grade will consist of 700 points for the
"pencil and paper" portion of the assignments and 300 points for the "coding"
portion of the assignments. Thus 21% of your overall grade will be on the
"pencil and paper" portion of the assignments and 9% of your grade will be on
the "coding" portion of the assignments.
As detailed above, some of the problems in the homework assignments will require programming. Also, a number of homework assignments will
require programming using threads and/or using a cloud platform such as
Map/Reduce on Hadoop. While you are free to use any programming language or
environment that you deem appropriate, the recommended language is Java and the
recommended programming environment is Eclipse.
Homework assignments may be fairly long, each taking an average of 4 hours to complete
(assuming that you are caught up with readings and are fluent in programming), although the time required will vary quite a
bit from student to student and assignment to assignment. Always allow
more time than you think you will need!
Electronic Submission Process:
Homework assignments will be posted on-line at the end of the week (typically
on Fridays). As a tree-friendly practice, no hardcopies will be distributed or
Completed assignments are submitted on-line using
If applicable, please follow special instructions regarding submission and
documentation of your work (especially code). Typically, homework assignments will
span at least two weekends.
If your homework solutions (or parts thereof) are handwritten, you will need to
scan your write-up and upload that electronically. Scanning capabilities are
available at various university libraries and also through the main CS office on
the first floor of MCS (during normal business hours, office staff can help you
email a scanned copy of your work to yourself). Please take this into
consideration so that you don't get stuck having to do this at the last minute.
Graded assignments will be returned (also on-line) in a timely fashion. It is
the student's responsibility to make sure that the grade they received for each
homework is properly recorded by the instructor and/or teaching fellow. This can
be done by periodically checking your grades on-line through the Blackboard
For full credit, your homework must be submitted electronically by the deadline.
There will be a hefty penalty of 25% for a homework submitted one class late. You may submit part of the homework by the deadline to avoid the penalty on that part. No homework will be accepted if late
by more than one
class. There will be no exceptions to this policy, except for certified medical excuses. In such cases,
extensions will be granted only if (and until) the homework solutions
are posted (hopefully, about 1 week after the original due date).