CS0401: Intermediate Java
-
Introduction
- Course Goals
- Getting Started with Java
-
Intro to Java
- Reading: Gaddis Ch 3
- Compilation and Execution of Programs
- Keywords, Identifiers, and Literals
- Variables and data type
-
NO CLASS
-
Variables, data, and expressions
- Primitive vs Reference Types
- Operators
- Precedence
- Associativity
-
Input and Control types
- Using the
Scanner
class - Control statements
- Boolean expressions
- Truth tables
- Using the
-
Conditionals and Errors
if
andwhile
statements- Syntax
- Usage
- Variations
- Syntax, Run-Time, Logic errors
-
The
for
statement and output formatting -
Java Methods
- Method calls and functional abstraction
- Static methods
- Passing arguments by value
- Local variables and scope
-
QUIZ 1
-
References and Reference types
-
Java classes and objects
- Data abstraction and encapsulation
- Data hiding
- Private variables
-
Java class, continued
- Constructors
- Accessors
- Mutators
-
Arrays and Files
- Accessing simple text files
- Array syntax
- Direct and sequential access
-
Arrays, Continued
- Arrays as objects
- Parameters
- Modifying an array
- Searching
-
Multi-Dimensional arrays and ArrayLists
-
EXAM 1
-
Searching and Sorting
- Definition and concepts
- Selection Sort
- Binary search
-
The Object-Oriented Paradigm
-
Graphics in Java
- Event-driven programming
- Buttons and display
-
Graphics in Java, continued
- Layout management and managers
- JPanels
-
QUIZ THIS WEEK DURING LAB
-
Interfaces and Graphics Extensions
-
Wrapper classes
- Parsing simple input
- The
Character
class
-
Intro to Java Inheritance
- Superclasses and subclasses
- Protected variables
- Super methods
- Inheritance vs. composition
- Overriding vs overloading
-
More Java Inheritance
- More on ad hoc polymorphism (method overloading)
- Packages
- Generics
-
Developing Object-Oriented Program
- Using interfaces, polymorphic access, and Generics
-
NO CLASS - THANKSGIVING BREAK
-
Exceptions
- Definition
- Throwing and Catching
-
Recursion
- Recursive equations
- Recursive vs base case
- Implementation
- Benefits / Drawbacks
-
Cool Java Stuff (TBD)
-
MIDTERM 2