Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(curriculum): add equation solver project to SCWP #55011

Open
wants to merge 46 commits into
base: main
Choose a base branch
from

Conversation

Dario-DC
Copy link
Contributor

@Dario-DC Dario-DC commented May 29, 2024

Checklist:

Closes #XXXXX

To test: helpers added in this PR are required

Dario-DC and others added 30 commits March 21, 2024 10:38
solve conflicts
@github-actions github-actions bot added the scope: i18n language translation/internationalization. Often combined with language type label label May 29, 2024
@Dario-DC Dario-DC added new python course and removed platform: learn UI side of the client application that needs familiarity with React, Gatsby etc. scope: i18n language translation/internationalization. Often combined with language type label labels May 29, 2024
@github-actions github-actions bot added platform: learn UI side of the client application that needs familiarity with React, Gatsby etc. scope: i18n language translation/internationalization. Often combined with language type label labels May 29, 2024
Copy link
Member

@zairahira zairahira left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed till step 20.


# --description--

An *interface* is like a blueprint for a class. An interface contains a set of methods and properties that a class should implement.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I came up with this intro:

Suggested change
An *interface* is like a blueprint for a class. An interface contains a set of methods and properties that a class should implement.
In programming, an *interface* is like a blueprint for a class that contains a set of methods and properties that a class should implement. Interfaces facilitate communication between different parts of a program without detailing their internal workings, hence promoting encapsulation and code re-usability.

Copy link
Member

@zairahira zairahira left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed till step 40.

Copy link
Member

@zairahira zairahira left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed all the steps.

Some general suggestions:

It should be mentioned somewhere that the project covers equations up to second degree. A good place would be to add in intro.

@zairahira
Copy link
Member

Reminders:

  • Add intro.
  • Flesh out pages.
  • Verify project order.


# --hints--

You should return a dictionary containing two keys, `'x'`, and `'y'`, and the corresponding values of vertex \\( x \\) and \\( y \\) coordinates, respectively.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I remember that MathJax was not rendered here.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems it's not rendered in hints 🤔

@Dario-DC
Copy link
Contributor Author

Based on the feedback received, I modified the prototype . Here are the main changes:

  • replaced abstract properties degree and type with class attributes
  • added __init_subclass__ method (not sure about the implementation)
  • modified coefficients attribute to keep the same order of args
  • removed self.coefficients[<n>] references, (coefficients are now unpacked to improve readability)
  • moved the creation of the strings to print outside the solve and analyze methods.

I'll start to implement these changes here as soon as I get a positive feedback. @ilenia-magoni @zairahira @gikf

@Dario-DC Dario-DC marked this pull request as ready for review June 26, 2024 22:35
@Dario-DC Dario-DC requested a review from a team as a code owner June 26, 2024 22:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new python course platform: learn UI side of the client application that needs familiarity with React, Gatsby etc. scope: curriculum Lessons, Challenges, Projects and other Curricular Content in curriculum directory. scope: i18n language translation/internationalization. Often combined with language type label
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants