PS7

Home Assignments Lecture Blog Resources Project Discussion Group

91.301 Organization of Programming Languages
Prof. F. Martin

Out: Mar 28, 2011
Due: Apr 4, 2011

Please note: In addition to the mapreduce work, you will do a second final project exploration.

Please note #2: You MUST come to lecture to pick up your login information for use of the UCBerkeley mapreduce cluster. Exceptions made only in case of emergency.


Problem Set 7 – Parallelism with Mapreduce

Here's info on using the UCB system. In class, students will be given individual logins to the UCB server.

The two UCB Mapreduce lectures:

⚠ (:html:) &lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/mVXpvsdeuKU&amp;hl=en&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/mVXpvsdeuKU&amp;hl=en&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt; <:vspace> &nbsp; <:vspace> &lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/NjAKl5B0BKs&amp;hl=en&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/NjAKl5B0BKs&amp;hl=en&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt; <:vspace> &lt;!-- 18 mins: converting filesystem into stream to see contents of FS --&gt; <:vspace> (:htmlend:)

For your homework, turn in answers to both the “lab” and the problem set. (In class, we worked through most or all of the “lab.” I want you to turn in these answers anyway, because they are warm-up for the problem set.)

References


Part 2: Final Project Exploration 2

In this exercise, you will play with at least one library provided by the PLT Scheme developers. You will have the opportunity to explore another library in each of the next two weeks.

Please choose libraries that you think you might be interested in using in your final project.

Start off at the Racket home page, http://racket-lang.org/

Then there are two places you can go for library code:

Your job is to explore one library and write up your results. Load the library and write some code to drive it around.

To turn in: at least 2 pages of interspersed code and narrative explaining what you did. Reminder again: please think about what you might want to work on for your final project, and choose a relevant library to work with. Turn it in with submit fredm 301-fpe2 your-file(s)

Other guidelines:

  • If at all possible, make it easy for me to run the code. If you're loading external files, include them (if they're not too large -- or shrink them down), and make it obvious how I can change the paths to load them. Ideally – I should be able to hit F5 and see your project run.
  • Make sure to explain what you did and what you learned! You may either put the narrative as comments in the .rkt source file, or send me a source file and a separate .txt or .doc file.
  • Please name your files including your username or real name. Then when I extract them I won't have a bunch of files named fpe2.rkt overwriting each other.
  • Make sure to put your real name/username as a comment in your source file.

REMEMBER YOU MUST GET SOMETHING WORKING! Do not just read about some API—play with it enough so that you can make it do stuff! And show me the stuff! (Or at least, tell me about it to the point that I realize you did it.)