CSAwesome2 Notes
1 Using Objects and Methods
- Introduction to Algorithms, Programming, and Compilers
- Variables and Data Types
- Expressions and Output
- Assignment and Input
- Casting and Ranges of Values
- Compound Assignment Operators
- APIs and Libraries
- Documentation with Comments and Preconditions
- Method Signatures
- Calling Class Methods
- Using the
Math
Class - Objects - Instances of Classes
- Creating and Initializing Objects: Constructors
- Calling Instance Methods
- Strings
2 Selection and Iteration
- Algorithms with Selection and Repetition
- Boolean Expressions
if
Statements- Nested
if
Statements - Compound Boolean Expressions
- Comparing Boolean Expressions (De Morgan’s Laws)
- While Loops
- For Loops
- Implementing Selection and Iteration Algorithms
- Implementing String Algorithms
- Nested Iteration
- Informal Runtime Analysis of Loops
3 Class Creation
- Abstraction and Program Design
- Impact of Program Design
- Anatomy of a Java Class
- Writing Constructors
- Methods: How to Write Them
- Methods: Passing and Returning References of an Object
- Class (static) Variables and Methods
- Scope and Access
this
Keyword
4 Data Collections
- Ethical and Social Issues Around Data Collection
- Data Sets
- Array Creation and Access
- Array Traversals
- Implementing Array Algorithms
- Using Text Files
- Wrapper Classes - Integer and Double
- ArrayList and its Methods
- ArrayList Traversals
- Implementing ArrayList Algorithms
- 2D Array Creation and Access
- 2D Array Traversals: Nested Loops
- Implementing 2D Array Algorithms
- Searching Algorithms
- Sorting Algorithms
- Recursion
- Recursive Searching and Sorting