CSC2025 Quiz 10

Fall 2013
Herbert J. Bernstein ( )

CSC2025 Quiz 10
Fall 2013

 


This web page is http://www.bernstein-plus-sons.com/.dowling/CSC2025F13/CSC2025_Quiz_10.html
Copyright © 2004, 2011, 2013 Herbert J. Bernstein and other parties. All rights reserved.


This is the 10th daily quiz to be taken or before Tuesday, 3 December 2013 You should need several hours to do this quiz properly, so it is being made available early. It involves some serious programming. You may work with whoever else you wish on this quiz, but you are responsible for understanding whatever you submit. You should submit your best effort on time, but you may return to this important quiz as often as you wish to try to improve your work for full credit. This is a very hard quiz. Don't get discouraged if you have trouble with it. We will work through the problems people have together and get everybdy to understand how to handle this, but if you don't try it yourself, you won't fully appreciate the discussion.

  <==== Do this AFTER you've answered all the questions

You probably DON'T want to do this ===>  

Please fill in the following information:

Name:


Email:

Skype ID:

Please answer the following questions on this form (or on a paper copy of this form).

  1. It is often the case that you have too much data to sort completely in memory. Draw on what you have learned to design a program that will sort strings in a large file of up to 10,000,000 strings on disk in alphabetic, case-insensitive, order by reading up to 100,000 strings at a time into memory, sorting them and writing them back to some file with a new name, and then, after all such partial sorts have been done, merging the new sorted files into a new combined, completely sorted file. Carefully estimate the time and space requirments of your program, assuming the lengths of strings vary randomly between 4 and 20 characters per string. Be careful to do your estimates before actually implementing the program in response to the next question. Post your design to your course web site and give both a summary of the design and the URL as the answer to this question. Be sure to grant access to yayahjb@gmail.com.

  2. Now implement both the program you have designed and a test suite for that program. Post all of this on your course web site with detailed notes in your blog, and give the URLs here.

  3. Now test your program both for accuracy of the results and for timing. If your test suite does not do a good job of testing both, improve your test suite until it does. Be sure to explain the relationship between your timing test results and your timing estimate in your blog. Give the URL of the blog entries relating to this question.

  4. Describe your project and summarize its status. Post as much as you have on the project to the web and give the URL. If it is not complete, say so and explain how you will clear the resulting incomplete for the course.

  5. For Tuesday, 3 December, you were given the assignment to ewrite your think piece essay on the question of optimizing the performance of code on computers. The question is not whether there are techniques to reduce execution time or reduce use of memory. The question is whether or when such techniques should be applied, and what are the advantages and disadvantages of doing so. You will be graded not on how well you agree with the texts or the instructor, but on how coherently you express your ideas. However, In this version of the essay you must explain how your ideas relate to what you have done and learned in this course. It is OK if your ideas have not changed, but you must show some awareness what can be done to optimize code by bettter use of data structures. Give the URL of you essay in answer to this question. If it is not complete, say so and explain how you will clear the resulting incomplete for the course.

  6. Explain the three most important things you learned from Dr. Garg's lecture 34

  7. Explain the three most important things you learned from Dr. Garg's lecture 35

  8. Explain the three most important things you learned from Dr. Garg's lecture 36

  <==== Do this AFTER you've answered all the questions

You probably DON'T want to do this ===>  

Revised 1 December 2013