Skip to content

Problem report: https://runestone.academy/assignment/student/doAssignment?assignment_id=286411 #1486

Description

@irunestone

A problem was reported through the Runestone "Report a Problem" form.

Field Value
Reporter trevorb@northeast.edu
Email trevorb@northeast.edu
Course northeastcommunitycollege_pswadsup_fall26
Page https://runestone.academy/assignment/student/doAssignment?assignment_id=286411
Reported at 2026-09-09T03:30:07.553452

Description

I'm using Runestone through Canvas/LTI for a Data Structures and Algorithms course. The student entered the correct answer and Runestone displays “Correct,” but the question still shows 0.0 / 1 with the scoring method set to Best Answer.
I've been seeing this with some of the quick-check/book exercises, and it is causing incorrect assignment scores to be passed back to Canvas.
Has anyone experienced this or found a setting/workaround that fixes it?

Browser console log

[info] sagecell.makeSagecell called
[info] sagecell.makeSagecell finished
[log] {}
[log] [{"activities_required":null,"activity_info":"{}","allow_pairs":"false","base_url":"/ns/books/published/northeastcommunitycollege_pswadsup_fall26/","chapter_chapter_name":"Implementing a Stack in Python","chapter_chapter_num":5,"chapter_label":"basic-data-structures","chapter_name":"Basic Data Structures","chapter_num":3,"comment":"ungraded","downloads_enabled":"false","how_graded":"Best Answer","htmlsrc":"<div class=\"ptx-runestone-container\">\n            <div class=\"runestone explainer ac_section \">\n              <div data-component=\"activecode\" id=\"pswadsup_4_stack_ex_1\">\n                <textarea data-lang=\"python\" data-audio=\"\" data-coach=\"true\" style=\"visibility: hidden;\" id=\"pswadsup_4_stack_ex_1_editor\" data-question_label=\"\" data-codelens=\"true\" data-timelimit=\"25000\">from pythonds3.basic import Stack\n\ns = Stack()\n\nprint(s.is_empty())\ns.push(4)\ns.push(\"dog\")\nprint(s.peek())\ns.push(True)\nprint(s.size())\nprint(s.is_empty())\ns.push(8.4)\nprint(s.pop())\nprint(s.pop())\nprint(s.size())\n</textarea>\n              </div>\n            </div>\n          </div>\n        ","is_incorrect":false,"is_instructor":"true","is_logged_in":"true","latex_macros":"\n\n\\newcommand{\\lt}{<}\n\\newcommand{\\gt}{>}\n\\newcommand{\\amp}{&}\n","markup_system":"PreTeXt","name":"pswadsup_4_stack_ex_1","points":1,"qnumber":"ActiveCode","question_type":"activecode","readings":[],"score":0,"sub_chapter_label":"basic-ds_implementing-a-stack-in-python"},{"activities_required":null,"activity_info":"{}","allow_pairs":"false","base_url":"/ns/books/published/northeastcommunitycollege_pswadsup_fall26/","chapter_chapter_name":"Implementing a Stack in Python","chapter_chapter_num":5,"chapter_label":"basic-data-structures","chapter_name":"Basic Data Structures","chapter_num":3,"comment":"ungraded","downloads_enabled":"false","how_graded":"Best Answer","htmlsrc":"<div class=\"ptx-runestone-container\">\n            <div class=\"runestone explainer ac_section \">\n              <div data-component=\"activecode\" id=\"pswadsup_4_stack_stringrev\">\n                <textarea data-lang=\"python\" data-audio=\"\" data-coach=\"true\" style=\"visibility: hidden;\" id=\"pswadsup_4_stack_stringrev_editor\" data-question_label=\"\" data-codelens=\"true\" data-timelimit=\"25000\">from test import testEqual\nfrom pythonds3.basic import Stack\n\ndef rev_string(my_str):\n    # your code here\n\ntestEqual(rev_string(\"apple\"), \"elppa\")\ntestEqual(rev_string(\"x\"), \"x\")\ntestEqual(rev_string(\"1234567890\"), \"0987654321\")\n</textarea>\n              </div>\n            </div>\n          </div>\n        ","is_incorrect":false,"is_instructor":"true","is_logged_in":"true","latex_macros":"\n\n\\newcommand{\\lt}{<}\n\\newcommand{\\gt}{>}\n\\newcommand{\\amp}{&}\n","markup_system":"PreTeXt","name":"pswadsup_4_stack_stringrev","points":1,"qnumber":"ActiveCode","question_type":"activecode","readings":[],"score":0,"sub_chapter_label":"basic-ds_implementing-a-stack-in-python"},{"activities_required":null,"activity_info":"{}","allow_pairs":"false","base_url":"/ns/books/published/northeastcommunitycollege_pswadsup_fall26/","chapter_chapter_name":"Implementing a Stack in Python","chapter_chapter_num":5,"chapter_label":"basic-data-structures","chapter_name":"Basic Data Structures","chapter_num":3,"comment":"ungraded","downloads_enabled":"false","how_graded":"Best Answer","htmlsrc":"<div class=\"ptx-runestone-container\">\n            <div class=\"runestone explainer ac_section \">\n              <div data-component=\"activecode\" id=\"pswadsup_4_lst-stackcode1\">\n                <textarea data-lang=\"python\" data-audio=\"\" data-coach=\"true\" style=\"visibility: hidden;\" id=\"pswadsup_4_lst-stackcode1_editor\" data-question_label=\"\" data-codelens=\"true\" data-timelimit=\"25000\">class Stack:\n    \"\"\"Stack implementation as a list\"\"\"\n\n    def __init__(self):\n        \"\"\"Create new stack\"\"\"\n        self._items = []\n\n    def is_empty(self):\n        \"\"\"Check if the stack is empty\"\"\"\n        return not bool(self._items)\n\n    def push(self, item):\n        \"\"\"Add an item to the stack\"\"\"\n        self._items.append(item)\n\n    def pop(self):\n        \"\"\"Remove an item from the stack\"\"\"\n        return self._items.pop()\n\n    def peek(self):\n        \"\"\"Get the value of the top item in the stack\"\"\"\n        return self._items[-1]\n\n    def size(self):\n        \"\"\"Get the number of items in the stack\"\"\"\n        return len(self._items)\n</textarea>\n              </div>\n            </div>\n          </div>\n        ","is_incorrect":false,"is_instructor":"true","is_logged_in":"true","latex_macros":"\n\n\\newcommand{\\lt}{<}\n\\newcommand{\\gt}{>}\n\\newcommand{\\amp}{&}\n","markup_system":"PreTeXt","name":"pswadsup_4_lst-stackcode1","points":1,"qnumber":"ActiveCode: Listing 3.5.1","question_type":"activecode","readings":[],"score":0,"sub_chapter_label":"basic-ds_implementing-a-stack-in-python"},{"activities_required":null,"activity_info":"{}","allow_pairs":"false","base_url":"/ns/books/published/northeastcommunitycollege_pswadsup_fall26/","chapter_chapter_name":"Implementing a Stack in Python","chapter_chapter_num":5,"chapter_label":"basic-data-structures","chapter_name":"Basic Data Structures","chapter_num":3,"comment":"autograded","downloads_enabled":"false","how_graded":"Best Answer","htmlsrc":"<div class=\"ptx-runestone-container\">\n            <div class=\"runestone multiplechoice_section\">\n              <div class=\"exercise-statement\">\n<div class=\"para\" id=\"stack_1-1-1\">Q-4: Given the following sequence of stack operations, what is the top item on the stack when the sequence is complete?<div class=\"autopermalink\" aria-hidden=\"true\" data-description=\"Paragraph\"><a tabindex=\"-1\" href=\"#stack_1-1-1\" title=\"Copy heading and permalink for Paragraph\" aria-label=\"Copy heading and permalink for Paragraph\">&#128279;</a></div></div> <div class=\"code-box\"><pre class=\"program clipboardable\"><code class=\"language-py\">m = Stack()\nm.push(\"x\")\nm.push(\"y\")\nm.pop()\nm.push(\"z\")\nm.peek()\n</code></pre></div></div>\n              <ul data-component=\"multiplechoice\" class=\"exercise-interactives\" id=\"pswadsup_4_stack_1\" data-multipleanswers=\"false\">\n                <li data-component=\"answer\" id=\"pswadsup_4_stack_1_opt_a\">\n<div class=\"para\" id=\"stack_1-2-1-1-1\">\"x\"</div></li>\n                <li data-component=\"feedback\" id=\"pswadsup_4_stack_1_opt_a\">\n<div class=\"para\" id=\"stack_1-2-1-2-1\">Remember that a stack is built from the bottom up.</div></li>\n                <li data-component=\"answer\" id=\"pswadsup_4_stack_1_opt_b\">\n<div class=\"para\" id=\"stack_1-2-2-1-1\">\"y\"</div></li>\n                <li data-component=\"feedback\" id=\"pswadsup_4_stack_1_opt_b\">\n<div class=\"para\" id=\"stack_1-2-2-2-1\">Remember that a stack is built from the bottom up.</div></li>\n                <li data-component=\"answer\" id=\"pswadsup_4_stack_1_opt_c\" data-correct=\"\">\n<div class=\"para\" id=\"stack_1-2-3-1-1\">\"z\"</div></li>\n                <li data-component=\"feedback\" id=\"pswadsup_4_stack_1_opt_c\">\n<div class=\"para\" id=\"stack_1-2-3-2-1\">Good job.</div></li>\n                <li data-component=\"answer\" id=\"pswadsup_4_stack_1_opt_d\">\n<div class=\"para\" id=\"stack_1-2-4-1-1\">The stack is empty</div></li>\n                <li data-component=\"feedback\" id=\"pswadsup_4_stack_1_opt_d\">\n<div class=\"para\" id=\"stack_1-2-4-2-1\">Remember that a stack is built from the bottom up.</div></li>\n              </ul>\n            </div>\n          </div>\n        ","is_incorrect":false,"is_instructor":"true","is_logged_in":"true","latex_macros":"\n\n\\newcommand{\\lt}{<}\n\\newcommand{\\gt}{>}\n\\newcommand{\\amp}{&}\n","markup_system":"PreTeXt","name":"pswadsup_4_stack_1","points":1,"qnumber":"Exercise 3.5.1 ","question_type":"mchoice","readings":[],"score":1,"sub_chapter_label":"basic-ds_implementing-a-stack-in-python"},{"activities_required":null,"activity_info":"{}","allow_pairs":"false","base_url":"/ns/books/published/northeastcommunitycollege_pswadsup_fall26/","chapter_chapter_name":"Implementing a Stack in Python","chapter_chapter_num":5,"chapter_label":"basic-data-structures","chapter_name":"Basic Data Structures","chapter_num":3,"comment":"autograded","downloads_enabled":"false","how_graded":"Best Answer","htmlsrc":"<div class=\"ptx-runestone-container\">\n            <div class=\"runestone multiplechoice_section\">\n              <div class=\"exercise-statement\">\n<div class=\"para\" id=\"stack_2-1-1\">Q-5: Given the following sequence of stack operations, what is the top item on the stack when the sequence is complete?<div class=\"autopermalink\" aria-hidden=\"true\" data-description=\"Paragraph\"><a tabindex=\"-1\" href=\"#stack_2-1-1\" title=\"Copy heading and permalink for Paragraph\" aria-label=\"Copy heading and permalink for Paragraph\">&#128279;</a></div></div> <div class=\"code-box\"><pre class=\"program clipboardable\"><code class=\"language-py\">m = Stack()\nm.push(\"x\")\nm.push(\"y\")\nm.push(\"z\")\nwhile not m.is_empty():\n   m.pop()\n   m.pop()\n</code></pre></div></div>\n              <ul data-component=\"multiplechoice\" class=\"exercise-interactives\" id=\"pswadsup_4_stack_2\" data-multipleanswers=\"false\">\n                <li data-component=\"answer\" id=\"pswadsup_4_stack_2_opt_a\">\n<div class=\"para\" id=\"stack_2-2-1-1-1\">\"x\"</div></li>\n                <li data-component=\"feedback\" id=\"pswadsup_4_stack_2_opt_a\">\n<div class=\"para\" id=\"stack_2-2-1-2-1\">You may want to check out the docs for isEmpty</div></li>\n                <li data-component=\"answer\" id=\"pswadsup_4_stack_2_opt_b\">\n<div class=\"para\" id=\"stack_2-2-2-1-1\">the stack is empty</div></li>\n                <li data-component=\"feedback\" id=\"pswadsup_4_stack_2_opt_b\">\n<div class=\"para\" id=\"stack_2-2-2-2-1\">There is an odd number of things on the stack but each time through the loop 2 things are popped.</div></li>\n                <li data-component=\"answer\" id=\"pswadsup_4_stack_2_opt_c\" data-correct=\"\">\n<div class=\"para\" id=\"stack_2-2-3-1-1\">an error will occur</div></li>\n                <li data-component=\"feedback\" id=\"pswadsup_4_stack_2_opt_c\">\n<div class=\"para\" id=\"stack_2-2-3-2-1\">Good Job.</div></li>\n                <li data-component=\"answer\" id=\"pswadsup_4_stack_2_opt_d\">\n<div class=\"para\" id=\"stack_2-2-4-1-1\">\"z\"</div></li>\n                <li data-component=\"feedback\" id=\"pswadsup_4_stack_2_opt_d\">\n<div class=\"para\" id=\"stack_2-2-4-2-1\">You may want to check out the docs for isEmpty</div></li>\n              </ul>\n            </div>\n          </div>\n        ","is_incorrect":false,"is_instructor":"true","is_logged_in":"true","latex_macros":"\n\n\\newcommand{\\lt}{<}\n\\newcommand{\\gt}{>}\n\\newcommand{\\amp}{&}\n","markup_system":"PreTeXt","name":"pswadsup_4_stack_2","points":1,"qnumber":"Exercise 3.5.2 ","question_type":"mchoice","readings":[],"score":1,"sub_chapter_label":"basic-ds_implementing-a-stack-in-python"},{"activities_required":null,"activity_info":"{}","allow_pairs":"false","base_url":"/ns/books/published/northeastcommunitycollege_pswadsup_fall26/","chapter_chapter_name":"Implementing a Stack in Python","chapter_chapter_num":5,"chapter_label":"basic-data-structures","chapter_name":"Basic Data Structures","chapter_num":3,"comment":"ungraded","downloads_enabled":"false","how_graded":"Best Answer","htmlsrc":"<div class=\"ptx-runestone-container\">\n            <div class=\"runestone yt_section\">\n              <div id=\"pswadsup_4_stack1_video\" data-component=\"youtube\" class=\"align-left youtube-video\" data-video-height=\"\" data-video-width=\"\" data-video-videoid=\"fZtLSM7k_54\" data-video-divid=\"pswadsup_4_stack1_video\" data-video-start=\"0\" data-video-end=\"-1\"/>\n            </div>\n          </div>\n        ","is_incorrect":false,"is_instructor":"true","is_logged_in":"true","latex_macros":"\n\n\\newcommand{\\lt}{<}\n\\newcommand{\\gt}{>}\n\\newcommand{\\amp}{&}\n","markup_system":"PreTeXt","name":"pswadsup_4_stack1_video","points":1,"qnumber":"Video: fZtLSM7k_54","question_type":"youtube","readings":[],"score":0,"sub_chapter_label":"basic-ds_implementing-a-stack-in-python"},{"activities_required":null,"activity_info":"{}","allow_pairs":"false","base_url":"/ns/books/published/northeastcommunitycollege_pswadsup_fall26/","chapter_chapter_name":"Simple Balanced Parentheses","chapter_chapter_num":6,"chapter_label":"basic-data-structures","chapter_name":"Basic Data Structures","chapter_num":3,"comment":"ungraded","downloads_enabled":"false","how_graded":"Best Answer","htmlsrc":"<div class=\"ptx-runestone-container\">\n            <div class=\"runestone explainer ac_section \">\n              <div data-component=\"activecode\" id=\"pswadsup_4_lst-parcheck1\">\n                <textarea data-lang=\"python\" data-audio=\"\" data-coach=\"true\" style=\"visibility: hidden;\" id=\"pswadsup_4_lst-parcheck1_editor\" data-question_label=\"\" data-codelens=\"true\" data-timelimit=\"25000\">from pythonds3.basic import Stack\n\n\ndef par_checker(symbol_string):\n    s = Stack()\n    for symbol in symbol_string:\n        if symbol == \"(\":\n            s.push(symbol)\n        else:\n            if s.is_empty():\n                return False\n            else:\n                s.pop()\n\n    return s.is_empty()\n\n\nprint(par_checker(\"((()))\"))  # expected True\nprint(par_checker(\"((()()))\"))  # expected True\nprint(par_checker(\"(()\"))  # expected False\nprint(par_checker(\")(\"))  # expected False\n</textarea>\n              </div>\n            </div>\n          </div>\n        ","is_incorrect":false,"is_instructor":"true","is_logged_in":"true","latex_macros":"\n\n\\newcommand{\\lt}{<}\n\\newcommand{\\gt}{>}\n\\newcommand{\\amp}{&}\n","markup_system":"PreTeXt","name":"pswadsup_4_lst-parcheck1","points":1,"qnumber":"ActiveCode: Listing 3.6.2","question_type":"activecode","readings":[],"score":0,"sub_chapter_label":"basic-ds_simple-balanced-parentheses"},{"activities_required":null,"activity_info":"{}","allow_pairs":"false","base_url":"/ns/books/published/northeastcommunitycollege_pswadsup_fall26/","chapter_chapter_name":"Converting Decimal Numbers to Binary Numbers","chapter_chapter_num":8,"chapter_label":"basic-data-structures","chapter_name":"Basic Data Structures","chapter_num":3,"comment":"autograded","downloads_enabled":"false","how_graded":"Best Answer","htmlsrc":"<div class=\"ptx-runestone-container\">\n            <div class=\"runestone fillintheblank_section\">\n              <div data-component=\"fillintheblank\" data-question_label=\"\" id=\"pswadsup_4_baseconvert1\">\n<div class=\"para\" id=\"baseconvert1-1-1\">Q-3: What is value of 25 expressed as an octal number? <input type=\"text\" placeholder=\"Number\"/><div class=\"autopermalink\" aria-hidden=\"true\" data-description=\"Paragraph\"><a tabindex=\"-1\" href=\"/ns/books/published/pswadsup/#baseconvert1-1-1\" title=\"Copy heading and permalink for Paragraph\" aria-label=\"Copy heading and permalink for Paragraph\">&#128279;</a></div></div><script type=\"application/json\">[[{\"number\": [[31, 31], [31, 31]], \"feedback\": \"\\n<div class=\\\"para\\\" id=\\\"baseconvert1-2-1-2-1-1\\\">Correct.<\\/div>\"}]]</script></div>\n            </div>\n          </div>\n        ","is_incorrect":true,"is_instructor":"true","is_logged_in":"true","latex_macros":"\n\n\\newcommand{\\lt}{<}\n\\newcommand{\\gt}{>}\n\\newcommand{\\amp}{&}\n","markup_system":"PreTeXt","name":"pswadsup_4_baseconvert1","points":1,"qnumber":"Exercise 3.8.1 ","question_type":"fillintheblank","readings":[],"score":0,"sub_chapter_label":"basic-ds_converting-decimal-numbers-to-binary-numbers"},{"activities_required":null,"activity_info":"{}","allow_pairs":"false","base_url":"/ns/books/published/northeastcommunitycollege_pswadsup_fall26/","chapter_chapter_name":"Converting Decimal Numbers to Binary Numbers","chapter_chapter_num":8,"chapter_label":"basic-data-structures","chapter_name":"Basic Data Structures","chapter_num":3,"comment":"autograded","downloads_enabled":"false","how_graded":"Best Answer","htmlsrc":"<div class=\"ptx-runestone-container\">\n            <div class=\"runestone fillintheblank_section\">\n              <div data-component=\"fillintheblank\" data-question_label=\"\" id=\"pswadsup_4_baseconvert2\">\n<div class=\"para\" id=\"baseconvert2-1-1\">Q-4: What is value of 256 expressed as a hexidecimal number? <input type=\"text\" placeholder=\"Number\"/><div class=\"autopermalink\" aria-hidden=\"true\" data-description=\"Paragraph\"><a tabindex=\"-1\" href=\"/ns/books/published/pswadsup/#baseconvert2-1-1\" title=\"Copy heading and permalink for Paragraph\" aria-label=\"Copy heading and permalink for Paragraph\">&#128279;</a></div></div><script type=\"application/json\">[[{\"number\": [[100, 100], [100, 100]], \"feedback\": \"\\n<div class=\\\"para\\\" id=\\\"baseconvert2-2-1-2-1-1\\\">Correct.<\\/div>\"}]]</script></div>\n            </div>\n          </div>\n        ","is_incorrect":true,"is_instructor":"true","is_logged_in":"true","latex_macros":"\n\n\\newcommand{\\lt}{<}\n\\newcommand{\\gt}{>}\n\\newcommand{\\amp}{&}\n","markup_system":"PreTeXt","name":"pswadsup_4_baseconvert2","points":1,"qnumber":"Exercise 3.8.2 ","question_type":"fillintheblank","readings":[],"score":0,"sub_chapter_label":"basic-ds_converting-decimal-numbers-to-binary-numbers"},{"activities_required":null,"activity_info":"{}","allow_pairs":"false","base_url":"/ns/books/published/northeastcommunitycollege_pswadsup_fall26/","chapter_chapter_name":"Converting Decimal Numbers to Binary Numbers","chapter_chapter_num":8,"chapter_label":"basic-data-structures","chapter_name":"Basic Data Structures","chapter_num":3,"comment":"autograded","downloads_enabled":"false","how_graded":"Best Answer","htmlsrc":"<div class=\"ptx-runestone-container\">\n            <div class=\"runestone fillintheblank_section\">\n              <div data-component=\"fillintheblank\" data-question_label=\"\" id=\"pswadsup_4_baseconvert3\">\n<div class=\"para\" id=\"baseconvert3-1-1\">Q-5: What is value of 26 expressed in base 26? <input type=\"text\" placeholder=\"Number\"/><div class=\"autopermalink\" aria-hidden=\"true\" data-description=\"Paragraph\"><a tabindex=\"-1\" href=\"/ns/books/published/pswadsup/#baseconvert3-1-1\" title=\"Copy heading and permalink for Paragraph\" aria-label=\"Copy heading and permalink for Paragraph\">&#128279;</a></div></div><script type=\"application/json\">[[{\"number\": [[10, 10], [10, 10]], \"feedback\": \"\\n<div class=\\\"para\\\" id=\\\"baseconvert3-2-1-2-1-1\\\">Correct.<\\/div>\"}]]</script></div>\n            </div>\n          </div>\n        ","is_incorrect":true,"is_instructor":"true","is_logged_in":"true","latex_macros":"\n\n\\newcommand{\\lt}{<}\n\\newcommand{\\gt}{>}\n\\newcommand{\\amp}{&}\n","markup_system":"PreTeXt","name":"pswadsup_4_baseconvert3","points":1,"qnumber":"Exercise 3.8.3 ","question_type":"fillintheblank","readings":[],"score":0,"sub_chapter_label":"basic-ds_converting-decimal-numbers-to-binary-numbers"},{"activities_required":null,"activity_info":"{}","allow_pairs":"false","base_url":"/ns/books/published/northeastcommunitycollege_pswadsup_fall26/","chapter_chapter_name":"Converting Decimal Numbers to Binary Numbers","chapter_chapter_num":8,"chapter_label":"basic-data-structures","chapter_name":"Basic Data Structures","chapter_num":3,"comment":"ungraded","downloads_enabled":"false","how_graded":"Best Answer","htmlsrc":"<div class=\"ptx-runestone-container\">\n            <div class=\"runestone yt_section\">\n              <div id=\"pswadsup_4_video_Stack2\" data-component=\"youtube\" class=\"align-left youtube-video\" data-video-height=\"\" data-video-width=\"\" data-video-videoid=\"Q6B8k8INeq8\" data-video-divid=\"pswadsup_4_video_Stack2\" data-video-start=\"0\" data-video-end=\"-1\"/>\n            </div>\n          </div>\n        ","is_incorrect":false,"is_instructor":"true","is_logged_in":"true","latex_macros":"\n\n\\newcommand{\\lt}{<}\n\\newcommand{\\gt}{>}\n\\newcommand{\\amp}{&}\n","markup_system":"PreTeXt","name":"pswadsup_4_video_Stack2","points":1,"qnumber":"Video: Q6B8k8INeq8","question_type":"youtube","readings":[],"score":0,"sub_chapter_label":"basic-ds_converting-decimal-numbers-to-binary-numbers"},{"activities_required":null,"activity_info":"{}","allow_pairs":"false","base_url":"/ns/books/published/northeastcommunitycollege_pswadsup_fall26/","chapter_chapter_name":"Infix, Prefix, and Postfix Expressions","chapter_chapter_num":9,"chapter_label":"basic-data-structures","chapter_name":"Basic Data Structures","chapter_num":3,"comment":"ungraded","downloads_enabled":"false","how_graded":"Best Answer","htmlsrc":"<div class=\"ptx-runestone-container\">\n            <div class=\"runestone explainer ac_section \">\n              <div data-component=\"activecode\" id=\"pswadsup_4_lst-intopost\">\n                <textarea data-lang=\"python\" data-audio=\"\" data-coach=\"true\" style=\"visibility: hidden;\" id=\"pswadsup_4_lst-intopost_editor\" data-question_label=\"\" data-codelens=\"true\" data-timelimit=\"25000\">from pythonds3.basic import Stack\n\ndef infix_to_postfix(infix_expr):\n    prec = {}\n    prec[\"*\"] = 3\n    prec[\"/\"] = 3\n    prec[\"+\"] = 2\n    prec[\"-\"] = 2\n    prec[\"(\"] = 1\n    op_stack = Stack()\n    postfix_list = []\n    token_list = infix_expr.split()\n\n    for token in token_list:\n        if token in \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\" or token in \"0123456789\":\n            postfix_list.append(token)\n        elif token == \"(\":\n            op_stack.push(token)\n        elif token == \")\":\n            top_token = op_stack.pop()\n            while top_token != \"(\":\n                postfix_list.append(top_token)\n                top_token = op_stack.pop()\n        else:\n            while (not op_stack.is_empty()) and (prec[op_stack.peek()] &gt;= prec[token]):\n                postfix_list.append(op_stack.pop())\n            op_stack.push(token)\n\n    while not op_stack.is_empty():\n        postfix_list.append(op_stack.pop())\n\n    return \" \".join(postfix_list)\n\nprint(infix_to_postfix(\"A * B + C * D\"))\nprint(infix_to_postfix(\"( A + B ) * C - ( D - E ) * ( F + G )\"))\n</textarea>\n              </div>\n            </div>\n          </div>\n        ","is_incorrect":false,"is_instructor":"true","is_logged_in":"true","latex_macros":"\n\n\\newcommand{\\lt}{<}\n\\newcommand{\\gt}{>}\n\\newcommand{\\amp}{&}\n","markup_system":"PreTeXt","name":"pswadsup_4_lst-intopost","points":1,"qnumber":"ActiveCode: Listing 3.9.8","question_type":"activecode","readings":[],"score":0,"sub_chapter_label":"basic-ds_infix-prefix-and-postfix-expressions"},{"activities_required":null,"activity_info":"{}","allow_pairs":"false","base_url":"/ns/books/published/northeastcommunitycollege_pswadsup_fall26/","chapter_chapter_name":"Infix, Prefix, and Postfix Expressions","chapter_chapter_num":9,"chapter_label":"basic-data-structures","chapter_name":"Basic Data Structures","chapter_num":3,"comment":"ungraded","downloads_enabled":"false","how_graded":"Best Answer","htmlsrc":"<div class=\"ptx-runestone-container\">\n            <div class=\"runestone explainer ac_section \">\n              <div data-component=\"activecode\" id=\"pswadsup_4_lst-postfixeval\">\n                <textarea data-lang=\"python\" data-audio=\"\" data-coach=\"true\" style=\"visibility: hidden;\" id=\"pswadsup_4_lst-postfixeval_editor\" data-question_label=\"\" data-codelens=\"true\" data-timelimit=\"25000\">from pythonds3.basic import Stack\n\ndef postfix_eval(postfix_expr):\n    operand_stack = Stack()\n    token_list = postfix_expr.split()\n\n    for token in token_list:\n        if token in \"0123456789\":\n            operand_stack.push(int(token))\n        else:\n            operand2 = operand_stack.pop()\n            operand1 = operand_stack.pop()\n            result = do_math(token, operand1, operand2)\n            operand_stack.push(result)\n    return operand_stack.pop()\n\n\ndef do_math(op, op1, op2):\n    if op == \"*\":\n        return op1 * op2\n    elif op == \"/\":\n        return op1 / op2\n    elif op == \"+\":\n        return op1 + op2\n    else:\n        return op1 - op2\n\n\nprint(postfix_eval(\"7 8 + 3 2 + /\"))\n</textarea>\n              </div>\n            </div>\n          </div>\n        ","is_incorrect":false,"is_instructor":"true","is_logged_in":"true","latex_macros":"\n\n\\newcommand{\\lt}{<}\n\\newcommand{\\gt}{>}\n\\newcommand{\\amp}{&}\n","markup_system":"PreTeXt","name":"pswadsup_4_lst-postfixeval","points":1,"qnumber":"ActiveCode: Listing 3.9.11","question_type":"activecode","readings":[],"score":0,"sub_chapter_label":"basic-ds_infix-prefix-and-postfix-expressions"},{"activities_required":null,"activity_info":"{}","allow_pairs":"false","base_url":"/ns/books/published/northeastcommunitycollege_pswadsup_fall26/","chapter_chapter_name":"Infix, Prefix, and Postfix Expressions","chapter_chapter_num":9,"chapter_label":"basic-data-structures","chapter_name":"Basic Data Structures","chapter_num":3,"comment":"ungraded","downloads_enabled":"false","how_graded":"Best Answer","htmlsrc":"<div class=\"ptx-runestone-container\">\n            <div class=\"runestone fillintheblank_section\">\n              <div data-component=\"fillintheblank\" data-question_label=\"\" id=\"pswadsup_4_postfix1\">\n<div class=\"para\" id=\"postfix1-1-1\">Q-3: Without using the activecode <code class=\"code-inline tex2jax_ignore\">infix_to_postfix</code> function, convert the following expression to postfix  <code class=\"code-inline tex2jax_ignore\">10 + 3 * 5 / (16 - 4)</code> . <input type=\"text\" placeholder=\"Text\"/><div class=\"autopermalink\" aria-hidden=\"true\" data-description=\"Paragraph\"><a tabindex=\"-1\" href=\"/ns/books/published/pswadsup/#postfix1-1-1\" title=\"Copy heading and permalink for Paragraph\" aria-label=\"Copy heading and permalink for Paragraph\">&#128279;</a></div></div><script type=\"application/json\">[[{\"regex\": \"^\\\\s*^\\\\s*10\\\\s+3\\\\s+5\\\\s*\\\\*\\\\s*16\\\\s+4\\\\s*-\\\\s*\\/\\\\s*\\\\+\\\\s*$\\\\s*$\", \"regexFlags\": \"\", \"feedback\": \"\\n<div class=\\\"para\\\" id=\\\"postfix1-2-1-2-1-1\\\">Correct.<\\/div>\"}, {\"regex\": \"^\\\\s*^\\\\s*10.*3.*5.*16.*4\\\\s+[\\\\s+\\/+*-]*\\\\s*$\\\\s*$\", \"regexFlags\": \"\", \"feedback\": \"\\n<div class=\\\"para\\\" id=\\\"postfix1-2-1-3-1-1\\\">The numbers appear to be in the correct order check your operators<\\/div>\"}]]</script></div>\n            </div>\n          </div>\n        ","is_incorrect":false,"is_instructor":"true","is_logged_in":"true","latex_macros":"\n\n\\newcommand{\\lt}{<}\n\\newcommand{\\gt}{>}\n\\newcommand{\\amp}{&}\n","markup_system":"PreTeXt","name":"pswadsup_4_postfix1","points":1,"qnumber":"Exercise 3.9.3.1 ","question_type":"fillintheblank","readings":[],"score":0,"sub_chapter_label":"basic-ds_infix-prefix-and-postfix-expressions"},{"activities_required":null,"activity_info":"{}","allow_pairs":"false","base_url":"/ns/books/published/northeastcommunitycollege_pswadsup_fall26/","chapter_chapter_name":"Implementing a Queue in Python","chapter_chapter_num":12,"chapter_label":"basic-data-structures","chapter_name":"Basic Data Structures","chapter_num":3,"comment":"ungraded","downloads_enabled":"false","how_graded":"Best Answer","htmlsrc":"<div class=\"ptx-runestone-container\">\n            <div class=\"runestone multiplechoice_section\">\n              <div class=\"exercise-statement\">\n<div class=\"para\" id=\"queue_1-1-1\">Q-2: Suppose you have the following series of queue operations.<div class=\"autopermalink\" aria-hidden=\"true\" data-description=\"Paragraph\"><a tabindex=\"-1\" href=\"#queue_1-1-1\" title=\"Copy heading and permalink for Paragraph\" aria-label=\"Copy heading and permalink for Paragraph\">&#128279;</a></div></div><pre class=\"code-block tex2jax_ignore clipboardable\">q = Queue()\nq.enqueue(\"hello\")\nq.enqueue(\"dog\")\nq.enqueue(3)\nq.dequeue()\n</pre>\n<div class=\"para\" id=\"queue_1-1-3\">What items are left on the queue?<div class=\"autopermalink\" aria-hidden=\"true\" data-description=\"Paragraph\"><a tabindex=\"-1\" href=\"#queue_1-1-3\" title=\"Copy heading and permalink for Paragraph\" aria-label=\"Copy heading and permalink for Paragraph\">&#128279;</a></div></div></div>\n              <ul data-component=\"multiplechoice\" class=\"exercise-interactives\" id=\"pswadsup_4_queue_1\" data-multipleanswers=\"false\">\n                <li data-component=\"answer\" id=\"pswadsup_4_queue_1_opt_a\">\n<div class=\"para\" id=\"queue_1-2-1-1-1\">&#8217;hello&#8217;, &#8217;dog&#8217;</div></li>\n                <li data-component=\"feedback\" id=\"pswadsup_4_queue_1_opt_a\">\n<div class=\"para\" id=\"queue_1-2-1-2-1\">Remember the first thing added to the queue is the first thing removed.  FIFO</div></li>\n                <li data-component=\"answer\" id=\"pswadsup_4_queue_1_opt_b\" data-correct=\"\">\n<div class=\"para\" id=\"queue_1-2-2-1-1\">&#8217;dog&#8217;, 3</div></li>\n                <li data-component=\"feedback\" id=\"pswadsup_4_queue_1_opt_b\">\n<div class=\"para\" id=\"queue_1-2-2-2-1\">Yes, first in first out means that hello is gone</div></li>\n                <li data-component=\"answer\" id=\"pswadsup_4_queue_1_opt_c\">\n<div class=\"para\" id=\"queue_1-2-3-1-1\">&#8217;hello&#8217;, 3</div></li>\n                <li data-component=\"feedback\" id=\"pswadsup_4_queue_1_opt_c\">\n<div class=\"para\" id=\"queue_1-2-3-2-1\">Queues, and Stacks are both data structures where you can only access the first and the last thing.</div></li>\n                <li data-component=\"answer\" id=\"pswadsup_4_queue_1_opt_d\">\n<div class=\"para\" id=\"queue_1-2-4-1-1\">&#8217;hello&#8217;, &#8217;dog&#8217;, 3</div></li>\n                <li data-component=\"feedback\" id=\"pswadsup_4_queue_1_opt_d\">\n<div class=\"para\" id=\"queue_1-2-4-2-1\">Ooops, maybe you missed the dequeue call at the end?</div></li>\n              </ul>\n            </div>\n          </div>\n        ","is_incorrect":false,"is_instructor":"true","is_logged_in":"true","latex_macros":"\n\n\\newcommand{\\lt}{<}\n\\newcommand{\\gt}{>}\n\\newcommand{\\amp}{&}\n","markup_system":"PreTeXt","name":"pswadsup_4_queue_1","points":1,"qnumber":"Exercise 3.12.1 ","question_type":"mchoice","readings":[],"score":0,"sub_chapter_label":"basic-ds_implementing-a-queue-in-python"},{"activities_required":null,"activity_info":"{}","allow_pairs":"false","base_url":"/ns/books/published/northeastcommunitycollege_pswadsup_fall26/","chapter_chapter_name":"Queue Simulation: Printing Tasks","chapter_chapter_num":14,"chapter_label":"basic-data-structures","chapter_name":"Basic Data Structures","chapter_num":3,"comment":"ungraded","downloads_enabled":"false","how_graded":"Best Answer","htmlsrc":"<div class=\"ptx-runestone-container\">\n            <div class=\"runestone explainer ac_section \">\n              <div data-component=\"activecode\" id=\"pswadsup_4_print_sim_selfcheck\">\n                <textarea data-lang=\"python\" data-audio=\"\" data-coach=\"true\" style=\"visibility: hidden;\" id=\"pswadsup_4_print_sim_selfcheck_editor\" data-question_label=\"\" data-codelens=\"true\" data-timelimit=\"25000\">import random\nfrom pythonds3.basic import Queue\n\n\nclass Printer:\n    def __init__(self, ppm):\n        self.page_rate = ppm\n        self.current_task = None\n        self.time_remaining = 0\n\n    def tick(self):\n        if self.current_task is not None:\n            self.time_remaining = self.time_remaining - 1\n            if self.time_remaining &lt;= 0:\n                self.current_task = None\n\n    def busy(self):\n        return self.current_task is not None\n\n    def start_next(self, new_task):\n        self.current_task = new_task\n        self.time_remaining = new_task.get_pages() * 60 / self.page_rate\n\n\nclass Task:\n    def __init__(self, time):\n        self.timestamp = time\n        self.pages = random.randrange(1, 21)\n\n    def get_stamp(self):\n        return self.timestamp\n\n    def get_pages(self):\n        return self.pages\n\n    def wait_time(self, current_time):\n        return current_time - self.timestamp\n\n\ndef simulation(num_seconds, pages_per_minute):\n    lab_printer = Printer(pages_per_minute)\n    print_queue = Queue()\n    waiting_times = []\n\n    for current_second in range(num_seconds):\n        if new_print_task():\n            task = Task(current_second)\n            print_queue.enqueue(task)\n\n        if (not lab_printer.busy()) and (not print_queue.is_empty()):\n            nexttask = print_queue.dequeue()\n            waiting_times.append(nexttask.wait_time(current_second))\n            lab_printer.start_next(nexttask)\n\n        lab_printer.tick()\n\n    average_wait = sum(waiting_times) / len(waiting_times)\n    print(\"Average Wait %6.2f secs %3d tasks remaining.\" % (average_wait, print_queue.size()))\n\n\ndef new_print_task():\n    num = random.randrange(1, 181)\n    return num == 180\n\n\nfor i in range(10):\n    simulation(3600, 5)\n</textarea>\n              </div>\n            </div>\n          </div>\n        ","is_incorrect":false,"is_instructor":"true","is_logged_in":"true","latex_macros":"\n\n\\newcommand{\\lt}{<}\n\\newcommand{\\gt}{>}\n\\newcommand{\\amp}{&}\n","markup_system":"PreTeXt","name":"pswadsup_4_print_sim_selfcheck","points":1,"qnumber":"ActiveCode","question_type":"activecode","readings":[],"score":0,"sub_chapter_label":"basic-ds_queue-simulation-printing-tasks"},{"activities_required":null,"activity_info":"{}","allow_pairs":"false","base_url":"/ns/books/published/northeastcommunitycollege_pswadsup_fall26/","chapter_chapter_name":"Queue Simulation: Printing Tasks","chapter_chapter_num":14,"chapter_label":"basic-data-structures","chapter_name":"Basic Data Structures","chapter_num":3,"comment":"ungraded","downloads_enabled":"false","how_graded":"Best Answer","htmlsrc":"<div class=\"ptx-runestone-container\">\n            <div class=\"runestone explainer ac_section \">\n              <div data-component=\"activecode\" id=\"pswadsup_4_qumainsim\">\n                <textarea data-lang=\"python\" data-audio=\"\" data-coach=\"true\" style=\"visibility: hidden;\" id=\"pswadsup_4_qumainsim_editor\" data-question_label=\"\" data-codelens=\"true\" data-timelimit=\"25000\">import random\nfrom pythonds3.basic import Queue\n\n\nclass Printer:\n    def __init__(self, ppm):\n        self.page_rate = ppm\n        self.current_task = None\n        self.time_remaining = 0\n\n    def tick(self):\n        if self.current_task is not None:\n            self.time_remaining = self.time_remaining - 1\n            if self.time_remaining &lt;= 0:\n                self.current_task = None\n\n    def busy(self):\n        return self.current_task is not None\n\n    def start_next(self, new_task):\n        self.current_task = new_task\n        self.time_remaining = new_task.get_pages() * 60 / self.page_rate\n\n\nclass Task:\n    def __init__(self, time):\n        self.timestamp = time\n        self.pages = random.randrange(1, 21)\n\n    def get_stamp(self):\n        return self.timestamp\n\n    def get_pages(self):\n        return self.pages\n\n    def wait_time(self, current_time):\n        return current_time - self.timestamp\n\n\ndef simulation(num_seconds, pages_per_minute):\n    lab_printer = Printer(pages_per_minute)\n    print_queue = Queue()\n    waiting_times = []\n\n    for current_second in range(num_seconds):\n        if new_print_task():\n            task = Task(current_second)\n            print_queue.enqueue(task)\n\n        if (not lab_printer.busy()) and (not print_queue.is_empty()):\n            nexttask = print_queue.dequeue()\n            waiting_times.append(nexttask.wait_time(current_second))\n            lab_printer.start_next(nexttask)\n\n        lab_printer.tick()\n\n    average_wait = sum(waiting_times) / len(waiting_times)\n    print(\"Average Wait %6.2f secs %3d tasks remaining.\" % (average_wait, print_queue.size()))\n\n\ndef new_print_task():\n    num = random.randrange(1, 181)\n    return num == 180\n\n\nfor i in range(10):\n    simulation(3600, 5)\n</textarea>\n              </div>\n            </div>\n          </div>\n        ","is_incorrect":false,"is_instructor":"true","is_logged_in":"true","latex_macros":"\n\n\\newcommand{\\lt}{<}\n\\newcommand{\\gt}{>}\n\\newcommand{\\amp}{&}\n","markup_system":"PreTeXt","name":"pswadsup_4_qumainsim","points":1,"qnumber":"ActiveCode","question_type":"activecode","readings":[],"score":0,"sub_chapter_label":"basic-ds_queue-simulation-printing-tasks"},{"activities_required":null,"activity_info":"{}","allow_pairs":"false","base_url":"/ns/books/published/northeastcommunitycollege_pswadsup_fall26/","chapter_chapter_name":"Palindrome Checker","chapter_chapter_num":18,"chapter_label":"basic-data-structures","chapter_name":"Basic Data Structures","chapter_num":3,"comment":"ungraded","downloads_enabled":"false","how_graded":"Best Answer","htmlsrc":"<div class=\"ptx-runestone-container\">\n            <div class=\"runestone explainer ac_section \">\n              <div data-component=\"activecode\" id=\"pswadsup_4_lst-palchecker\">\n                <textarea data-lang=\"python\" data-audio=\"\" data-coach=\"true\" style=\"visibility: hidden;\" id=\"pswadsup_4_lst-palchecker_editor\" data-question_label=\"\" data-codelens=\"true\" data-timelimit=\"25000\">from pythonds3.basic import Deque\n\n\ndef pal_checker(a_string):\n    char_deque = Deque()\n\n    for ch in a_string:\n        char_deque.add_rear(ch)\n\n    while char_deque.size() &gt; 1:\n        first = char_deque.remove_front()\n        last = char_deque.remove_rear()\n        if first != last:\n            return False\n\n    return True\n\nprint(pal_checker(\"lsdkjfskf\"))\nprint(pal_checker(\"radar\"))\n</textarea>\n              </div>\n            </div>\n          </div>\n        ","is_incorrect":false,"is_instructor":"true","is_logged_in":"true","latex_macros":"\n\n\\newcommand{\\lt}{<}\n\\newcommand{\\gt}{>}\n\\newcommand{\\amp}{&}\n","markup_system":"PreTeXt","name":"pswadsup_4_lst-palchecker","points":1,"qnumber":"ActiveCode: Listing 3.18.2","question_type":"activecode","readings":[],"score":0,"sub_chapter_label":"basic-ds_palindrome-checker"}]
[warn] No ad placements found.
[log] Timezone cookie matches, not sending timezone to server
[log] This page served by undefined
[log] triggering runestone:pre-login-complete
[log] Runestone pre-login complete
[log] Loading Runestone component: activecode
[log] Loading Runestone component: multiplechoice
[log] Loading Runestone component: answer
[log] Loading Runestone component: feedback
[log] Loading Runestone component: youtube
[log] Loading Runestone component: fillintheblank
[log] Request Failed for /ns/logger/getCompletionStatus?lastPageUrl=%2Fassignment%2Fstudent%2FdoAssignment&isPtxBook=true
[log] before get hist
[log] before get hist
[log] before get hist
[log] before get hist
[log] before get hist
[log] before get hist
[log] before get hist
[log] before get hist
[log] before get hist
[log] before get hist
[log] making a new scrubber
[log] Fake change event, skipping the log
[log] making a new scrubber
[log] Fake change event, skipping the log
[log] making a new scrubber
[log] Fake change event, skipping the log
[log] making a new scrubber
[log] Fake change event, skipping the log
[log] making a new scrubber
[log] Fake change event, skipping the log
[log] making a new scrubber
[log] Fake change event, skipping the log
[log] making a new scrubber
[log] Fake change event, skipping the log
[log] Response from server: 200
[log] Data from server: {"answer":"2","correct":true,"percent":1,"timestamp":"2026-08-31T16:09:33.376133+00:00","div_id":"pswadsup_4_stack_1","sid":"trevorb@northeast.edu","course_name":"northeastcommunitycollege_pswadsup_fall26","id":97956713,"comment":"autograded","score":1} calling repopulateFromStorage
[log] resolving checkServer with server data
[log] making a new scrubber
[log] Fake change event, skipping the log
[log] making a new scrubber
[log] Fake change event, skipping the log
[log] adding video popouts
[log] setting up pretext
[log] Response from server: 200
[log] Data from server: "no data" calling repopulateFromStorage
[log] resolving checkServer with server data
[log] Response from server: 200
[log] Data from server: "no data" calling repopulateFromStorage
[log] resolving checkServer with server data
[log] Response from server: 200
[log] Data from server: {"answer":"2","correct":true,"percent":1,"timestamp":"2026-08-31T16:12:34.411862+00:00","div_id":"pswadsup_4_stack_2","sid":"trevorb@northeast.edu","course_name":"northeastcommunitycollege_pswadsup_fall26","id":97957076,"comment":"autograded","score":1} calling repopulateFromStorage
[log] resolving checkServer with server data
[log] making a new scrubber
[log] Fake change event, skipping the log
[log] Response from server: 200
[log] Data from server: {"answer":"[\"100\"]","correct":false,"percent":0,"timestamp":"2026-09-01T17:09:09.140335+00:00","div_id":"pswadsup_4_baseconvert2","sid":"trevorb@northeast.edu","course_name":"northeastcommunitycollege_pswadsup_fall26","id":11618302,"comment":"autograded","score":0} calling repopulateFromStorage
[log] resolving checkServer with server data
[log] Response from server: 200
[log] Data from server: {"answer":"[\"10\"]","correct":false,"percent":0,"timestamp":"2026-09-01T17:09:41.936485+00:00","div_id":"pswadsup_4_baseconvert3","sid":"trevorb@northeast.edu","course_name":"northeastcommunitycollege_pswadsup_fall26","id":11618312,"comment":"autograded","score":0} calling repopulateFromStorage
[log] resolving checkServer with server data
[log] Response from server: 200
[log] Data from server: {"answer":"[\"31\"]","correct":false,"percent":0,"timestamp":"2026-09-01T17:07:53.289537+00:00","div_id":"pswadsup_4_baseconvert1","sid":"trevorb@northeast.edu","course_name":"northeastcommunitycollege_pswadsup_fall26","id":11618288,"comment":"autograded","score":0} calling repopulateFromStorage
[log] resolving checkServer with server data
[log] MathJax Ready -- dequeing a typesetting run for  undefined
[log] MathJax Ready -- dequeing a typesetting run for  undefined
[log] MathJax Ready -- dequeing a typesetting run for  undefined
[log] MathJax Ready -- dequeing a typesetting run for  undefined
[log] MathJax Ready -- dequeing a typesetting run for pswadsup_4_stack_1 undefined
[log] MathJax Ready -- dequeing a typesetting run for pswadsup_4_stack_2 undefined
[log] MathJax Ready -- dequeing a typesetting run for pswadsup_4_queue_1 undefined
[log] MathJax Ready -- dequeing a typesetting run for  undefined
[log] MathJax Ready -- dequeing a typesetting run for  undefined
[log] MathJax Ready -- dequeing a typesetting run for  undefined
[log] MathJax Ready -- dequeing a typesetting run for pswadsup_4_stack_1_feedback undefined
[log] MathJax Ready -- dequeing a typesetting run for pswadsup_4_stack_2_feedback undefined
[log] MathJax Ready -- dequeing a typesetting run for pswadsup_4_baseconvert1_feedback undefined
[log] MathJax Ready -- dequeing a typesetting run for pswadsup_4_baseconvert2_feedback undefined
[log] MathJax Ready -- dequeing a typesetting run for pswadsup_4_baseconvert3_feedback undefined
[log] SpliceWrapper: received message subject: undefined from iframe: pswadsup_4_video_Stack2
[log] SpliceWrapper: received message subject: undefined from iframe: pswadsup_4_stack1_video
[log] SpliceWrapper: received message subject: undefined from iframe: pswadsup_4_video_Stack2
[log] SpliceWrapper: received message subject: undefined from iframe: pswadsup_4_video_Stack2
[log] SpliceWrapper: received message subject: undefined from iframe: pswadsup_4_stack1_video
[log] SpliceWrapper: received message subject: undefined from iframe: pswadsup_4_stack1_video
[log] SpliceWrapper: received message subject: undefined from iframe: pswadsup_4_stack1_video
[log] SpliceWrapper: received message subject: undefined from iframe: pswadsup_4_video_Stack2
[log] SpliceWrapper: received message subject: undefined from iframe: pswadsup_4_video_Stack2
[log] SpliceWrapper: received message subject: undefined from iframe: pswadsup_4_stack1_video
[log] starting runProg
[log] running {"div_id":"pswadsup_4_stack_ex_1","code":"from pythonds3.basic import Stack\n\ns = Stack()\n\nprint(s.is_empty())\ns.push(4)\ns.push(\"dog\")\nprint(s.peek())\ns.push(True)\nprint(s.size())\nprint(s.is_empty())\ns.push(8.4)\nprint(s.pop())\nprint(s.pop())\nprint(s.size())\n","language":"python","errinfo":"success","to_save":"False","prefix":"","partner":"","editDist":0,"changesPerSecond":null,"course":"northeastcommunitycollege_pswadsup_fall26","clientLoginStatus":true,"timezoneoffset":5}
[log] starting runProg
[log] running {"div_id":"pswadsup_4_lst-parcheck1","code":"from pythonds3.basic import Stack\n\n\ndef par_checker(symbol_string):\n    s = Stack()\n    for symbol in symbol_string:\n        if symbol == \"(\":\n            s.push(symbol)\n        else:\n            if s.is_empty():\n                return False\n            else:\n                s.pop()\n\n    return s.is_empty()\n\n\nprint(par_checker(\"((()))\"))  # expected True\nprint(par_checker(\"((()()))\"))  # expected True\nprint(par_checker(\"(()\"))  # expected False\nprint(par_checker(\")(\"))  # expected False\n","language":"python","errinfo":"success","to_save":"False","prefix":"","partner":"","editDist":0,"changesPerSecond":null,"course":"northeastcommunitycollege_pswadsup_fall26","clientLoginStatus":true,"timezoneoffset":5}
[log] Save logging event {"event":"fillb","div_id":"pswadsup_4_baseconvert1","act":"[\"31\"]","answer":"[\"31\"]","correct":"F","percent":0,"course_name":"northeastcommunitycollege_pswadsup_fall26","clientLoginStatus":true,"timezoneoffset":5,"assignment_id":286411}
[log] MathJax Ready -- dequeing a typesetting run for pswadsup_4_baseconvert1_feedback undefined

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions