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

Boundary conditions for exercises #99

Closed
canweriotnow opened this issue Aug 3, 2015 · 3 comments
Closed

Boundary conditions for exercises #99

canweriotnow opened this issue Aug 3, 2015 · 3 comments

Comments

@canweriotnow
Copy link
Contributor

I've been thinking of exercises that fall at two ends of the spectrum; when I saw the linked-list exercise, it got me thinking: the majority of the exercises fall into the "clever puzzle" category or the "project euler" category, both of which are great.

But I'd love to see more fundamental CS type exercises, as they're both critical to understanding data structures, algorithms, Big O complexity, etc. - for instance, "implement insertion sort" or quicksort, maybe Dijkstra's shortest-path algorithm.

Then I started thinking about knapsacks. Do we want NP-complete problems in the exercise set? Obviously a chess solver would be out of bounds as chess is in EXP, but what about problems in NP?

What about writing tests that are smart enough to determine the space/time complexity of the solution? (Easier in languages with reflection, I know, but just spitballing here.)

What's the lower-bound (I think linked-list sets it pretty low) and what's the upper bound (NP-hard, NP-complete, beyond?), or is it just "try it, people can skip it?"

@LegalizeAdulthood
Copy link
Contributor

IMO, the problems on exercism aren't designed to teach you anything in particular. It's the conversations about the resulting solution that we are after. Exercism isn't about teaching you computer science, or even teaching you how to program. (It is assumed you already know how to program in the language for any exercism language track.) Rather, it is about comparing, contrasting and discussing the solutions that different people make to the same exercise.

@kytrinyx
Copy link
Member

kytrinyx commented Aug 6, 2015

I think that introducing exercises that are about more fundamental CS-type subjects would probably lead to really interesting conversations.

If we move forward with #63 then perhaps it would be easier to create an exercise flow that is more flexible, and people could opt in or opt out to certain types of problems.

@petertseng
Copy link
Member

petertseng commented Apr 18, 2017

It looks like the discussion has been continued in exercism/discussions#124 and as of today the current action to be taken is #761.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants