Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
CS 177 Week 15 Recitation Slides Review 1 Announcements Final Exam on Friday Dec. 18th Complete your online review of your classes. STEW 183 from 1 – 3 PM Your opinion matters!!! Project 6 due … Just kidding 2 How to Study Know every detail of previous exams you have taken. Review the slides. Recitation slides are a summary of each week’s lecture. Good to review both; they will compliment one another. Understand your labs and projects as though you had to re-program them from scratch. If there is something you DON’T understand, look it up, Google it and ask questions! Re-program key parts and ** learn how to trace a program… ** Use the book to fill in any question areas. DO NOT ONLY RELY ON THE EXAMPLE FINAL!!!!! 3 Remember the Good Ole’ Days Compile and run a program called Program.java: Difference between System.out.println() and System.out.print()? javac Program.java java Program println() adds a new line at the end of the printed statement Java is case sensitive: VarName is different from varName. 4 Primitive Data Types: Type Kind of values Sample Literals int Integers -5 0 900031 double Floating-point Numbers 3.14 -0.6 6.02e23 boolean Boolean values true false char Single characters ‘A’ ‘Z’ ‘&’ String Sequences of charaters “Hello World” “Goodbye” 5 From example exam: 6 Conditionals if statements use a boolean expression and execute a set of statements if the expression is true. There may be a corresponding else block that handles cases where the expression is false Switch statements allow for the use of choices of several values, but must only be equality relationships for integers and characters. if(<Boolean Expression>) switch(data) { case val1: <Statement1> (break;) <Statement1> case val2: <Statement2> (break;) else default: <Statement3> <Statement2> } 7 Loops For loops – Count controlled While loops – Event controlled Do/While – Event controlled loops that need to execute AT LEAST once Conditions in loops are ways to enter the loop but also the condition on which to leave the loop – The STOP condition (Keep going until…) 8 Example: 9 Arrays Multiple elements stored and accessed together via the same variable name, with indices 0 – (length of array-1) All elements must be the same type To declare an array called example of 100 integers: int example = new int[100]; To create an array with initial elements, you can use: int example = {1, 2, 3, 4, 5}; 10 Example with arrays and loops 11 What if i started with 0? 12 Input Output java ProgramOut > output.txt java ProgramIn < output.txt OR java ProgramOut | java ProgramIn 13 StdDraw Method Use void line(double x0, double y0, double x1, double y1) Draw a line from (x0,y0) to (x1,y1) void point(double x, double y) Draw a point at (x,y) Method Use void circle(double x, double y, double r) Draw a circle centered at (x,y) with radius r void filledCircle(double x, double y, double r) Draw a filled circle centered at (x,y) with radius r void square(double x, double y, double r) Draw a square centered at (x,y) with edges 2r void filledSquare(double x, double y, double r) Draw a filled square centered at (x,y) with edges 2r void setPenColor(Color c) Start drawing with color c 14 Methods public static type methodName(type name1, … type nameN) or private return type optional public int calculateSum(int[] array) { int sum = 0; for(int i = 0; i < array.length; i++) sum += array[i]; return sum; } 15 16 Audio Digital audio is made by sampling the heights of the sound wave many times per second CD quality audio samples at 44,100 Hz The frequency of the wave determines how high or low the wave sounds The height of the peaks from the troughs (amplitude) determines the loudness (volume) StdAudio lets us load WAV files as an array of samples in the range [-1.0,1,0] and save such arrays as WAV files 17 Method Use static double[] read(String file) Read a WAV file into an array of doubles static void save(String file, double[] input) Save an array of doubles (samples) into a WAV file static void play(String file) Play a WAV file static void play(double[] input) Play an array of doubles (samples) 18 Classes and Objects public class Name { private type member1; private type member2; … //member variables public Name(…) { //constructor …. } //other methods …. } 19 Objects and Classes cont. Objects behave differently from primitive data types Reference variables are used to keep track of objects When a reference is first declared, its value is null If you try to use the methods or members of a null reference, your program will crash Multiple references can point at a single object Changing the object that they point to will change it for all references 20 Objects contain Members Methods Members are the data inside of objects, and they are usually private Methods are ways of accessing and modifying that data, and they are usually public 21 22 23 Running Time and Performance Not every solution that “works” is the best solution to use. Sometimes, even if a program works, it can be too slow. Usually depends on how many loops and how many nested loops there are. 24 Searching and Sorting Searching Can be done in O(n) time by just scanning through the array Can be done in O(log n) time if the array is sorted by playing a high-low game called binary search Cutting the search space in half every time It’s an algorithm that works well even with very large n Sorting Relatively simple methods take O(n2) time The “best” possible is O(n log n) time 25 Sorting Many possible ways of sorting. The more efficient, the more difficult to program… Bubble Sort Insertion Sort Merge Sort Bucket Sort (Many others…) SHOULD BECOME FAMILIAR WITH ALGORITHMS FROM SLIDES!!!!! 26 27 28 ANY QUESTIONS 29 QUIZ Using what you know and the remaining time, write down a question and answer that shows something you have learned this semester. Don’t forget your name in the process… (Please do not get over zealous where you may not be able to finish on time.) GOOD LUCK ON THE FINAL (AND DON’T FORGET EVALUATIONS!!!) 30