Problem Solving Assignment 8

Due: Tuesday, Feb 24th, 11:59 pm



There are three problems in this PSA. Don't worry -- 2 of them you are just making small changes to some given code.

Note 1: Besides writing the code there is an interview process required for this PSA. Your interview is worth 10% of the PSA grade and is done individually.

Note 2: You will be required to submit your result from in the class wiki. This will count for 5% of your PSA grade.

This homework requires skills from all Chapters up to Chapter 6 and Chapter 8.

  1. Resizing -- Alter these methods so that they accept a resizing of any size.
    • The user should be able to enlarge or shrink any picture by any amount.
    • You will complete a main application we provide to allow the user to interactively control shrinking or enlarging pictures (repeatedly).
  2. Checking Boundaries -- Alter PSA5 so that the user can input any location and any size to flip and the program will not get an out of bounds error.
    • Using these methods, and this as your main method, allow the user to enter any coordinates and any size for the picture to flip. If they go out of bounds, make sure they are reprompted so that they have another chance to input their choice. They should still get 3 choices for horizontal flip and 3 choices for vertical flip.
  3. Concatenating Sounds -- Using Sound.java, concatenate two sounds together.

Details

You must put a comment at the top of your code that specifies, for both you and your partner, your: real names, login names, and PIDs, And a two to four sentence description of the program (one description for each program).

Use a multi-line comment (/* */).

Comments are important. Code must be properly commented to receive full credit.

You must observe an 80 column limit. No line of your program may be longer than the 80th column on the screen.

Resize

For the following two methods, just alter these methods.
Method: Shrink Method: Enlarge

Testing your method (in an application):

Checking Boundaries

Testing your method (in an application):

Sound Editing

Method: concatenation

Testing your method (in an application):

How to turnin your homework electronically

Before turning in your files, rename all of the sounds you wish to use in this assignment Sound1.wav, Sound2.wav, etc for all sounds you are submitting. If you name them anything else, they will not be collected or turned in.

When you submit, the bundle script will be expecting 10 sounds, if you only have 3 this is OK. You will get a warning saying you are missing files, but as long as you are sure you included all of the sounds you wanted to include, and as long as it says you aren't missing any java files, it it ok and you will not be marked down.

When you are ready to turn in your homework, first open a terminal window by right clicking on the empty area of your computer's desktop (have to use lab computers or remotely connect from your home computer using SSH or Putty) and select "Open a New Terminal". Then, run bundlePSA8 from your PSA8/bookClasses directory. Files are required to be submitted for PSA8:

If you don't have one of these files present or have misspelled the name of one of these files, the bundle script will complain! Here you can see how you can run these commands:

-bash-2.05b$  cd ~/PSA8/bookClasses 

-bash-2.05b$  bundlePSA8 

Good; all required files are present:

        Picture.java
        PSA8A.java
	PSA8B.java
	PSA8C.java
	Sound.java
	Any wavs you used (should be named Sound1.wav, etc)

Do you want to go ahead and turnin these files? [y/n] y

OK.  Proceeding.


Performing turnin of approx. XXXX bytes
Copying to /home/linux/ieng6/cs8f/turnin.dest/cs8wxx.PSA8
.
Done.
Total bytes written: XXXX
Please check to be sure that's reasonable.
Turnin successful.


Make sure the Turnin is successful, otherwise we won't receive your submission! . If you want to make changes after you've turned in your homework, make the changes and run bundlePSA8 again. The program will warn you that a "previously turned-in file exists" and ask if "you wish to over-write this existing file". Respond in the affirmative by typing y and pressing the Enter key.

Getting your interview done INDIVIDUALLY

10% of your grade on this assignment will come from an interview you will have with one of the tutors during Open Lab Hours. You have 48 weekday hours after the electronic turnin deadline to get your interview done. The deadline for the interview for PSA8 is Thurs Feb 26th (theoretically at midnight, but actually by the end of the last tutor hour scheduled). Remember, the tutors may be busy after 4pm helping CSE8B students

You get an interview by going into B260 during a scheduled tutor hour. Find the tutor, ask them if you can interview for the 8A PSA. If they have others who are waiting for interviews, your name will go on the end of the list of people waiting. Interviews take about 5 minutes each. It is your responsibility to go in early enough that you can get your interview completed. If everyone waits until the last hour on Thurs, this will not work.

For the interview you will need to have a copy of your team's assignment in your account. If you are using your partner's account to submit the files, make sure you email them to yourself and save them under your account so that you have them available for the interview. The tutor will ask you to log in, change to the directory where your work is and then to follow their directions. They will ask you to run your program to show that it works, open files in Dr. Java (or your favorite editor), and ask you questions about HOW your code works. Additionally, they may question you as to how you would (theoretically) make small changes to the program to have it do something slightly different. You will not actually be required to change your code.

Learning to be able to explain your problem solving process and discuss code with another human being is a very important professional skill. We hope that this process will help you develop this skill.