Module 0: Arrays: A first look
 Module 1: Conditionals
 Module 2: Boolean Variables and Arrays 
 Module 3: Arrays of chars and strings
 Module 4: Methods: Parameters and Return Values 
 Review
 Module 5: Problem Solving with Chars and Strings
 Module 6: More Loopiness: while-loops, do-loops, for-each
 Module 7: Input / Output
 Module 8: Scope and Encapsulation
 
        
 0.0    
  A group-of-items variable
     (Exercises and media: 0.1-0.2)
 0.1    
  Arrays and for-loops
     (0.3-0.8)
 0.2    
  Arrays of double's
     (0.9)
 0.3    
  Default values
     (0.10-0.11)
 0.4    
  Assignment and copying with arrays
     (0.12-0.17)
 0.5    
  Explaining the strangeness of arrays: a peek under the hood
     
 0.6    
  More examples
     (0.18-0.29)
 0.7    
  Reading and writing
     
 0.8    
  When things go wrong
     (0.30-0.34)
 1.0    
  A simple example
     (1.1-1.2)
 1.1    
  If-else
     (1.3-1.5)
 1.2    
  Nested conditionals
     (1.6-1.7)
 1.3    
  Combining conditions
     (1.8-1.12)
 1.4    
  Conditionals and loops
     (1.13-1.18)
 1.5    
  Conditionals and arrays
     (1.19-1.25)
 1.6    
  Working with more than one array
     (1.26-1.29)
 1.7    
  Nested for-loops
     (1.30-1.36)
 1.8    
  Rearranging an array
     (1.37-1.43)
 1.9    
  Reading and writing
     (1.44)
 1.10    
  When things go wrong
     (1.45-1.50)
 1.11    
  Meta
     (1.51)
 2.0    
  Boolean variables
     (2.1-2.2)
 2.1    
  Combining Boolean operators
     (2.3)
 2.2    
  Boolean operators and other types of variables
     (2.4-2.6)
 2.3    
  Using Boolean variables
     (2.7-2.10)
 2.4   
  Boolean arrays
     (2.11-2.17)
 2.5    
  Reading and writing
     (2.18)
 2.6    
  When things go wrong
     (2.19-2.23)
 3.0    
  Arrays of chars
     (3.1-3.6)
 3.1    
  Arrays of strings
     (3.7-3.8)
 3.2    
  Converting a string into an array of chars
     (3.1-3.2)
 3.3    
  Fun with string arrays
     (3.9-3.13)
 3.4    
  A mystery demystified
     (3.14-3.15)
 3.5    
  Reading and writing
     
 3.6    
  When things go wrong
     (3.16-3.18)
 4.0    
  Why we need methods: via an example
     (4.1-4.3)
 4.1    
  Methods: what we've already seen
     (4.4)
 4.2    
  Method parameters
     (4.5-4.8)
 4.3    
  Multiple parameters
     (4.9-4.10)
 4.4    
  Return values
     (4.11-4.13)
 4.5    
  Using method calls in expressions
     (4.14-4.16)
 4.6    
  Methods and arrays
     (4.17-4.20)
 4.7    
  Multiple returns in a method
     (4.21-4.24)
 4.8    
  Call-by-value vs call-by-reference
     (4.25-4.26)
 4.9    
  Communicating via global variablesCall-by-value vs call-by-reference
     (4.27-4.28)
 4.10    
  null
     (4.29)
 4.11    
  Methods in String
     
 4.12    
  Reading and writing
     (4.30-4.31)
 4.13    
  When things go wrong
     (4.32-4.34)
 4.14    
  Meta
     (4.35)
 R.0    
  Variables
     
 R.1    
  Visualization of execution
     (r.1)
 R.2    
  Parameterless methods
     (r.2-r.3)
 R.3    
  Methods with parameters
     (r.4)
 R.4    
  The return statement
     (r.5)
 R.5    
  Methods that return a value
     (r.6-r.9)
 R.6    
  Scope
     
 R.7    
  Arrays are different
     
 R.8    
  Why we use methods
     (r.10)
 5.0    
  Palindromes
     (5.1-5.4)
 5.1    
  Approximate word matching
     (5.5-5.7)
 5.2    
  Searching for a word within a sentence
     (5.8-5.10)
 5.3    
  Common prefixes
     (5.11-5.12)
 5.4    
  Cryptography Part I: The Caesar cipher
     (5.13-5.19)
 5.5    
  Cryptography Part II: The Vigenere cipher
     (5.20-5.21)
 5.6    
  Cryptography Part III: Transposition ciphers
     (5.22-5.23)
 5.7    
  Cryptography Part IV: Combining ciphers
     (5.24-5.26)
 5.8    
  Computational Biology: Protein "strings"
     (5.27-5.33)
 5.9    
  Meta
     (5.34)
 6.0    
  A simple example
     (6.1-6.7)
 6.1    
  While-loop examples
     (6.8-6.13)
 6.2    
  Examples with break
     (6.14-6.17)
 6.3    
  Infinite loops
     (6.18-6.19)
 6.4    
  The do-while loop
     (6.20)
 6.5    
  The continue statement
     (6.21)
 6.6    
  Improving an earlier program
     (6.22)
 6.7    
  The for-each loop
     (6.23-6.25)
 6.8    
  When to use which loop
     
 6.9    
  When things go wrong
     (6.26-6.28)
 7.0    
  Types of input
     
 7.1    
  Console input
     (7.1-7.5)
 7.2    
  Applying Scanner to strings
     (7.6)
 7.3    
  Reading from a file
     (7.7-7.8)
 7.4    
  Reading from a file - more examples
     (7.9-7.13)
 7.5    
  Writing to a file 
     (7.14-7.16)
 7.6    
  printf
     (7.17)
 8.0    
  Global variables
     (8.1-8.4)
 8.1    
  Variable shadowing and scope
     (8.5-8.6)
 8.2    
  Packaging and encapsulation
     (8.7)
 8.3    
  When things go wrong
     (8.8-8.12)
 8.4    
  Meta
     (8.13-8.14)
Back to Unit-1