There are seven main homework assignments:
Due dates are listed on the lectures page.
This course uses the autograder.io interface for the automatic submission and grading of the programmatic components of assignments. This includes test cases, programs, software and the like — basicaslly everything that is not prose text. In general, submission is very similar to EECS 280 or EECS 490.
For autograder assignments, your highest submission grade will be used (even if you later submit a lower-scoring one).
This courses uses the Gradescope interface for the submission and grading of textual components of assignments. This includes prose reports and similar documents. You must use Gradescope's partner selection feature to indicate any partnership.
It is very common to encounter programs or test cases that work on a local student computer but are not accepted by our grading server. It is the responsibility of the student to modify submissions so that they work on the grading server. This legacy programming is a key aspect of software engineering.
Below are a number of particularly common issues that students encounter with the homework assignments for this course:
test/LineChartEx.java:66: error: unmappable character for encoding ASCII "Salary (???)", ^
Sometimes students submit test cases they find online that use international characters that may not be supported by legacy servers. (If you're not familiar with this issue, this is a good opportunity to learn a bit more about Unicode and internationalization.) The quick fix is to change that character (which may look like £ or the like) to something else. See the HW2 FAQ for more information.
No X11 DISPLAY variable was set, but this program performed an operation which requires it. at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:204)
Sometimes students submit test cases they find online that use graphical elements (such as creating GUI windows). Our grading server is headless (i.e., it does not have a monitor or screen) and does not run programs that have UI elements. (If you're not familiar with why "X11 DISPLAY" might be relate to Unix GUI issues, this is a good opportunity to learn a bit more about the X11 Windowing System.) The "quick" fix is to delete the GUI-relevant parts of the test, but students usually just give up on those tests. See the HW2 FAQ for more information.
test/StrokeMapTest.java:43: error: cannot find symbol import org.jfree.chart.TestUtils; ^ symbol: class TestUtils location: package org.jfree.chart
Sometimes students submit test cases they find online that use packages or libraries that are not available on the grading server. For example, some tests may make use of JUnit functionality that may not be present. The "quick" fix is to delete the parts of the test that rely on such external functionality, but students usually just give up on those tests. See the HW2 FAQ for more information.
Number of is-interesting probes made by your submission: 0 Your submission's output is not in the expected format: ['']
Traceback (most recent call last): File "delta.py", line 61, in
Your submission had an error (such as an uncaught exception) and thus did not run to completion on the grading server. (Since it did not produce any output, its output was not in the expected format. Since it did not run, it did not make any probes to the is-interesting function.) The fix here usually involves inspecting the Traceback and fixing the bug in your Python source code. See the HW3 FAQ for more informaiton.
FileNotFoundError: [Errno 2] No such file or directory: 'bash ./is-interesting-0.sh'
Some student submissions do not work when the is-interesting argument contains spaces. In the example above, the student submission is trying to invoke one single executable file named "bash ./is-interesting-0.sh", when it should be trying to invoke the executable "bash" on the argument "./is-interesting-0.sh". The fix here is usually to change how you are invoking the is-interesting function, such as by switching from subprocess.run() to os.system(). See the HW5 FAQ for more information.
++++ Your submission failed to run properly on TestCase1
line_number = int(line.rstrip(':')) ValueError: invalid literal for int() with base 10:
Some student submissions make assumptions about the format of GCOV files. Those assumptions hold for smaller examples, but do not hold for some of the larger files used on the grading server. The fix usually involves going back to previous homeworks, creating GCOV files for larger projects, and using those to debugin and refine your input processing. See the HW5 FAQ for more information.