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

WIP draft of numbers concept #792

Draft
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

colinleach
Copy link
Contributor

This is an unfinished draft, NOT ready for formal review.

Known limitations:

  • introduction.md and links.json are both empty
  • References within about.md are very Wikipedia-heavy. I need to find more Julia-specific links.
  • We need to decide what exercise to pair this with, before writing introduction.md

I'm pushing this to concepts.wip to get it up on GH for discussion. Also as an indication of the way I'm thinking (rightly or wrongly) about the syllabus. Also as I knind of apology for pushing back quite aggressively against adding more content to basics - I wanted to discuss things properly in this separate concept.

@colinleach
Copy link
Contributor Author

P.S. It's long!

What do you expect, numbers are what Julia is for.

I'm assuming some level of mathematical knowledge, and will defend that. This language is unlikely to attract front-end developers from the JS/HTML/CSS world, it's designed for a different purpose and biased towards a different user group.

However, I think my text should be a lot more approachable than much of the official documentation!

@colinleach colinleach assigned colinleach and unassigned colinleach Sep 23, 2024
@colinleach colinleach marked this pull request as draft September 23, 2024 00:06
@depial
Copy link
Contributor

depial commented Oct 10, 2024

I think the level of mathematical sophistication is perfectly acceptable and I found it informative at first glance. However, you can get a broader feel for how the higher-ups might respond to increasing levels of sophistication with the conversation in PR #759. Also, if you find anything useful there, you're more than welcome to use it.

As an aside: I've been a bit distracted lately, but I hope to start to be able to look through and comment on some things you've been doing (it's quite a bit!), including a deeper dive into this one.

@colinleach
Copy link
Contributor Author

@depial, great to see you back! I guessed you might be within range of Helene's effects (if so you have my sympathy - Sandy in 2012 was more than enough for me, in my PA-resident days), so I've tried to avoid distracting you further.

I just read the "mathy" criticism. Two points I would make in pushing back:

  • This is an about.md where students can skip through the bits that don't suit them. It should be less controversial than an exercise that forces students to engage with the mathy stuff. Though the management are going to love the Linear Algebra concept!
  • This is Julia, of course it's going to be mathy!!!! Just like R is statistics-heavy, and JS is webby.

I know that @BethanyG has been keen for a long time to nudge the scientific languages in this direction. That's hard in Python, because it requires adding big 3rd-party packages to the test runner (NumPy for starters). In Julia it's the core language, and central to the design from its earliest days.

Our (untested) theory is that JS/TS/Elm users are unlikely to engage much with tracks like Julia and R, but the students who do are probably quite interested in the mathy stuff if we introduce it gently. Not all Exercism users are the same (says the rather untypical 67-year-old user with a PhD in chemistry).

OTOH, Jeremy has to pay the server bills each month, so he gets the final word on what they run.

@depial
Copy link
Contributor

depial commented Oct 11, 2024

I guessed you might be within range of Helene's effects (if so you have my sympathy - Sandy in 2012 was more than enough for me, in my PA-resident days)

Thanks for your concern! Seeing/Hearing what's happened all around us, there's no way I can complain. We got really lucky here for some reason.

This is an about.md where students can skip through the bits that don't suit them.

That seems more easily accepted indeed. (I still need to get a handle on the structure of everything which I hope to do through reading your PRs.)

Our (untested) theory is that JS/TS/Elm users are unlikely to engage much with tracks like Julia and R, but the students who do are probably quite interested in the mathy stuff if we introduce it gently. Not all Exercism users are the same (says the rather untypical 67-year-old user with a PhD in chemistry).

I'm fully on board with this. Not only in the idealistic sense that everyone should have access to relevant education (my favorite sense by all means), but it also makes business sense to have diversity in your platform since is builds robustness against the rather fickle nature of "the market". I feel like a lot of sites/businesses go too far down the standardization route, end up disenfranchising a good portion of their most loyal fanbase and then find themselves scrambling to cope when trends changed. I think Exercism is interesting because it seems like both of these senses are equally relevant, where usually its only the latter.

One last thing... I'm not sure if you saw Jeremy's change to the introduction, but it was the most encouraging bit of the review process:

Note: This is quite a mathsy exercise. If you don't enjoy solving maths-based exercises, maybe skip this one. But if you do, you'll enjoy this.

So mathiness doesn't seem to be an automatic down vote.

@colinleach
Copy link
Contributor Author

So mathiness doesn't seem to be an automatic down vote.

Yes!

@colinleach
Copy link
Contributor Author

colinleach commented Oct 11, 2024

I hope to start to be able to look through and comment on some things you've been doing (it's quite a bit!)

I started out trying to be quite systematic, getting each concept/exercise pair merged before moving on to the next one. That got bogged down in lots of slow and detailed word-smithing. Fine - this made the documents much better. However, it stopped me getting a feel for the overall shape of the syllabus.

For the last couple of weeks, I've been posting quite rough early drafts of concepts, to see how things evolve. They will need significant improvement before eventually being merged, but I'm finding the exercise very educational.

I recently came across a quote that Julia is quite a "big" language with lots built in (I can't find the text right now). My current guess is that a syllabus will need at least 40 concepts, maybe significantly more. Settle in for a long slog...

Also, I've only done relatively easy ones so far. I still need to figure out how to tackle the big ones: functions and types (each no doubt split into multiple concepts).

@colinleach
Copy link
Contributor Author

colinleach commented Oct 11, 2024

Continuing the easy ones, I'll try to get pairs-and-dicts posted tomorrow and sets soon after. Both have precedent in other tracks, so we can steal the exercises.

I quite fancy doing randomness soon. I did an R version that can probably be adapted.

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