HW 2, due Friday, Feb. 4, 2022
Directions: Indicate "HW 2" in your blog posting and number the answers according to the questions below. Do Q1, Q2, Q3, and if you are a grad student, Q4.
Put your answers on your blog, and email me the address of the blog if you haven't already. Remember to check over this assignment early, and let me know if you would like us to go over in class how to do any of these, or have any other questions.
Q1. Recall the discussion of exponential curves. Using a spreadsheet or calculator, estimate the following (some hints are below, if you get stuck). Put the answers on your blog, but if the spreadsheets do not upload easily, it is not necessary to upload the actual spreadsheets.
Estimate the doubling time of the software development productivity of the average programmer, if productivity increases at 6%/year.
or alternatively...
Estimate the doubling time of your money if it increases by 6%/year in interest. (I don't think any bank is giving that much interest in recent years, but some other things like stocks might, although they might also decrease in value too.)
or instead...
If you don't have a math or computing background and this doesn't look like a problem you're comfortable with, do a web search on exponential increase, and make a list of some interesting facts along with the web address of the page on which each fact was found.
(Do not do - from previous year: Estimate the percent per year of increases in the capabilities of pocket computers (y'know, smartphones and such) if this doubles every 2 years. Estimate the percent per year of increases in the capabilities of pocket computers if this doubles every 18 months, as some think it is doing. How long will it take for inflation to halve the value of $100 if inflation is occuring at 2% per year?)
Q1 Hints
Here are some HW hints that many of you might find of interest. We can talk more about it in class if people wish.
A student asked:
Q: Is there a video of how to solve this?
Q1 Hints
Here are some HW hints that many of you might find of interest. We can talk more about it in class if people wish.
A student asked:
Q: Is there a video of how to solve this?
Answer: Yes, see https://us-lti.bbcollab.com/recording/5a0e352f91a74608b3ad92453400118b for one way to do it.
Q: I figured out the estimation, but I did not use a formula. Did we need to have a formula?
Answer: Just calculating the results, using a spreadsheet, similarly to how we did it in class, one year at a time, is the easiest way to do it. Any amount of money to start with should give the same answer in number of years.
HW: Estimate the doubling time of the software development productivity of the average programmer, if productivity increases at 6%/year.
Q: Is there a number that I start off with?
Answer: I would suggest starting with any number, then add 6% each year until it is double. The number of years it takes is the answer. Let's suppose current programmer productivity is 1000. Then the next year, it would be 1000 plus 6% of 1000. 6% is the same as 6/100 (definition of "%"). So we need to find 1000+(6/100)*1000. That equals 1.06*1000, which works out to 1060 after the first year.
Q: And although it may be simple, I am not sure how to figure out the percent per year. How do I do that?
Answer: Trial and error! For a doubling in 2 years, plug in, say 40% and run your year-by-year calculation twice, for the two years, and see if the result is a doubling. If it more than doubles, try 39%. If it less than doubles, try 41% instead.For doubling in 18 months, that is the same as quadrupling in 3 years. With a whole number of years, you can now just run your year-by-year calculation 3 times, for the 3 years.
Q2. Discuss what topic(s) and format(s) you are considering for your term project. Topic(s) can be anything future related. Format(s) can be a paper, a creative writing story, a program, a musical performance, skit, video, etc. Group or individual projects are both acceptable. You can change your mind later, but this question is to get you started thinking and writing about it. Word count for this question: 200 words or more. This project will be built step by step in each HW so it is not a big crunch at the end of the semester.
Answer: Just calculating the results, using a spreadsheet, similarly to how we did it in class, one year at a time, is the easiest way to do it. Any amount of money to start with should give the same answer in number of years.
HW: Estimate the doubling time of the software development productivity of the average programmer, if productivity increases at 6%/year.
Q: Is there a number that I start off with?
Answer: I would suggest starting with any number, then add 6% each year until it is double. The number of years it takes is the answer. Let's suppose current programmer productivity is 1000. Then the next year, it would be 1000 plus 6% of 1000. 6% is the same as 6/100 (definition of "%"). So we need to find 1000+(6/100)*1000. That equals 1.06*1000, which works out to 1060 after the first year.
Q: And although it may be simple, I am not sure how to figure out the percent per year. How do I do that?
Answer: Trial and error! For a doubling in 2 years, plug in, say 40% and run your year-by-year calculation twice, for the two years, and see if the result is a doubling. If it more than doubles, try 39%. If it less than doubles, try 41% instead.For doubling in 18 months, that is the same as quadrupling in 3 years. With a whole number of years, you can now just run your year-by-year calculation 3 times, for the 3 years.
Q2. Discuss what topic(s) and format(s) you are considering for your term project. Topic(s) can be anything future related. Format(s) can be a paper, a creative writing story, a program, a musical performance, skit, video, etc. Group or individual projects are both acceptable. You can change your mind later, but this question is to get you started thinking and writing about it. Word count for this question: 200 words or more. This project will be built step by step in each HW so it is not a big crunch at the end of the semester.
Part A. This part of Q3 has two versions. One is for those of you who were present in class for the lecture (maybe you are in an in-class section, or in an online section and attended this class by videoconference). The other is for those who were not present (maybe you are in an asynchronous online section without scheduled class meetings, or in an in-class section but had to miss class for some reason).
If you were present in class: For your question that we used the Delphi Method on in class, find the median and the range of the middle 50% of the responses. Using a graphics editor of your choice (even MS Paint works for this), make a graph that is analogous or similar to the one in the lecture notes, showing, for example, the total range, middle 50% range, and median (note: you may modify these specs to suit your data, as long as you explain why and how).
Here are some of the data we crowd sourced in 2022:
- Hint: Here is a video (visual props start in minute 3) explaining things.
- Hint: if you have an even number of data, the median will be halfway between the middle pair (the median of 1, 2, 3, 4 is 2.5, while the median of 1, 2, 3 is 2). If the number of data points is not divisible by 4, then how do you find numbers that divide the data points into the middle half, with the high quarter of figures above and the low quarter below? Interpolate: the interpolated numbers can be between two data points. For example, 2/7 of the way between 3 and 4 is 3 2/7.
- Hint: Maybe your data will not permit you to graph the middle 50%. However, maybe the data will allow showing the middle x% where x is some number close to 50 that works with the data. For example, if you have 7 data points then you could specify the middle 43% because that would contain the middle 3 data points.
- Hint: Suppose you were intent on finding the range of the middle 50% of the data points. With four data points it is easy. With many other numbers, it is not so easy. Let's say you have N data points and want to find the range of the middle 50%. If you like you can ask yourself, if I have N data points, and they are representative, what would it look like if I had thousands, and if I had thousands, what range would the middle 50% have? In this approach, of the thousands of hypothetical data points, about 1/(N+1) would likely be lower than the lowest, about1/(N+1) would likely be higher than the highest, and about 1/(N+1) would likely fall between any given adjoining pair of the N data points you do have. Then you can estimate the range of the middle 50%. Be creative as needed. It is not the case that there is only one right way to correctly analyze the data. (However, there are plenty of ways to incorrectly analyze the date, and plenty of ways to analyze it that make some assumptions of how the data would be distributed if you had thousands of data points. Typical statistical analyses are big on assumptions about the distribution of the data but not so big on mentioning those assumptions, ya' know.)
If you were not present in class: The instructor will step you and the others who were not in class through the Delphi process by group email. For each step you will get about 48 hours to respond. After 48 hours the instructor will email the group the next step. When the steps are completed, Q3 part A will be done.
Part C. Based on what you find out about the Delphi method, what shortcomings, risks, or other weaknesses do you see for the process that we followed in class? Also do you see a way to fix some of these, if we wanted to follow a more rigorous approach?
Q4. Grad students only: You might or might not have already obtained the book you plan to review. If you have not obtained it yet, it should be in the mail to you by now. Check on it. Find reviews of the book on line. Amazon often has them. Also you can often find reviews at goodreads.com. Do a search like the following (works in chrome): site:www.goodreads.com "something really new" which leads to reviews for the book titled "Something Really New" (obviously you would do it for a different book). Read the reviews and make sense out of them. For example, what things about the book can you glean from them? Do they all complain or praise the same things, or are they all different and make it hard to see anything about the book that many readers seem to agree on? Etc. This should be a complete analysis of the reviews such that there would not be anything much that someone might be able to add about the reviews.