The code for this work can be found conway package of the extensions source folder. Here is a tour of what you should find there:
The class provides methods that you will call from the work you do in Conway.
Part of the challenge of this lab is to understand and use an API that has already been implemented for you.While you are free to change Cell, you can implement this work using Cell as given.
To complete the constructor, you must use what you already know about arrays and objects. Get help as needed, but be sure to understand what you are doing before you proceed to the next steps.
What other methods must you complete so that testinit passes?
Once you have completed all the methods, you can run the Main method to play Conway's Game of Life. There are many patterns that can be used to test your simulation, some of which can be found here.
To further debug your code, the visual interface allows you to take one step at a time. If the game is not working, use the debugger or print information helpful to diagnosing the problems you see.
Block
Beehive
Loaf
Boat
Blinker
Toad
Beacon
Pulsar
Glider
Lightweight Spaceship
Gosper Glider Gun
BlockLaying Switch Engine
When you done with this extension, you must be cleared by the TA to receive credit.
 Commit all your work to your repository
 Fill in the form below with the relevant information
 Have a TA check your work
 The TA should check your work and then fill in his or her name
 Click OK while the TA watches
For example, the Four Blinkers code is captured already, but if you were to generate code for it using logAndCapture() the result would look something like this:
The idea is that the code can be copied from the console, pasted into your Conway class, and when you choose the right menu item from the interface, the board will be initialized to replicate what you captured.Beginning of Log and Capture setLife(true, 1, 1); setLife(true, 1, 2); setLife(true, 1, 3); setLife(true, 1, 5); setLife(true, 1, 6); setLife(true, 1, 7); setLife(true, 5, 1); setLife(true, 5, 2); setLife(true, 5, 3); setLife(true, 5, 5); setLife(true, 5, 6); setLife(true, 5, 7); End of Log and Capture
Once you have logAndCapture() working, use this new tool to automatically generate your own Conway patterns in myDesignOne(), myDesignTwo(), and myDesignThree(). For credit for this extension, these patterns should be both intriguing and potentially timeconsuming to generate by hand.
When you done with this extension, you must be cleared by the TA to receive credit.
 Commit all your work to your repository
 Fill in the form below with the relevant information
 Have a TA check your work
 The TA should check your work and then fill in his or her name
 Click OK while the TA watches
To be safe, your instance variable must be a copy of the parameter, so that the contents of your Matrix's array cannot be changed beyond your control.To copy the twodimensional array, you must instantiate a new twodimensional array and copy the original array's contents into your new array.
The .equals(Object) method included with this lab calls your arraysAreEqual method, so that Matrix equality of two matrices depends on the contents of those matrices.Until this method is working, the rest of the JUnit tests will not work properly.
In this lab, rows are numbered as arrays are indexed. Thus, the top row in the matrix is row 0, and the bottom row is numbered one less than the number of rows in the matrix.
When you done with this extension, you must be cleared by the TA to receive credit.
 Commit all your work to your repository
 Fill in the form below with the relevant information
 Have a TA check your work
 The TA should check your work and then fill in his or her name
 Click OK while the TA watches
When you done with this extension, you must be cleared by the TA to receive credit.
 Commit all your work to your repository
 Fill in the form below with the relevant information
 Have a TA check your work
 The TA should check your work and then fill in his or her name
 Click OK while the TA watches
The discount evaluation is especially useful when determining the viability of starting a new investment. For example, say that $30,000 has been invested into an opportunity that is expected to return $10,000 each year thereafter for three years. The present value of each year can be calculated by:
PV = C / (1 + r)^twhere C is the expected yearly return, r is the discount rate (typically the riskfree interest rate) and t is the time in years that have elapsed since the initial investment. Using a discount rate of 10% (.10), we can see that the present values for each of the three years are:
Year 1: $9090.90 Year 2: $8264.26 Year 3: $7513.15It can be seen that the present value for each year is less than the actual return (it has been discounted), since the same amount of money invested at the outset (time = 0) would have accrued interest. The sum of the present values over a given time is called the Net Present Value. The NPV of the above example would be $24868.31. Since the initial investment can be considered a negative cash flow at time = 0, the actual NPV would be $5131.69 making this a bad investment. More money could have been made by simply placing the original investment into a bank account for the same time period. Putting everything together, the formula for NPV is the sum of all present values from 1 to T minus the original investment.
To assist you with this work, a CashFlows class has been provided (along with some other useful clases) in the business package in the coursesupport source folder. The CashFlows object represents the expected cash flows for a certain number of years. The CashFlows class contains the following methods:
Using the information provided above, your task is to complete the following methods within the NpvCalculator class found in the netpresentvalue package of the extensions source folder in your repository:
When you done with this extension, you must be cleared by the TA to receive credit.
 Commit all your work to your repository
 Fill in the form below with the relevant information
 Have a TA check your work
 The TA should check your work and then fill in his or her name
 Click OK while the TA watches
This lab involves computation over some points of a complex plane.
Recall that a complex number has two components:
a real and an imaginary part.
For each complex point c
that we want to display, we compute
the function rigor(c)
as follows.
Pseudocode for rigor(c):In other words,z = 0.7795 + 0.134 i iters = 0 while abs(c) < 2 and iters < maxIters c = c*c + z iters = iters + 1 end while return iters
rigor(c)
is the number of iterations
that it takes to compute the value at c
.
The value of maxIters
is arbitrary, but let's assume
for now that
100 iterations are allowed for the computation. The function
abs(z)
computes the distance of z
from
the complex point (0,0).
To show complex numbers on an xy axis system, let us assume that the real component of a complex number is registered on the xaxis; the imaginary component is thus registered on the y axis. If we apply the above computation over the complex plane as x ranges from 2 to 2 and y ranges from 2i to 2i, we obtain the following picture:
(2, 2i)  (0, 2i)  (2, 2i) 
(2, 0i)  (2, 0i)  
(2, 2i)  (0, 2i)  (2, 2i) 
Figure 1: Initial display 

We use those two corners to describe the currently viewed area of the display.Zooming in, zooming out, and the selection of a box all affect those two corners, which in turn frame the display that is shown.
maxIters
).
Color color = Color.black; if (iters < maxIters) color = Color.getHSBColor((iters % 256)/255.0f, 1.0f, 1.0f); image.setPixel(i, j, color);
What is really interesting about a fractal drawing is that one can dive into the drawing and discover ever increasing detail. Below you see the results of zooming into the picture.



Zoom in on left part of picture  Another zoom in on left part of picture 
Sedgewick's StdDraw allows you to set the coordinates of the display.
The other zooming methods can accomplish their tasks by calling setCoordinates with the appropriate parameters.
Your code for Julia must use the Complex class. You will not get credit for this extension if your code is sloppy!
When you done with this extension, you must be cleared by the TA to receive credit.
 Commit all your work to your repository
 Fill in the form below with the relevant information
 Have a TA check your work
 The TA should check your work and then fill in his or her name
 Click OK while the TA watches