Fundamentals of Java
by Lambert /
Osborne
Book Work
* Chapter 12: Recursion, Complexity (Big “Oh”), and Searching and Sorting
Pages 455-504
> 12.1 P. 456-66: 1, 2, 3,*5, *6 (Recursion)
> 12.2 P. 468-75: 1, 2, 3 (Complexity Analysis – Big “Oh”)
> 12.3 P. 475-78: 1, 2, 3 (Binary Search)
> 12.4 P. 478-82: (Quick Sort – AB course)
> 12.5 P. 482-85: (Merge Sort)
Case Study: Comparing Sort Algorithms – Page 486-88
> 12.6 P. 489-97: (Graphics and GUIs: Drawing Recursive Patterns)
> P. 498: Review
Projects:
12-1 (Recursive “gcd” algorithm), 12-2 (Recursive “reverse-string”), 12-3 (Recursive “insert-commas”), 12-4 (Recursive “n choose k”), 12-5 (Sorting: modify “Case Study”), 12-6 (Testing efficiency of “Towers of Hanoi”), 12-7 (Testing efficiency of “Many Queens”)
* Chapter 11: Arrays Continued
Pages 405-453
> 11.1 P. 410-11: 1(a-e), 2(a-d) (Advanced Operations on Strings)
> 11.2 P. 415: 1, 2, 3, 5 (Searching)
> 11.3 P. 422: 1, 2, 3, 4 (Sorting)
> 11.4 P. 426: 1, 2, 3 (Insertions and Removals)
> 11.5 P. 428: 1(a-d) (Working with Arrays of Objects)
> 11.6 P. 434: 1, 2 (The Class java.util.ArrayList)
Case Study: Building a Deck of Cards – Page 434
> P. 450: Review
Projects:
11-1 (Scanner and reporting statistics about words in file), 11-2 (Selection Sort), 11-3 (Find Word in File), 11-4 (MyArrays or CSArray), 11-5 (Card Game WAR)
* Chapter 10: Classes Continued
Pages 351-404
> 10.1 P. 356: 1-5 (Class (static) Variables and Methods)
> 10.3 P. 362: 1,2 (Java Interfaces – The Client Perspective)
> 10.4 P. 367: 1, 2 (Java Interfaces – The Implementation Perspective)
> 10.5 P. 371: 1, 2, 3, 4 (Code Reuse Through Inheritance)
> 10.6 P. 377: 1, 2 (Inheritance and Abstract Classes)
> 10.7 P. 380: (Some Observations about Interfaces, Inheritance, and Relationships among Classes)
> 10.8 P. 383: 1, 2 (Acceptable Classes for Parameters and Return Values)
> 10.9 P. 385: 1, 2 (Error Handling with Classes)
> 10.10 P. 392: 1, 2, 3 (Exceptions)
> 10.11 P. 395: 1, 2, 3, 4, 5 (Reference Types, Equality, and Object Identity)
> P. 403: Review
Projects:
10-2 (Heirarchy model - vehicles), Extra: The Point Class
* Chapter 9: Introduction to Arrays
Pages 305-349
> 9.2 P. 308: 1, 2 (Simple array manipulation)
> 9.3 P. 310-11: 1, 2, 3, 4, 5 (Looping through arrays)
> 9.4 P. 313-314: 1, 2, 3, 4 (Declaring arrays)
> 9.5 P. 317: 1, 2 (Working with arrays that are not full)
> 9.6 P. 317: 1, 2, 3, 4, 5 (Parallel arrays)
> 9.7 P. 321: 1, 2, 3, 4, 5 (Two dimensional arrays)
> 9.8 P. 323: 1, 2 (Using the enhanced for loop)
> 9.9 P. 326: 1, 2, *3, *4, *5 (Arrays and methods)
> 9.10 P. 326-27: 1, 2 (Arrays of objects)
> P. 344: Review
Projects:
9-1 (Ten integer array), 9-2 (Ten double array), 9-3 (Mode), 9-4 (Median), 9-5 (Modify 9-4), 9-7 (Magic Square), 9-8 (Pascal’s triangle), 9-10 (Penny Pitch game)
* Chapter 7: Improving the User Interface
Pages 247-267
> 7.4 P. 256: 1, 2 (formatted output with printf and format)
> 7.5 P. 258: 1, 2, 3 (Handling number format exceptions)
> P. 265: Review
Projects:
7-1 (
* Chapter 6: Control Statements Continued
Pages 199 – 246
> 6.1 P. 206: 1, 2, 3, 4, 5 (Truth Tables)
> 6.2 P. 214: 1, 2, 3, 4, 5, 6 (Testing conditions)
> 6.3 P. 218: 1
> 6.4 P. 222: 1, 2 (if/else ladder)
> 6.5 P. 224: 1, 2 (Nested “for” loops)
> 6.6 P. 225: 1, 3, 4 (while loop testing)
> 6.7 P. 233: 1, 2, 3 (Loop invariants)
> 6.8 P. 241: (Graphics)
> P. 243: Review
Projects:
6-1 (
* Chapter 5: Introduction to Defining Classes
Pages 154 – 198
> 5.1 P. 157: 1, 2, 3, 4, 5
> 5.2 P. 167: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
> 5.4 P. 177: 1, 2, 3, 4
> 5.5 P. 182: 1, 2, 3a, 3b, 3c
> *5.6 P. 193: 1, 2, 3 (Graphics)
> P. 195: Review
Projects:
5-1 (class Student), 5-2 (validate data in Student), *5-3 (Fraction), *5-4 (Dice), 5-5 (Bank Account), 5-6 (Library), 5-8 (Rectangles to Circles), 5-9 (Graphics)
* Chapter 4: Syntax, Errors, and Debugging
Pages 105 – 151
> 4.1 P. 106: 1, 2
> 4.2 P. 109: 1, 2
> 4.3 P. 111: 3
> 4.4 P. 115: 1, 2, 3, 4, 6a, 6b, 7
> 4.5 P. 120: 1, 2, 3, 4, 5
> 4.6 P. 123: 1, 2, 3a, 3b
> 4.7 P. 126: 1, 2a, 2b
> 4.8 P. 130: 1, 2
> 4.9 P. 137: 1a, 1b
> 4.10 P. 143: 1, 2, 3, 4
> P. 145: Review
Projects:
*4-1 (Integer Division), 4-2 (Right Triangle), *4-4 (Factorial), 4-5 (approximate PI), 4-7 (Powers of Two), 4-8 (Powers of “n”), 4-9 (Base and Exponent read from file)
* Chapter 3: Syntax, Errors, and Debugging
Pages 57 – 104
> 3.1 P. 59: 4
> 3.2 P. 60: 1
> 3.2 (cont’d) P. 61: 3, 4, 5
> 3.2 (cont’d) P. 63: 8, 9, 10, 11
> 3.2 (cont’d) P. 66: 12, 13
> 3.2 (cont’d) P. 67: 14, 15
> 3.2 (cont’d) P. 68: 16, 17
> 3.2 (cont’d) P. 70: 18, 19
> 3.2 (cont’d) P. 71: 20, 21
> 3.2 (cont’d) P. 73: 22, 23
> 3.2 (cont’d) P. 74: 24, 25
> 3.3 P. 76: 1, 2, 3
> 3.4 P. 78: 1
> 3.5 P. 86: 1, 2, 3
> 3.6 P. 88: 1, 2
> P. 101: Review
Projects:
*3-1 (Surface Area of Cube), 3-2 (Sphere), *3-3 (Kinetic Energy)
* Chapter 2: First Java Programs
Pages 31 – 55
> 2.1 P. 32: 3
> 2.2 P. 33: 1, 2
> 2.4 P. 36: 4
> 2.5 P. 42: 1, 2, 3, 4
> 2.6 P. 45: 1, 2, 3, 4, 5
> 2.7 P. 52:
> P. 53: Review Questions 2, 3, 5
Projects:
*2-1 (Display Name, etc.) , 2-3 (Nautical Miles), *2-5 (Momentum)
* Chapter 1: Background
Pages 3 – 30
Exercises
> 1.2 P. 9: 1-5,
> 1.3 P. 17: 3
> 1.4 P. 20: 4
> 1.5 P. 23: 4
> 1.6 P. 26: 3, 4
> P. 29: Review
Projects:
* 1-1