{"assignment":{"_schema_version":2,"course_id":37,"date_created":"2022-06-28T19:00:00+00:00","date_modified":"2022-08-10T16:31:34.556786+00:00","extra_instructor_files":"","extra_starting_files":"","forked_id":null,"forked_version":null,"hidden":false,"id":986,"instructions":"# Defining Functions Checklist\n\nWhen you are struggling to define a function, it helps to have a plan. You might want to print this page out and keep it by your side.\n\nWrite the parts of the function in this order:\n\n1. **Function Header**: Have you written the header, including...\n\n    A. **`def` Keyword**  \n    B. **Function name**  \n    C. **Open parentheses**: `(`  \n    D. **Parameters**: Remember, each parameter needs to have:  \n    \n      1. **Parameter name**\n      2. **Colon**: `:`\n      3. **Parameter type**\n      4. **Comma**: But only *between* parameters.\n    \n    E. **End parentheses**: `)`  \n    F. **Arrow**: `->`  \n    G. **Return type**  \n    H. **Colon**: `:`  \n    \n2. **Write a Docstring**: Put a triple-quoted string literal(`\"\"\" Like this \"\"\"`) inside of the function, indented with four spaces. Inside the literal, write a description of what the function does. Then unindent the next line to leave the function.\n3. **Write a Unit Test**: Have you written at least one test case, including...\n\n    A. **Calling `assert_equal` function**  \n    B. **Calling your function**: Make sure you call the function you are testing as the first argument to `assert_equal`.  \n    C. **Arguments**: Your test case's inputs are the arguments to your function.  \n    D. **Expected Value**: The second argument to the `assert_equal` should be a value that you expect your function to return.  \n\n4. **Make More Unit Tests**: Make several more test cases, trying to think about:  \n\n    A. A simple case that gives an example of the function under normal circumstances  \n    B. A case where integers are zero, strings are the empty string, or lists are empty  \n    C. A more complex case using unusual numbers, symbols, or other values.  \n\n5. **Body**: Now, you can think about what to put in the body, making sure you end with...  \n    A. **Return Statement**: If your function does not use the `return` statement with a value, then it will return `None`.\n","ip_ranges":"","name":"2A4) Function Checklist Reading","on_change":"","on_eval":"","on_run":"","owner_id":1,"owner_id__email":"acbart@udel.edu","points":0,"public":true,"reviewed":false,"sample_submissions":[],"settings":"","starting_code":"","subordinate":true,"tags":[],"type":"reading","url":"bakery_functions_checklist_read","version":6},"ip":"216.73.216.157","submission":{"_schema_version":3,"assignment_id":986,"assignment_version":6,"attempts":0,"code":"","correct":false,"course_id":37,"date_created":"2026-05-20T18:20:13.353478+00:00","date_due":"","date_graded":"","date_locked":"","date_modified":"2026-05-20T18:20:13.353478+00:00","date_started":"","date_submitted":"","endpoint":"","extra_files":"","feedback":"","grading_status":"NotReady","id":2037062,"score":0.0,"submission_status":"Started","time_limit":"","url":"submission_url-dbe7f066-d82f-4304-9e39-62c7e1ef9488","user_id":2044723,"user_id__email":"","version":0},"success":true}
