Unit | 
		BJP    Chapter Reading  
			Topics  | 
		Problems,    Exercises  | 
	
	
		1  | 
		Ch    1.1 - 1.2  
			Logistics 
			Programming/Java definition 
			println 
			methods  | 
		Ch    1, p. 54 
			Exercises 1-7  | 
	
	
		2  | 
		Ch    1.4-1.5, 2.1-2.2  
			Flow    control 
			Expressions 
			Variables 
			Coding conventions  | 
		Ch    1, p. 55 
			Exercises 8-13 
			Ch 2, p. 117 
			self-check problems 1-4, 7-13 
			 
			Ch 2, p. 124 
			Exercise 1  | 
	
	
		3  | 
		Ch    2.3  
			Definite    loops 
			Nested loops  | 
		Ch    2, p. 124 
			Exercises 2-8, 9-16  | 
	
	
		4  | 
		Ch    2.4-2.5  
			Nested    loops 
			Pseudocode 
			Class constants  | 
		Ch    2, p. 121-123 
			self-check problems 23-28 
			p. 130, problem 6: Space Needle project  | 
	
	
		5  | 
		Ch    3.1 (pp. 132-147)  
			Scope 
			Parameters  | 
		Ch    3, pp. 177-180 
			self-check problems 1-3, 7-8 
			 
			Ch 3, pp. 183-184 
			Exercises 1-5 
			 
			Ch 3 pp. 185-186 Programming Project #1:Christmas Trees  | 
	
	
		6  | 
		Ch    3G.1-3G.3  
			Using    objects 
			DrawingPanel 
			DrawingPanel.java(place in your src folder) 
			Procedural decomposition with graphics  | 
		Ch    3G, pp. 216-217 
			self-check problems 1-4 
			 
			Ch3G Exercises pp. 217-221. 1-9. 
			 
			Ch3G Projects, pp. 222-225. 
			#1 (Concentric Circles) 
			#3 (Checkerboard) 
			 Use    these coordinates: 
			     x, y, sizeSubFigures, #rows-cols, #Tiles 
			0,    0, 100, 1, 5 
			200,    25, 40, 5, 4 
			20,    120, 15, 10, 3 
			 
			#5 (Cafe Wall)  | 
	
	
		7  | 
		Ch    3.3, 3.2 pp. 177-181  
			Interactive    programs using Scanner 
			Packages 
			Math class 
			Return statement  | 
		self-check    problems 4-6, 9-13 
			 
			Ch 3, pp. 184 
			Exercises 6-10 
			Ch 3 pp. 186-187 Programming Projects 
			#2 Bank    Ledger Sheet (should look like this) 
			#4 Triangle angles from sides 
			#5 Spherical Distance See SD Calculator. Implement the method on p. 416!  | 
	
	
		8  | 
		Ch    3.2, 4.1, 4.4, 4.5  
			Conditionals  | 
		Ch    4, pp. 289-293, 295-296  
			self-check problems 1-11, 22-26 
			Ch    4, pp. 296-299 
			Exercises 1-5, 9-12, 16 
			 
			Ch 4 Projects  
			#1 Roman Numerals (p. 299)  
			#7 Pascal's Triangle (p. 300; Output 14 rows, n = 0-13) 
			Ch3G    Project #4, p. 224  
			Set    DrawingPanel dimensions to800 x 500. 
			Velocity    = 100 m/sec 
			Angle    = 65 degrees 
			Steps    = 100 
			Draw    a GRID with black major gridlines every 100 pixels and gray    minor gridlines every 25 pixels. 
			Use drawOval()    to plot/draw each point. Recall that the first two parameters are the left    and top of the point, not its center coordinates (the x and y points that the    program calculates).  Therefore, you need to write your code so that it    draws each point centered around the actual (x,y) values. 
			NOTE: Use the code on pp. 174-176 (from the Projectile Trajectory Case Study in Chapter 3.4) to generate about 100 points for the curve.  Capture these in an array, and plot each point	on your graph.  DO NOT use a scanner object.  Simply hard-code the values for VELOCITY, ANGLE (degrees), and # STEPS in their corresponding variables.
			 Your    output should look like this:Projectile  | 
	
	
		9  | 
		Ch    4.2  
			1.    Cumulative algorithms 
			2. Roundoff Error 
			3. Do not use == with double / float  | 
		Ch    4, pp. 293-295  
			self-check problems 12-16 
			Ch    4, pp. 297-298 
			Exercises 6-8 
			 
			Ch 4 Projects  
			#2 Day of Week (p. 299)  
			#4 B-Day (p. 300; in class!) 
			#6 Checksum (p. 300)  | 
	
	
		10  | 
		Ch    3.3, 4.3  
			Strings 
			-As Objects though it behaves like a primitive type) 
			-0-based indexing 
			-Exceptions 
			-As ImmutableObjects 
			 
			Scanner 
			Text processing 
			-the char type 
			-escape sequencecharacters 
			-char type variables can be used in a switchstatement 
			-conversion of char toint 
			-printf()  | 
		Ch    3, pp. 181-182 
			self-check problems 14-15 
			Ch 3, pp. 185 
			Exercises 11-13 
			Ch 4, pp. 291-295  
			self-check problems 7-11, 17-21 
			Ch    4, p. 299 
			Exercises 13-15 
			For Exercise 13, ignore "scanner".  printPalindrome(String s) will take a string as an object. 
			For    Exercise 15, use the built-in String methods: split() and replaceAll(): 
			String[]    list = s.split("\\s+"); 
			String    w = w.replaceAll("[^A-Za-z0-9-]", "") 
			 
			Ch 5 Projects  
			#1 Pig Latin! (p. 371).  
			 
			In the Ch4 Exercises and the Ch5 Project, do not use a scanner. Instead    create string literals containing your test phrases.  | 
	
	
		11  | 
		Ch    5.1, 5.2  
			Indefinite    loops 
			Fencepost, sentinel loops 
			 
			Math.random() 
			Random Objects  | 
		Ch    5, pp. 357-362  
			self-check problems 1-13 
			Ch    5, pp. 368-370 
			Exercises 1-5,8-11 
			#5:    use the method below to generate a random letter (as a String): 
			public    static String getRandomLetter() { 
			  String letters = "abcdefghijklmnopqrstuvwxyz"; 
			  int index = (int)(Math.random() * 26); 
			  String ch = letters.substring(index,index+1); 
			  return ch; 
			} 
			 
			 
			Ch 5 Projects (p. 372) 
			#3 Guessing Game + Hint 
			#6 2-D Random Walk using DrawingPanel.  Stop when pixel    walker reaches an edge.  | 
	
	
		12  | 
		Ch    6.1-6.4  
			File    reading with Scanner 
			Line-based file input 
			(OPTIONAL)  | 
		   | 
	
	
		13  | 
		Ch    6.5  
			Searching    a file 
			(OPTIONAL)  | 
		   | 
	
	
		14  | 
		Ch    7.1, 7.2  
			Arrays 
			pp.    425-460  READ!  | 
		Ch    7, pp. 491-492  
			self-check problems 1-13 
			Ch    7, pp. 496 
			Exercises 1-5,7-17; 
			#5, 11 & 13 together in class.  | 
	
	
		15  | 
		Ch    7.3, 7.4, 7.5  
			Reference    semantics 
			Arrays for tallying 
			2-D Arrays  | 
		Ch    7 Projects (p. 499) 
			#5 Tic-Tac-Toe (Fill array with X's and O's and use    print() code p. 474 to display) 
			Playing    Cards Project  | 
	
	
		16  | 
		Ch    5.3, 5.5  
			Boolean    logic 
			Short-circuit Evaluation 
			Flags !! 
				DeMorgan's Laws 
			Assertions  | 
		Ch    5, pp. 362-362, 366-367  
			self-check problems 14-22, 27-29 
			Ch    5, pp. 370-371 
			Exercises 13-18 (solve 18 both ways: with AND without using    a String).  | 
	
	
		   | 
		   | 
		   | 
	
	
		17  | 
		Ch 10.1    (pp. 629-646)   
			ArrayLists 
			Basic    ArrayList Methods(table    p. 634): 
			add(), clear(), get(), remove(), set(), size() 
			ArraysToArrayLists.java  | 
		Ch    10,    pp. 674-675  
			Self-check problems 1-17.  
			Answers: p. 1081. 
			Ch    10,    pp. 675-677 
			Exercises 1-8, 13, 15-16 
			Extremely important exercises! We will go over all problems in in class!  | 
	
	
		18  | 
		Ch 8.1-8.4 (pp.    500-538)  
			Object-oriented    programming 
			Classes 
			Constructors 
			Encapsulation 
			 
			Ch 10.2 (pp. 646-658) 
			Comparable,    Interface 
			Object composition  | 
		Ch    8,    pp. 548-550  
			Self-check problems 1-22.  
			Answers: pp. 1070-1075. 
			Ch    8, pp. 550-552 
			Exercises 1-17 
			Ch    8 Projects (p. 553-554)  
			#1 Rational Number Class: See pp. 264-265 for how to handle writing theIllegalArgumentException. 
			Ignore "Extra Challenge" 
			 
			#2 Date Class 
			 
			#3 GroceryList Class (you'll see s.t. similar on the AP exam) 
			Ch    10,    p. 677 (ArrayLists applied to Classes!) 
			Exercises 17-19  | 
	
	
		19  | 
		Ch    9.1, 9.2  
			Inheritance 
			super-class 
			super  
			equals  
			instanceof  | 
		Ch    9,    pp. 616-617  
			Self-check problems 1-3.  
			Answers: p. 1076. 
			Ch    9, pp. 623-626 
			Exercises 1-11 
			You will DEFINITELY see a problem like #9 on    the AP exam  | 
	
	
		20  | 
		Ch    9.5  
			Interfaces 
			Abstract classes  | 
		   | 
	
	
		21  | 
		Ch    9.2, 9.3, 9.6  
			Super    class 
			Polymorphism  | 
		   | 
	
	
		22  | 
		Ch    13.1-13.3  
			Complexity 
			Binary search 
			Sorts 
			Recursion  | 
		   |