Title: Challenges
Date: 2014-02-11
Author: David Evans
Summary: Challenges

Note that it is still possible to win a challenge after the first
solution is posted, if you come up with a solution that is substantially
better or comparably good but different enough to be interesting.

# Page Fault Challenge

Opened in [Class 6](|filename|../classes/class6/class6.md):

> **Challenge:** Write a program that takes _N_ as an input and produces
  (nearly) exactly _N_ page faults.  A good solution is worth a USS
  Hopper patch (even cooler than a Rust sticker!) or an exemption from
  Exam 1 or Exam 2.

**Michael Recachinas solved the Page Fault Challenge!** (Solution presented in [Class 7](|filename|../classes/class7/class7.md).)

His code and results are here: [https://github.com/mrecachinas/Page-Faults](https://github.com/mrecachinas/Page-Faults).

# Concurrent Collatz Challenge

Opened in [Class 7](|filename|../classes/class7/class7.md):

> **Challenge:** Write a substantially better find_collatz program that
  makes good use of all available cores, and always produces the correct
  result.  (In class, I said it had to run 6 times faster than the
  single-threaded version on an 8-core machine, but if it is close to
  getting a good speedup and using an effective strategy to keep all the
  cores busy doing useful work nearly all the time that is good enough.)

**Loren Fryxell solved the Concurrent Collatz Challenge!** (Solution presented in [Class 8](|filename|../classes/class8/class8.md).)

His code is here: [https://github.com/lorenfryxell/cs4414-findcollatz](https://github.com/lorenfryxell/cs4414-findcollatz).


<div id="disqus_thread"></div>

<script type="text/javascript">
        /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
        var disqus_shortname = 'rust-class'; // required: replace example with your forum shortname
	var disqus_url = 'http://www.rust-class.org/pages/challenges.html';

        /* * * DON'T EDIT BELOW THIS LINE * * */
        (function() {
            var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
            dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
            (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
        })();
</script>
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>


