@extends('template')
@section('title')
    How to work on projects
@stop
@section('content')
{{--TODO: Video version --}}
# Lab 1: How to work on projects
To access starter code and to turn in your projects, you will use [the
Potluck server](https://cs.wellesley.edu/potluck). 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:
* download starter code for a task
* upload your finished code
* obtain feedback on your uploaded code
* submit revisions and obtain feedback immediately
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 project is not worth any points!
# 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](http://cs.wellesley.edu/potluck).
1. Authenticate by logging into your Wellesley domain account.
1. Scroll down to the task you want to work on (for today, go to the
   Example Task which is at the top).
1. Click on the "Download starter files link" on the right-hand side.
1. Your browser should download a `.zip` file. (For the example project, it will download just a `.py` file.)
1. 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](http://cs.wellesley.edu/potluck) and
   authenticate.
1. You'll see Potluck's dashboard.
   Note that each task has a light blue background right now. 
   This example will focus on the "example" project, which has only one
   task called "Example Task" (in the red rectangle below)
   
1. 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.
   
1. 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).
   
1. Click on the "Submit task" button (it is disabled until you select a
   valid file and enter your time spent)
   
1. This will bring you to a new window.
   Note that the text at the bottom initially says "Evaluation is still
   in progress".
   
1. Wait for the page to refresh itself, or 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.
   
1. 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:
   ```py
   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:
   
1. You can view full feedback immediately for every submission you make.
   When you scroll down, the rubric report should now indicate that both
   of the goals are met, which looks something like this:
   
   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.
1. Go back to the Potluck dashboard again, using the "Back to the
   dashboard" link.
1. Back at the Potluck dashboard, note the following:
    + the background of the exampleTask entry is now green, and it should
      have a check mark for the initial submission in the upper-left (in
      contrast to the light blue backgrounds and ellipses for other
      unsubmitted tasks)
      (Note that your image should have just a check mark without an
      ellipsis before it)
      
    + you can resubmit your `hello.py` file multiple times, like we just
      did, and you can see feedback each time. Basically, you can revise
      things until you like your score.
{{-- REMOVING FOR FALL 2024 ------------------------------------------------
1. **OPTIONAL EXTENSION** 
   Before the revision period starts, there is a **"Take an extension"**
   button on the left of every project. If you opt to take an extension
   on a project (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
   except contacting an instructor. Also note that taking an extension
   does NOT affect the revision deadline. Get in touch with an instructor
   if circumstances require additional flexibility.
   
1. This shows how the Potluck server reflects the newly amended due date,
   taking the extension into account for the example task.
    
--}}
@include('/labs/lab01/_toc')
@stop