UI logo
CS 440/ECE 448
Fall 2021
Margaret Fleck





We plan about 7 MPs, with 1-2 weeks to finish each one. A link will appear here as each MP is ready.

General Policies

All MPs are individual assignments.

See the syllabus for a discussion of what types of collaboration and copying are/aren't allowed.

You are expected to plan your work so that you can submit each MP by its posted deadline. We expect to see preliminary submissions well ahead of the deadline. Each deadline has a 2-day grace period to allow you to manage problems (e.g. illness) that arise before the deadline. The grace period will not be extended if you start work very close to (or after) the deadline and then problems arise during the grace period.

In the case of major problems beyond your control (e.g. extended illness), contact the instructor.

Grading Policies

Code will be graded automatically. We will provide basic test examples, which you should be able to run on your personal machine. You are expected to do further testing on your own, including (when appropriate) creating new test examples, to ensure that your code works correctly. The autograder will typically re-run some of the provided test cases and also run additional tests. You will typically be able to see feedback on these additional tests (e.g. performance numbers) but not the internal details of the test. Expect that the additional tests may run your code with different parameter settings and/or on new or modified datasets.

We try to release a stable version of the autograder with the MP instructions. However, we may need to patch bugs that are identified (often by students) between the release date and the due date. If you finish the assignment early, recheck your submission close to the due date to make that it still passes the autograder tests.

If you submit in the obvious way, your grade for the MP is the autograder result for your last submission. If you wish us to use an earlier submission instead, you must select that submission explicitly from the gradescope interface. If you cannot do this, e.g. because you submited broken code right before the end of the grace period, please use the regrade procedure (below).

Policies on getting help from staff

It is expected that you will use good style when writing your MP code. If your code is excessively hard to read, we will not help you find bugs in it. For example:

You are expected to do routine testing before asking us for help. You should be able to tell us which specific part of your code is running too slowly or producing the wrong output. If you can't think of a more sophisticated way to do this, add print statements. If the output on the provided test cases is too complicated, make a simpler test example (e.g. only process the first 5 input items).

Finally, before asking us for help, submit your code on Gradescope so that we can easily browse through it. Do not post code fragments on piazza unless you have isolated the problem to a very small section of your code.

Programming language

The MPs will be written in Python. If you've never used Python before, you should start getting used to it now, rather than waiting for the release of the first MP. A good place to start is the Python Tutorial (also available in hardcopy form). You should install version 3.8 or 3.9 on your computer, as well as the pygame graphics package. Please report any problems on piazza.

Using a virtual environment may make it easier to avoid problems with different versions of python or its libraries. See these instructions for how to set one up.

If you are using Windows Subsystem for Linux, look at these additional instructions.

If you are using Mac/OSX, look at these additional instructions.

Your code may import extra modules, but only ones that are part of the standard python library. Unless otherwise specified in the instructions for a specific MP, the only external libraries available during our grading process will be numpy and pygame.

We normally expect you to develop code on your own personal machine. Among other things, the EWS labs may not be reliably open this term. However, as a backup plan (e.g. if your laptop breaks), you can also use linux machines in the EWS labs. For basic remote access, ssh to linux.ews.illinois.edu. Here are some links for more featureful access:

On EWS, follow these instructions to set up python and pygame in your login environment. Notice that the software provided for certain MPs will require graphics, in which case it is unlikely to run over a remote terminal connection.

Submission and regrade procedures

MP code will be submitted to gradescope. See individual MP instructions for details.

We expect that most issues with the autograder will reported as you are developing and testing your code. However, if there are still issues remaining after the assignment closes, please post a request on the "regrade" folder on piazza.