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

fractions concept #3555

Merged
merged 14 commits into from
Dec 5, 2023
Merged

fractions concept #3555

merged 14 commits into from
Dec 5, 2023

Conversation

colinleach
Copy link
Contributor

Documentation for the fractions module. Probably low-priority (marked TBD-F), but I'm working on the numbers sub-tree for now (smaller, easier concepts than e.g. functions).

Cheat: introduction.md is currently the same as about.md, which may be something to change at some point.

@BethanyG
Copy link
Member

Cheat: introduction.md is currently the same as about.md, which may be something to change at some point.

Our introduction.md files are often quite short. I typically pull the first paragraph or so from the about.md, but we can discuss as I review. 😄 I am just now getting to things today, so it may be a little bit. I (think) I'm an hour behind you? I'm in PST.

Copy link
Member

@BethanyG BethanyG left a comment

Choose a reason for hiding this comment

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

I really like this write up! One question for you: should we be talking about or referring to the Python Numeric tower aka PEP3141 in any of these write-ups? I find it interesting, but I am definitely a big ole Python geek. Maybe in links.json, or am I over-detailing things?

The other thing I am thinking as I read this is (like for complex numbers) -- should we be including some more practical-ish or larger examples? I mean, for fractions that's really any good middle school math problem. Something I am going to think on and then circle back to. 😄

concepts/fractions/about.md Outdated Show resolved Hide resolved
concepts/fractions/about.md Outdated Show resolved Hide resolved
concepts/fractions/about.md Outdated Show resolved Hide resolved
concepts/fractions/about.md Outdated Show resolved Hide resolved
concepts/fractions/about.md Outdated Show resolved Hide resolved
concepts/fractions/about.md Outdated Show resolved Hide resolved
concepts/fractions/about.md Outdated Show resolved Hide resolved
concepts/fractions/about.md Outdated Show resolved Hide resolved
concepts/fractions/about.md Outdated Show resolved Hide resolved
concepts/fractions/about.md Show resolved Hide resolved
colinleach and others added 11 commits November 27, 2023 20:26
Co-authored-by: BethanyG <BethanyG@users.noreply.github.com>
Co-authored-by: BethanyG <BethanyG@users.noreply.github.com>
Co-authored-by: BethanyG <BethanyG@users.noreply.github.com>
Co-authored-by: BethanyG <BethanyG@users.noreply.github.com>
Co-authored-by: BethanyG <BethanyG@users.noreply.github.com>
Co-authored-by: BethanyG <BethanyG@users.noreply.github.com>
Co-authored-by: BethanyG <BethanyG@users.noreply.github.com>
Co-authored-by: BethanyG <BethanyG@users.noreply.github.com>
Co-authored-by: BethanyG <BethanyG@users.noreply.github.com>
Co-authored-by: BethanyG <BethanyG@users.noreply.github.com>
Co-authored-by: BethanyG <BethanyG@users.noreply.github.com>
@colinleach
Copy link
Contributor Author

colinleach commented Nov 28, 2023

should we be talking about or referring to the Python Numeric tower

Interesting question. I guess I had had assumed this was covered in numbers - a polite way of saying I hadn't really thought about it. I'll go away and think about it.

@colinleach
Copy link
Contributor Author

should we be including some more practical-ish or larger examples? I mean, for fractions that's really any good middle school math problem

Good idea, but I don't immediately have good suggestions. FYI - I don't have kids and haven't been anywhere near a middle school since 1967, so I haven't a clue what they do.

@colinleach
Copy link
Contributor Author

colinleach commented Nov 28, 2023

A possible strategy on larger examples, that I throw out for discussion:

  • If we get good ideas while wordsmithing the about.md docs, great, we include something.
  • Otherwise, by about this weekend we merge what we've got,, then revisit this question later when creating related Concept Exercises.

Writing actual working exercises with these modules is the sort of thing that might get the creative juices flowing, and that could feed back into the concept.

I should add that I have no idea what these concept exercises might look like. I haven't found anything we could steal adapt from other tracks: Python would be the first to add fractions and complex-numbers to a syllabus, even if a few others could in theory.

It makes me tempted to do random next, as it's more mainstream.

@BethanyG
Copy link
Member

  • If we get good ideas while wordsmithing the about.md docs, great, we include something.
  • Otherwise, by about this weekend we merge what we've got,, then revisit this question later when creating related Concept Exercises.

That totally makes sense. It also keeps us from bogging down and never getting on to other topics/work. Add add an additional point: at the point we merge about.md, we craft the introduction.md.

As for ideas, I have to confess to (happily) falling down a series of rabbit holes this morning with fraction math. I might now have a few ideas (worth discussing at least) for the concept exercise:

  1. Started here and then went here with the intent of a shameless borrow or adaptation from codewars. But that exercise is extremely mathy, with no reasoning as to why you'd implement a greedy algorithm for this scenario. Also? I am allergic to the superfluous use of "decomposition".

    But then I followed the reference to Egyptian Fraction, and that was a fun half hour following additional various sidetracks. I think something like the example of Pizza sharing could have traction as a concept exercise. Your thoughts?

  2. A second bird-track led me to this blog. I don't know that I particularly like the solution, but maybe we can adapt something from Project Euler #33?

  3. This third one is a bit lame, but we could construct something like this, but in a way that covers more mathematical operations and functions from Fractions. This seems less attractive to me, but it is an option.

  4. This last is a grab-bag of links I found after googling "fraction problems for adults". Whelp, not all of these are great, but maybe there's some gold in the mud.

-- the up side of modeling simple probabilities as fractions is that we can then riff on the more advanced tools you can use (like randomness) and other goodies in math and statistics to do more complicated probabilities...... or not. 😄

@BethanyG
Copy link
Member

Interesting question. I guess I had had assumed this was covered in numbers - a polite way of saying I hadn't really thought about it. I'll go away and think about it.

💙

Well..the initial numbers concept only covered the "core" or built-in numbers, minus the complex number type. But numbers as in the numeric tower is a series of abstract base classes. Which is why I am a bit ... hand wave-y. Because ABCs are a lot. I'll let you think... 😄

@colinleach
Copy link
Contributor Author

colinleach commented Nov 28, 2023

I need more time to think about the examples, but thank you for assembling the list.

I need no time at all to think that this is MUCH, MUCH too early in the concept tree to introduce ABCs!!

These students may not even have done functions yet, and very probably not classes. I like to think I'm not a total novice, and I'm still pretty vague on ABCs - I've read about them but can't remember ever using them.

@BethanyG
Copy link
Member

Yeah. The more I think about it, the less I like even mentioning the numeric tower or the Numbers ABC. That can be a nugget bright and bushy-tailed students discover on their own. 3 core types and 3 extended types plus the ... 16? That Numpy gives us seem like its plenty. If someone wants to invent more, they can figure that out themselves. 😆

Added some links and edited config.json.
@BethanyG
Copy link
Member

BethanyG commented Dec 5, 2023

Pushing the big, green button!!

@BethanyG BethanyG merged commit 44b0c7f into exercism:main Dec 5, 2023
8 checks passed
@colinleach colinleach deleted the fractions branch December 5, 2023 22:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants