Feedback from a beginner user


#1

I’ve only just completed the first problem and I love the concept of learning through science and programming! However, this platform seems relatively new and I would like to offer some feedback on my experience so far. Below is a list of issues I ran into.

  • In the first problem (Rocket Science), submitting uncompilable code in the built-in Javascript editor seems to cause the “Submit code” button to remain in a loading state for a long time. I did not see any error messages returned to me by the compiler. As such, I had to use another online Javascript editor to debug my code.

    • Edit: The provided boilerplate code for the first problem, written in Javascript, has a syntax error. The comment “# Your code goes here!” is not a valid comment in Javascript, but rather it is valid in Python.
  • When entering the Discourse forums, I had to verify my account a second time. I do not know if this is intentional or not, but in my experience it is not standard to verify an account twice.

  • Using the online code editor is quite troublesome, especially when one has to scroll up and back down again to refer to the problem description and then write code. I suggest using a two-column layout where the problem description is on the left side and the code editor is on the right side of the screen. That way referring to the problem description is easier. For example, see Codeacademy’s layout:

  • In the third problem (Chaos) the problem description states “Output : A list containing the first 50 values of the logistic map (x0,x1,x2,…,x49,x50).” There is an “Off By One Error” here, the example listed in brackets contains 51 values.

    • Edit: It seems that output containing 51 values is accepted as a valid answer.
  • In the fourth problem (Caesar cipher) there is a typo in the problem description’s first sentence:

Ever since ancient civilizations could write letter*s* to each other, people have wanted to keep some messages secret in case they were intercepted by someone else.

If this post is editable, I will continue adding more to this list. Great work by the Project Lovelace team regardless.


#2

The two column format would indeed be convenient!


#3

Thanks so much for trying it out and for your detailed feedback!!

Sorry for the frustration, you were probably not the only one. Totally a rookie mistake on our part haha, should be fixed now and we’ll make sure to make the engine return an error to you when Javascript submissions have a syntax error in them.

Ah yeah, I think it does this because technically they’re two different accounts but act as one with single sign-on. I don’t fully understand it but I think @baz does. We should be able to disable the second activation, which I agree is kind of redundant.

Thanks for pointing this out, I think that should make it much easier to code solutions on the website! Might take us a little while to figure out how to do this in a nice way but it’s definitely a high priority item for us now.

More embarrassing typos on our part haha, thanks for pointing these out!

That would be awesome, thanks so much! Feel free to post new replies which might make it easier to see your updates as we’ll get notifications of new replies.

Good to know that’s a good idea! I think we’ll definitely make it a priority to implement.


#4
  • The fifth problem (Ceasar cipher) is too difficult for me. Skipping this for now. I also noticed that there is no provided boilerplate code for Julia in this problem.

  • In the sixth problem (Colorful resistors), the function signature is resistance(band_colors) but the boilerplate code provides the function resistance(colors) in Python and Javascript. For Julia, the only line in the boilerplate code is “let i_drink_kool_aid = True;” (LOL). I have issues with completing the sixth problem despite getting correct output in another editor, see the problem discussion for Colorful resistors for more info.


#5

Yeah Caesar cipher is a little harder than the problems below and above it but let us know if you’d like a hint or two on how to start it.

Thanks for pointing out the typo on Colorful resistors! Just fixed them.

And yeah we just added support for Julia a few days ago so we haven’t gotten around to adding boilerplate code for Julia, but should be done some time this week! Julia submissions are processed very slowly right now, which is another issue we need to fix haha.

Thanks again for your feedback, we really appreciate it!


#6

Finally completed problem number 5 (caesar cipher), which gave me quite the headache and then a sense of satisfaction. I have also found a peculiar edge case in the automated code tester. The tester goes for a caesar cipher rotation value of ZERO (this doesn’t make sense to me, why would you have encrypted text that is the same as your plaintext?). I had programmed my caesar decrypter to start from rotation value one. The peculiar thing is that the given known word “J” appears in BOTH the rotation zero and rotation one strings, so my decrypter thought it was correct. Nevertheless I modified my code to accept rotation zero and it passed all tests.


I’m gonna need a break after this lol.


#7

Hey LECAGO. I’m impressed to see you catching a bug like that. I think you’re right that having the “random” test case use a rotation of 0 is technically valid but not very constructive. I don’t imagine anyone would want to “encrypt” their message such that plaintext == ciphertext. I’ll definitely get that fixed soon :slight_smile: