Week |
Date |
Topics |
Readings |
1 |
8/22, 8/24 |
Overview of course and introduction to programming
- syllabus
- basic programming concepts
- getting Java installed
- entering, compiling, and running a Java program
|
Eck Chap. 1
Downey Chap. 1
|
2 |
8/29, 8/31 |
Variables, expressions, and assignment statements
- comments
- program style conventions
- primitive data types in Java
- converting between primitive data types
- the String class
- parsing a String as a number
- declaring and initializing variables
- literals
- constants
- arithmetic operators and precedence
- the concatenation operator
- simple CLI input and output
|
Eck Chap. 2
Downey Chaps. 2, 3, 9
|
3 |
9/5, 9/7 |
Selection
- Note: School closed for Labor Day on Monday, 9/4/17
- logical operators
- comparing Strings
- if statement
- if/else statement
- nested if/else statements
- variable scope
- conditional operator (if time permits)
- switch statement
- formatting output
|
Eck Chaps. 3.1, 3.5, 3.6
Downey Chaps. 5.1 - 5.5, 9
|
4 |
9/12, 9/14 |
Repetition
- increment and decrement operators
- while loop
- do/while loop
- for loop
- variable scope (revisited)
- loop counters
- sentinel values
- accumulators
- nested loops
- break and continue (if time permits)
- generating random numbers
- text file input and output
|
Eck Chaps. 3.1, 3.3, 3.4
Downey Chap. 7
|
5 |
9/19, 9/21 |
Methods
- syntax of a method
- passing arguments to a method
- returning a value from a method
- passing by reference (objects) vs. passing by value
- variable scope and lifetime
- designing solutions using methods
|
Eck Chap. 4
Downey Chaps. 4, 6
|
6 |
9/26, 9/28 |
Arrays
- array declaration
- array initialization
- accessing and modifying elements of an array
- arrays of objects
- passing an array to a method
- common array algorithms (minimum, maximum, sum, fill, display)
- linear search
- binary search
|
Eck Chaps. 3.8, 7
Downey Chap. 8
|
7 |
10/3, 10/5 |
Arrays (continued) and introduction to objects
- sorting an array
- classes and objects
- instance and static variables
- creating (instantiating) an object of a class
- constructors
- packages and import statements
|
Eck Chaps. 7.4, 5.1, 5.2
Downey Chap. 11
|
8 |
10/10, 10/12 |
Object-oriented programming and midterm exam
- instance and static variables
- constructors
- inheritance and composition
- passing objects to/from methods
- access modifiers (public, private, protected, default)
- Midterm exam 10/12/17
|
Eck Chap. 5
Downey Chap. 11
|
9 |
10/17, 10/19 |
Designing objects
- inheritance and composition
- passing objects to/from methods
- access modifiers (public, private, protected, default)
- create and use overloaded methods
- create and use overridden methods
|
Eck Chap. 5
Downey Chap. 11
|
10 |
10/24, 10/26 |
Designing objects (continued)
- inheritance chains
- the Object class
- the "this" reference variable
- superclass references and calls
- access modifiers revisited (public, private, protected, default)
- abstract methods and classes
- interfaces
- polymorphism
- create and use overloaded methods revisited
- create and use overridden methods revisited
|
Eck Chap. 5
Downey Chap. 11
|
11 |
10/31, 11/2 |
Text processing, error handling
- the StringBuilder class
- tokenizing a String
- parsing Strings (revisited)
- exception handling with try and catch
- throwing an exception
- assertions
|
Eck Chap. 3.7
Online notes
|
12 |
11/7, 11/9 |
Creating a GUI
- the components of a GUI (containers, components, layout managers, listeners)
- AWT and Swing
- the event dispatch thread
- create a container (JFrame, JPanel)
- set a layout manager
- create components (JLabel, JButton, JTextField)
- add components and containers to containers
- set JFrame settings
- create a simple non-functional GUI
|
Eck Chap. 6 |
13 |
11/14, 11/16 |
Creating a GUI continued
- create additional components (JComboBox, JRadioButton, JCheckBox)
- create and use a ButtonGroup
- create and use listeners
- get input from a GUI component
- display information on a (JLabel) GUI component
- create a simple functional GUI
|
Eck Chap. 6 |
14 |
11/21, 11/23 |
Applets
- discuss differences between applications and applets
- create a working applet
- Thanksgiving - school closed 11/22 5 P.M. - 11/25
|
Online notes |
15 |
11/28, 11/30 |
Recursion
- solving problems using recursion
- examples of recursive methods
|
Eck Chap. 9.1
Downey Chap. 6.7
|
16 |
12/5, 12/7 |
Review or additional topics |
|
17 |
12/12 |
Final exam: Noon - 1:50 P.M., Rm. A-1374, Comprehensive |
|