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 (Newton’s Method), 7-2 (Newton’s Method, revised), 7-3 (Compound Interest), 7-4 (Installment Credit)

 

* 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 (HILO), 6-2 (HILO in reverse), 6-3 (Grading scale output), 6-4, 6-5 (Euclidean Algorithm), 6-7 (Rectangle – chart output), [6-8, 6-9, and 6-10 Graphics and physics]

 

* 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