All assignment submission portals will remain available on Brightspace for 3 additional days even after the due date for each assignment. This is done only so that we remain consistent with the late submission policy mentioned in the syllabus. Do not take the continued availability of the submission portal as an indication that the assignment's due date has not passed!
In all assignments, multiple submissions are allowed. However, only the most recent submission will be retained/saved on Brightspace, and that's the one the teaching staff will grade.
For all assignments, students will need their Stony Brook University single sign-on (SSO) credentials for access.
The first programming assignment is available as a single PDF document. [ download ]
All relevant details are provided in this document, including the submission requirements and a few test cases for each problem. Students are, however, expected to test their program with additional test cases.
Submissions are due on Brightspace by 11:59 pm, Oct 6 (Monday).
Please remember to review this section in the syllabus about homework assignments!
The second programming assignment focuses on algebraic data types. It is available as a single PDF document. [ download ]
Similar to the previous assignment, all relevant details are provided in this document, including the submission requirements and a few test cases for each problem. Students are, however, expected to test their program with additional test cases. Remember to review the syllabus specifications about homework assignments.
Submissions are due on Brightspace by 11:59 pm, Nov 7 (Friday).
The assignment is available here as a PDF document. This homework comes with some code already provided to you. This code base is available here on Google Drive as a folder named "src". You will need to log in with your university single sign-on (SSO) to access both documents.
Your code must be JDK 1.8 compliant. It is highly recommended that you use IntelliJ IDEA as your IDE. In your project settings, set the "Language Level" to be Java 8. You may use any other IDE, but if something goes wrong with a different development platform of your choice, you will mostly have to figure out the solution on your own.
The submission must be a single .zip file comprising all the code (including the classes and interfaces already given to you). However, it should not include anything other than your .java files. Do NOT upload your entire Java project! Your project may have settings specific to your local computer, which can interfere with the grader's system settings.
Submissions are due on Brightspace by 11:59 pm of Nov 30 (Sunday).
The assignment is available here as a PDF document. Just like the last assignment, this one already provides some code (directly in the document). Your task is largely limited to writing the body of several Python functions.
This is a Python programming assignment, and your Python version must be 3.9 or higher. Most modern operating systems come with a recent version of Python preinstalled. If not, downloading and installing Python is really quick! For your develop environment, we highly recommend PyCharm or VSCode with its Python extension.
The submission must be a single .zip file comprising all the code (including any Python classes and interfaces already given to you). However, it should not include anything other than .py files. Do NOT upload your entire Python project! Your project may have settings specific to your local computer, which can interfere with the grader's system settings.
Submissions are due on Brightspace by 11:59 pm of Dec 8 (Monday).