Introduction to Computer Programming- Introduction to Programming
- Programming Tools
Programming Fundamentals - Thinking About Objects
- Program Basics
- Programming Constructs
Java: A First Look - The Java Platform
- Using the JDK
- The Eclipse Paradigm
- Writing a Simple Class
OO Concepts- Object-Oriented Programming
- Inheritance, Abstraction, and Polymorphism
Getting Started with Java - Adding Methods to the Class
- Language Statements
- Using Strings
- Specializing in a Subclass
Essential Java Programming - Fields and Variables
- Using Arrays
- Java Packages and Visibility
Advanced Java Programming- Inheritance and Polymorphism
- Interfaces and Abstract Classes
- Exceptions
Java Developer's Toolbox - Utility Classes
- Enumerations and Static Imports
- Formatting Strings
Collections and Generics - Introduction to Generics
- Collections
, 1. Overview of Computer Programming
¢ Explain what a program is
¢ Explain why there are different types of languages
¢ Explain what a compiler is
¢ Explain what an interpreter is
2. Features of a Program
¢ Understand what the entry and exit points of an application are
¢ Explain what variables are
¢ Explain what programming instructions are
¢ Explain what errors and exceptions are
¢ Understand what programming algorithms are
3. Software Development Life Cycle
¢ Explain the purpose of the software development life cycle
¢ Explain what each phase is for
¢ Explain the difference between the software development life cycle and a methodology
4. Thinking in Objects
¢ Understand the difference between a class and an object
¢ Deconstruct an object into attributes and operations
¢ Map an object to a class
¢ Define inheritance
5. The Java Platform
¢ Introduce the Java Platform
¢ Explore the Java Standard Edition
¢ Discuss the lifecycle of a Java Program
¢ Explain the responsibilities of the JVM
¢ Executing Java programs
¢ Garbage Collection
¢ Documentation and Code Reuse
6. Using the JDK
¢ Explain the JDK's file structure
¢ Use the command line compiler to compile a Java class
¢ Use the command line Java interpreter to run a Java application class
7. Using the IntelliJ IDE
¢ Introduce the IntelliJ IDE
¢ The Basics of the IntelliJ interface
¢ IntelliJ Projects and Modules
¢ Creating and running Java applications
¢ Tutorial: Working with your IDE IntelliJ 2023.2 (Community Edition) or Eclipse
8. Writing a Simple Class
¢ Write a Java class that does not explicitly extend another class
¢ Define instance variables for a Java class
¢ Create object instances
¢ Primitives vs Object References
¢ Implement a main method to create an instance of the defined class
¢ Java keywords and reserved words
9. Adding Methods to the Class
¢ Write a class with accessor methods to read and write instance variables
¢ Write a constructor to initialize an instance with data
¢ Write a constructor that calls other constructors of the class to benefit from code reuse
¢ Use the this keyword to distinguish local variables from instance variables
10. Object-Oriented Programming
¢ Real-World Objects
¢ Classes and Objects
¢ Object Behavior
¢ Methods and Messages
11. Language Statements
¢ Arithmetic operators
¢ Operators to increment and decrement numbers
¢ Comparison operators
¢ Logical operators
¢ Return type of comparison and logical operators
¢ Use for loops
¢ Switch Expressions
¢ Switch Expressions and yield
12. Using Strings and Text Blocks
¢ Create an instance of the String class
¢ Test if two strings are equal
¢ Perform a case-insensitive equality test
¢ Contrast String, StringBuffer, and StringBuilder
¢ Compact Strings
¢ Text Blocks
¢ Unicode support
13. Fields and Variables
¢ Discuss Block Scoping Rules
¢ Distinguish between instance variables and method variables within a method
¢ Explain the difference between the terms field and variable
¢ List the default values for instance variables
¢ Final and Static fields and methods
14. Specializing in a Subclass
¢ Constructing a class that extends another class
¢ Implementing equals and toString
¢ Writing constructors that pass initialization data to parent constructor
¢ Using instanceof to verify type of an object reference
¢ Overriding subclass methods
¢ Pattern matching for instanceof
¢ Safely casting references to a more refined type
15. Using Arrays
¢ Declaring an array reference
¢ Allocating an array
¢ Initializing the entries in an array
¢ Writing methods with a variable number of arguments
16. Records
¢ Data objects in Java
¢ Introduce records as carrier of immutable data
¢ Defining records
¢ The Canonical constructor
¢ Compact constructors
17. Java Packages and Visibility
¢ Use the package keyword to define a class within a specific package
¢ Discuss levels of accessibility/visibility
¢ Using the import keyword to declare references to classes in a specific package
¢ Using the standard type naming conventions
¢ Introduce the Java Modular System
¢ Visibility in the Java Modular System
18. Utility Classes
¢ Introduce the wrapper classes
¢ Explain Autoboxing and Unboxing
¢ Converting String representations of primitive numbers into their primitive types
¢ Defining Enumerations
¢ Using static imports
¢ Introduce the Date/Time API
¢ LocalDate / LocalDateTime etc.
¢ Apply text formatting
¢ Using System.out.printf
19. Inheritance and Polymorphism
¢ Write a subclass with a method that overrides a method in the superclass
¢ Group objects by their common supertype
¢ Utilize polymorphism
¢ Cast a supertype reference to a valid subtype reference
¢ Use the final keyword on methods and classes to prevent overriding
20. Interfaces and Abstract Classes
¢ Define supertype contracts using abstract classes
¢ Implement concrete classes based on abstract classes
¢ Define supertype contracts using interfaces
¢ Implement concrete classes based on interfaces
¢ Explain advantage of interfaces over abstract classes
¢ Explain advantage of abstract classes over interfaces
21. Introduction to Exception Handling
¢ Introduce the Exception architecture
¢ Defining a try/catch blocks
¢ Checked vs Unchecked exceptions
22. Introduction to Generics and Collections
¢ Introduce Generics and Subtyping
¢ Explain Bounded Wildcard
¢ Generics Methods
¢ Provide an overview of the Collection API
¢ Review the different collection implementations (Set, List and Queue)
¢ Explore how generics are used with collections