UI logo
CS 440/ECE 448
Fall 2025
Margaret Fleck

 

MPs

 


Overview

We plan 11 MPs. A link will appear here as each MP is ready.

MPs will be due at 11:59pm on Fridays.

General Policies

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

The lowest two MP grades will be dropped. However, you should put some work into understanding each MP, even ones you do not plan to finish. Some MPs depend on previous MPs, which will be indicated in the MP list above. Also, some quiz questions ask about the design of recent MPs.

You are expected to plan your work so that you can submit each MP by its posted deadline, with enough slack to handle minor problems that may arise. Each MP has a one-week grace period. However, if you submit code during the grace period, your maximum score will be capped at 90%.

Since you also have two MP drops, the 90% cap will be waived only under unusual circumstances. We expect to see that you have submitted preliminary work before the deadline, unless you can present compelling reasons why you were unable to even get started in a timely manner.

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 deadline, please report your problem in the regrade folder on piazza.

Getting help from staff

You are expected to 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. process only the first 5 input items).

Submit your code on Gradescope before asking a code-related question on piazza, unless you are asking a general question about Python or the MP instructions. Do not include significant chunks of code in your piazza post.

Questions on piazza can usually be left world-readable, because your code on Gradescope is visible only to course staff and our general advice may be helpful to other students. However, please set your post to private if you feel that it gives away significant details of your implementation.

Programming language

The Python version for this term will be finalized when we release the first MP. We expect it to be 3.12.

The MPs will be written in Python, on your own personal machine. Most recent laptops have sufficient power these days. EWS labs machines (see below) are available as a backup. If you store your work on an external server (e.g. github), make sure it is set to private.

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. You should install Python on your computer, as well as numpy and the pygame graphics package. If you'd like a hardcopy reference for the basics, the hardcopy version 3.6 tutorial is still a good place to start because it covers features that haven't changed much.

You must use the specified version of Python when writing your MP code. The provided code skeletons may not run under earlier versions of Python. If you are using a more recent release of Python, your code could fail to run on the autograder if you use features that were added in more recent versions.

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.

Your code may import modules that are part of the standard python library. External libraries (e.g. you need to download code using pip) are allowed only when specified in the MP instructions. Typically this includes numpy, pygame, and tqdm. The autograder will not have access to other libraries when it runs your code. If you have used Python on your machine extensively for other purposes, we recommend creating a new installation so you can be aware of which libraries do, and do not, come automatically with the language.

The autograder does not have a GPU, so you need to turn off GPU-related options before submitting your code.

Using EWS labs

We normally expect you to develop code on your own personal machine. 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. Or you can follow the EWS instructions for using FastX. Both methods will probably require you to be on a university network or using the university VPN. Notice that the software provided for certain MPs will require graphics, so it may not run over a basic ssh terminal connection.

On EWS (in person or remote), follow these instructions to set up python and pygame in your login environment.

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