Homework Assignments

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.

Nature, Frequency, and Grading:

There will be 10 homework assignments handed out throughout the semester (subject to change).

Homework Assignments will be worth 30% of the final grade. In calculating the overall homework grade, the homework with  the lowest grade will be dropped; i.e., the nine homework assignments with the highest grades will count toward the 30% of your class grade. So, each assignment is worth 3.33% of your class grade.

Homework assignments are not necessarily weighted equally and problems within homework assignments may also vary in their relative weights. Harder/longer homework assignments will constitute a larger percent of the combined grade for all homework assignments.

Some of the problems in the homework assignments will require programming. At least two of the homework assignments will require writing a discrete event simulator for a queuing system, which (for some) may prove a bit challenging given the "different" nature of such a program (management of queues, events, state of the queuing system and of the simulation, etc.)  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 made available.

Completed homework assignments are to be handed in electronically, typically using gsubmit (check details regarding submitting solutions and code). Typically, homework assignments will be due before the lecture on Tuesday (12 days after being handed out).

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 course's intranet. 

Late Policy:

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).