workshopper / list

A central catalog of existing, planned and requested workshoppers
14 stars 7 forks source link

algorithms 101 #16

Open linclark opened 10 years ago

linclark commented 10 years ago

Still on the fence about whether this would be helpful as a workshopper, so looking for other's opinions.

The idea is to take a college intro level Algorithms course (like this one from Princeton), and create an exercise for each algorithm. This should hopefully make the course (which is taught in Java) more accessible to JS devs.

I've started testing it out at https://github.com/linclark/algorithms-101, and will continue working on it if others think it would be helpful.

timoxley commented 10 years ago

YES. great idea.

dgoutam commented 10 years ago

Great. Keen to check it out.

vetri02 commented 10 years ago

Definitely

MatthewLarner commented 10 years ago

Totes a great idea.

connor11528 commented 10 years ago

yeah this would be awesome. I've been writing js for a while but don't have a CS degree. I get asked about algorithms and don't know much about the specifics +1

rosskukulinski commented 10 years ago

@linclark I think this is a great idea. Would you want any help/assistance? Let me know. I'd be happy to play-test or help with a section or two.

mmckelvy commented 10 years ago

Yes, would be very interested in this.

leonletto commented 10 years ago

Yes please!

ascott1 commented 10 years ago

Yes, please! This would be awesome.

linclark commented 10 years ago

thanks for the feedback, everyone!

@rosskukulinski I added a few scaffold exercises and issues to track their development, let me know if you have any questions.

rosskukulinski commented 10 years ago

@linclark ran through the Welcome and quick-find on OSX with no problems. Looking good!

I do wonder if the fact that algorithm code solutions seems to come directly from the video is a downside?

linclark commented 10 years ago

I had thought about that myself. In the end, I think it's still valuable because it gives the learner experience walking through each of the algorithms, even if it isn't as challenging.

One thing to do to make it more challenging could be to have an exercise a the end of each section in which they have to apply an algorithm to a real life situation. For example, the Coursera course has you apply UnionFind to the percolation problem. It would take a lot of work to come up with applications that were challenging enough but not too challenging.

Another way to engage the learner more might be animating the validation. For example, if the learner was working on ShellSort, they'd see an animated version of this chart running their submission next to an animation of the solution.

rosskukulinski commented 10 years ago

Good points. I like your idea of having a final exercise for each section that applies the algorithms they've used (can you say, 'hello module reuse!') to a harder problem.

yuvilio commented 10 years ago

This is a fab workshop and off to a great start from the current exercises. Would love to see an exercise on counting steps as one the many ways of assessing an algorithm's speed. Not sure about whether it's in scope or how to go about it through. All i saw out of the box was console.time() , and that's not statement based.

grabbou commented 9 years ago

Is anybody (@linclark) working on this currently? If not, I am happy to continue further development.

linclark commented 9 years ago

Mentioned in the issue you opened there, but will add here too... feel free to submit PRs for the open issues.

grabbou commented 9 years ago

Thanks.. Been thinking about those based on data structures, like BFS based on binary tree, shall we use existing implementations or another workshop with all of them and possibly export solutions so the workshop can be used as a dependency?