Department of Computer Science, College of Arts & Sciences

Fundamentals of Computing Systems

CS-350: Spring 2018

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 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 made available.

Completed assignments are submitted on-line using gsubmit ( 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 portal.  

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