Comments (8)
Thanks for filing, @skywalker-lili! This looks like an important bug, but there isn't enough detail to reproduce it.
Would you mind providing clear reproduction instructions, expected/observed behavior, and a screenshot, similar to #83?
from tie.
Sure. Here is how to reproduce it:
-
Open "app.html"
-
Navigate to "Question 2: Balanced Parentheses"
-
Modify the
isBalanced(s)
function to returnFalse
. Click "run" button to get a hint.
-
Then modify the
isBalanced(s)
function to returnFalse or False
. Click "run" button to get a hint.
-
Then modify the
isBalanced(s)
function to returnFalse or False or False
. Click "run" button to get a new hint.
-
The hints from step 3-5 are different even though the code made the same mistakes by just returning
False
. The last hint is especially misleading by assuming user's code is counting number of parenthesis.
Expected behavior: hints should be stable when user's code made same mistakes or when making the same wrongs in test cases. Also, hints shouldn't mislead the user what kind of mistake its code has.
from tie.
/cc @rujunm
from tie.
@skywalker-lili, thanks for adding the detail!
from tie.
Just wanted to say that this behavior seems intended: if you provide multiple hints for the same buggyOutputTest, then it'll just iterate through all of them as long as the code is edited in some way but returns the same result. So this feels like two separate issues:
-
The criteria for when to give the next hint should be stricter than just "the code isn't exactly the same". Maybe some sort of edit distance or timestamp check?
-
The "countNumberOfParentheses" function isn't doing the intended thing; I think the "return numLeft == numRight" line should be outside the for loop.
from tie.
I can fix 2 (removing the tab does indeed fix it), but should 1 be moved to a separate issue? @seanlip
from tie.
Yes, let's move 1 to a separate issue. Thanks @andersonw!
from tie.
Second part fixed in #212; first part filed as #211. Thanks @andersonw!
from tie.
Related Issues (20)
- _processCodeCompilationServerResponse should include stderr.
- Recursive Loop check only works for Skulpt errors. HOT 1
- Add error message / redirect / butter bar for invalid question ID / inactive question retrieval attempts.
- No "tie-button-red" CSS class exists in LearnerViewDirective. HOT 2
- (a) Make it more clear what language the coding window is in and (b) Not clear that 's' should be treated as a string. HOT 9
- client/question/question.html URL seems redundant HOT 3
- Pop up privacy statement on first use or display on download page for stand-alone version HOT 1
- Remove the extra characters that appear at the end of stdout. HOT 3
- Add new test for ReverseWords
- Changing the name of an argument in the main function results in a "modified starter code" error.
- Night mode CSS is buggy when horizontal scroll is needed for open-source version. HOT 1
- Clicking "Reset Code" does not clear the feedback window. HOT 3
- Condense user stdout when it contains many lines.
- Buggy output tests currently take into account the output for all tasks, whereas they should only consider the output for the task they're defined in.
- The video at https://google.github.io/tie/ fails to autoplay when the page is loaded. HOT 3
- Code details window needs higher z-index HOT 1
- "Reset Feedback" Button should be removed and "Reset Code" should be updated.
- Update file overview for FeedbackGeneratorService.js
- Skulpt syntax error messages do not match standard Python
- Can't find how to go to next problems
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tie.