Lab 1: How to work on psets

To access starter code and to turn in your problem sets, you will upload your Python code via the Potluck server. This page gives detailed instructions for using it, and will walk you through the process of submitting an "example" task that has been set up on the server for this purpose.

Potluck Overview

The Potluck server enables you to do the following:

In order to use the server, you must first authenticate by logging into your Wellesley domain account (you will be prompted to do so).

Note that the example problem set's due date has been adjusted so that it is currently in the revision period. This means that every time you submit something, you can see feedback immediately (and for a real problem set, you could use that feedback to guide your next submission).

Welcome to the Potluck server

Accessing starter files

For all tasks, there will be some starter files that we supply. To access them:

  1. Go to the CS111 Potluck Server.
  2. Authenticate by logging into your Wellesley domain account.
  3. Scroll down to the task you want to work on (for today, go to the Example Task which is at the top).
  4. Click on the "Download starter files link" on the right-hand side.
  5. Your browser should download a .zip file.
  6. You need to extract the .zip file before you can work with the files inside. On a Mac, double-clicking should work, on Windows after double-clicking you may need to click on the "Extract all" button.

Download and extract the starter files for the example task now to make sure you know how to access starter files.

Step-by-step instructions for uploading your code

  1. Go to the CS111 Potluck Server and authenticate.
  2. You'll see Potluck's dashboard.
    Note that each task has a light blue background right now. This example will focus on the "example" pset, which has only one task called "Example Task" (in the red rectangle below)
    The Potluck interface. There is login information at the very top with a link to log out. Next is the title and the header 'Dashboard' followed by quick links for each problem set, and then a checkbox that can be used to disable form validation (use this only if necessary). Then there is a list of problem sets, each of which has a name, due date information (where the button to request an extension is placed) and series of tasks. Each task has informtion about your submission status, a task name, a form for submitting it including a file chooser and a text field for estimating how long it took you, and a submit button. Each task also has a link to 'View initial feedback' and some warning messages below, which initially indicate that you haven't yet chosen the right filename or estimated your time spent. The warning messages should be linked to the form inputs so you don't have to jump back and forth to check them, although warnings about problems with your submission will also appear at the end of each task.
  3. Click on "Choose File" and browse to find the hello.py file in the lab01 starter files. Note that your selected Python file must have the exact name hello.py, any other file name will generate an error.
    The location of the choose file button within each task. It should be the second element to get focus if you're navigating with Tab, and it should read as 'Submit' followed by a filename, or if things aren't working well, simply as 'Choose file', in which case you can find the text specifying the filename right before it.
  4. Enter a number in the box following "How many hours have you spent on this task (across all attempts)?". If you type a word like "two" Potluck will remind you to enter a number. Your hours spent may be an integer (eg 3) or a decimal (eg 3.5).

    The text entry field for estimating time spent. It should be labeled, but the relevant text is just before it if not.
  5. Click on the "Submit task" button (it is disabled until you select a valid file and enter your time spent)

    The submit button, labeled 'Submit task'. It follows the text entry for time spent, and may be disabled if either you have not chosen a file with the required filename, or you have not entered a numerical value for time spent. If validation is too cumbersome, you can disable it using the checkbox at the very top of the page, although unfortunately this setting may not be remembered. Just make sure that you choose the correct file to upload.
  6. This will bring you to a new window.
    Note that the text at the bottom initially says "Evaluation is still in progress".

    The feedback view. At the very top, there may be one or more messages about your most recent operation, for example confirming a successful upload. After that is the same login information from the original page, and then after the title, a 'Back to the dashboard' link that will take you back to the previous screen. A sub-title includes links for the problem set and task descriptions, and there may be a link offering to view feedback on a revised (or initial) submission instead of the one you're currently viewing. Next comes information about the deadline for the task you're viewing, and then information about how much time you reported spending. After all of that the actual feedback starts. It has several paragraphs describing the state of things, depending on whether or not you've submitted anything, whether feedback is available or not, and whether any errors have occurred. There will be a final list of messages, which in this case is just a single message indicating that evaluation of your submission is still in-progress. When feedback is available, it will be shown after the messages.
  7. Click refresh to see the results of your code evaluation (note that it's possible for more complex tasks to take a bit of time to be evaluated but most tasks should be done in 10 seconds or less, and the evaluation process will be terminated if it takes longer than 60 seconds).
    If you submitted the starter file (as we instructed), you should see a message which warns about this. If you scroll down, you will see a report showing that one of the two goals was accomplished but the other was not: the starter file does use print, but it does not print the correct message.

    The same screen as described above, this time with a new message saying 'You submitted the starter file without any changes (you probably submitted the wrong file?)'. This is expected, becuase we asked you to submit he starter file as a test.
  8. Now, we should edit the hello.py file to fix the issue and submit another revision. Use Thonny to open hello.py, and add 'world' plus an exclamation mark (inside the double-quotes) it so that it looks exactly like this:
    print("Hello world!")

    In your browser, use the link near the top to go back to the dashboard, and submit it again.
    You will have to refresh the page one more time, after which you should get a message in green which says "Your submission is at least partially complete."
    It will look like this:

    The same screen as described above, this time with a new message saying 'Your submission is at least partially complete'. This is the indicator that what you submitted is at least working at a very basic level, and you won't get more detailed feedback than that before the deadline.
  9. Because you are submitting during the revision period, you can view full feedback immediately (otherwise the "at least partially complete" message is all you'll see).
    When you scroll down, the rubric report should now indicate that both of the goals are met, which looks like this:
    The same screen scrolled farther down, to show a nested series of lists, classifying the goals into 'procedure' and 'behavior' requirements, listing one 'core' goal in each of those categories, with the procedure goal titled 'call print' and the behavior goal titled 'Your program prints the correct output.' At each elevel of the hierarchy things are marked as 'accomplished' (visually using a blue check-mark but also with a label for screen readers) because both goals were completed successfully.

    Note that included in the feedback is a copy of your submitted code, as well as a report listing test results which were produced while evaluating the goals. It also includes a copy of the task instructions, and if there were examples that came with the instructions, it includes those too.

  10. Go back to the Potluck dashboard again, using the "Back to the dashboard" link.
  11. Back at the Potluck dashboard, note the following:
    • the background of the exmpleTask entry is now green, and it has both an ellipsis (for the 'initial' submission) and a check-mark in the upper-left (in contrast to the light blue backgrounds and ellipses for other unsubmitted tasks)
      The dashboard again (the first image described on this page) which now shows that the task which was submitted has both an ellipsis (for the 'initial' submission which of course we did not do) and a check mark (which should read as 'submitted').
    • you can resubmit your hello.py file multiple times during the revision period, like we just did (you can also resubmit before the initial deadline, although you can't see detailed feedback until the revision period starts)
  12. OPTIONAL EXTENSION
    Before the revision period starts (for example, for problem set 1 right now), there is a "Take an extension" button on the left of every problem set. If you opt to take an extension on a pset (applies to all tasks), click this button and your 24 hour extension is automatically granted.
    Note that there is currently no way you to undo taking extension, and you won't see feedback until the new extended deadline. Also note that taking an extension does not affect the revision deadline. Get in touch with an instructor if circumstances require additional flexibility.
    The dashboard yet again, showing the location of the 'take an extension' link. It appears as part of the problem set entry (it's not per-task) after the information on the due date, and in tab order should be right after the pset title link and before the first task title. Note that it won't be present for the example problem set because the submission deadline for that has passed.
  13. This shows how the Potluck server reflects the newly amended due date, taking the extension into account for the example task.
    Still the dashboard, with the deadline information highlighted, now including extra text describing that an extension has been taken.

Table of Contents