Ed Harcourt

String processing.

CS140 Syllabus - Class Schedule

Day Class Date Topic Notes Homework
1 Wed-26-Aug Using Java as a calculator Its all bits. What is a bit? Compiler? Programming Language? What is a Java class? What is a method? How do we refer to a method in a class? Review fahrenheit to celsius program. Review reading from the keyboard using StdIn and writing to the console using StdOut.
2 Mon-31-Aug Using Java as a calculator StdIn and StdOut. Declaring integer type and double type variables. Variables declarations and mathematical expressions and precedence. Homework 1 due next class Sep 2 at the start of class.
3 Wed-2-Sep Java graphics Intro to Java Graphics Lab. The Picture, Graphics, and Color classes and related methods (commands). Review today's lab and Java graphics commands. Homework 2 due next class Sep 2 at the start of class.
4 Mon-7-Sep Java methods, parameters, class vs method variable scope, simple animation. Ten minute quiz Wednesday. Review the program we developed in class. New methods include Util.sleep(sec) and creating a new color. Study for quiz by reviewing programs we have written so far this semester as well as review exercises.
5 Wed-9-Sep Looping Replicate an image horizontally, diagonally, vertically. Review today's program on a moving particle. Review today's lab. Homework 3 due Monday.
6 Mon-14-Sep More looping examples Study for Quiz Review today's lab. Also look at review exercises from previous classes and have questions for Wednesday.
7 Wed-16-Sep The Gambler's Ruin. The if-statement. Review the Gambler's Ruin program. Homework 4 due Monday.
8 Mon-21-Sep Finish Gambler's Ruin today by plotting a line graph of current account balance. Exam 1 Wednesday Sep 30 Quiz Wednesday. Study Gambler's Ruin
9 Wed-23-Sep
  1. Gambler's Ruin with a scaled X-axis
  2. The lost hiker lost in the woods (Sierpinski's Triangle)
  3. 2-Dimensional Random Walk.
Study Questions coming by Thursday evening No homework, study for exam. Study by writing programs, not looking at them. Here's a practice question. Try to do the practice question alone without assisance. You may of course look at other programs and your notes.
10 Mon-28-Sep
  1. In class lab today. Execute the run.bat file in the folder Sep28Exam1Practice.
  2. The picture is exactly 512-by-512 pixels.
  3. In the upper left quadrant red starts at 255 and decreases. Green starts at zero and increases, and blue stays constant at 255.
  4. In the lower right quadrant red and blue start at zero and increase by one and green starts at zero but increases by two.
Study for exam. Study by writing programs, not looking at them. Here's a practice question. Try to do the practice question alone without assisance. You may of course look at other programs and your notes.
11 Wed-30-Sep Exam 1
12 Mon-5-Oct Image processing New looping construct; the for-loop. New Picture methods getPixel and setPixel. Pixel methods getRed, getGreen, getBlue. Opening a picture using new Picture constructor. Using a string variable to hold the path. Creating the photographic negative, increasing red, decreasing red, switching colors. Review black-and-white (grayscale) program and how we use two nested for-loops to examine every pixel.
13 Wed-7-Oct More Image processing
  • Fading from color to black and white
  • Making an image darker
  • Making an image brighter
  • Decreasing the amount of red
Review the programs we developed in class today. Turn in Exam1 corrections on Monday.
14 Mon-12-Oct More Image processing
  • Random gray scale. Makeing a picture grayscale by choosing pixels at random and making them gray.
  • Creating a color gradiant of all possible combinations of red and green
  • Functions, methods that return a value
  • Shrinking an image 1/2 the height and width
Review today's programs. Quiz Wednesday.
15 Wed-14-Oct Steganography Read the Wikipedia entry on Steganography. Review the steganography example developed in class.
16 Mon-19-Oct Rotating an image, and copying a smaller image into a larger image, enlarging an image. Rotating an image 90-degrees right, left, and 180 degrees. Creating a mirror image. Review the copyInto and rotateRight methods. Homework 5
17 Wed-21-Oct Dropping an object from height h. Generate a table of height and time for an object dropped from height h. We developed the round function, that rounds a value to two decimal places. Work on collage homework and review the velocity and position equations.
18 Mon-26-Oct Animate dropping an object from height h. Toss an object from a height of zero with velocity v. Animate an object tossed in the air. Work on collage homework and review the velocity and position equations. Review the program we developed in class.
19 Wed-28-Oct Animate a projectile with velocity and an angle. New Math methods for cosine, and sine, as well as converting degrees to radians. Exam 2 Practice Questions
20 Mon-2-Nov Exam Practice. Animate a clock.
21 Wed-4-Nov Exam 2
22 Mon-9-Nov String processing. The String data type and using Java's string functions Review String functions; length, charAt, indexOf Review the example of counting the occurrences of the characters a, c, g, and t in a DNA sequence of ecoli.
23 Wed-11-Nov More string processing. Reading more than one line at a time. Line oriented processing.
  • Count lines of War and Peace and the number of occurrences of the letter "e".
  • Extract temperature data from weather.com.
24 Wed-16-Nov Implementing a Caesar Cipher.
25 Mon-30-Nov Classes and Objects. A Particle Simulator. Implement basic particle simulator using a Particle class. Quiz on Wednesday.
26 Wed-2-Dec Classes and Objects and arrays. A Particle Simulator. Implement basic particle simulator using a Particle class. Implement an array of particles so we can simulate many. Homework 6. Implement the particle collisions in the particle simulator. (Hint: Think nested for-loop). Turn in a printout on Monday December 7 and have a folder named HW6 in your home directory. Run my version in the HW6 folder on the T: drive by double clik