Maxtrain.com - info@maxtrain.com - 513-322-8888 - 866-595-6863
Getting Started with Programming, OO, and Java Basics For Non-Developers
Description
Getting Started with Programming, OO, and Java Basics For Non-Developers
Welcome to “Getting Started with Programming, OO and Java Basics for Non-Developers” offers a comprehensive five-day immersion into the basics of Java programming. As you progress through the course, you’ll gain hands-on experience with Java, fostering the development of a programmer’s mindset and preparing you for more advanced topics in software development.
Throughout the program, you will explore key aspects of programming such as the software development cycle, Java syntax, and program structure. You’ll learn crucial Object-Oriented (OO) principles, delve into basic programming constructs, and practice string and character manipulation. Although tailored for non-developers, this course is ideal for anyone with a basic understanding of technology and a desire to learn Java programming. We cover the latest Java versions, including Java 21, ensuring you gain relevant skills that apply to both Java 11 and 17.
Our experienced instructors are committed to supporting your learning journey, providing a supportive environment that encourages questions and promotes growth. Whether you aim to become a Java developer or simply want to understand programming fundamentals, this course is your first step towards mastering software development.
Getting Started with Programming, OO, and Java Basics For Non-Developers Course Objectives
- The basic programming constructs that all programming languages share
- Fundamental programming concepts, such as variables, data types, loops, and conditional statements.
- Object-oriented programming principles, including encapsulation, inheritance, and polymorphism.
- How to handle problems that might occur during the execution of a Java application.
- How to use Java libraries and APIs for common tasks, such as file I/O, data manipulation, and networking.
- Implementing exception handling and debugging techniques to ensure robust and reliable code.
- Utilize industry-standard tools and Integrated Development Environments (IDEs) to efficiently write, test, and deploy Java applications.
- Best practices for code organization, documentation, and version control to enhance collaboration and maintainability.
Prerequisites
- Basic computer literacy: Familiarity with computer operating systems, file management, and general navigation to ensure a smooth learning experience.
- Foundational knowledge of IT concepts: Understanding of essential IT terminologies and concepts, such as computer networks, software applications, and data storage.
- Analytical thinking: Ability to analyze problems and think critically to develop logical solutions, fostering a programmer’s mindset.
- Attention to detail: A keen eye for detail, ensuring the ability to spot errors and maintain code quality throughout the learning process.
Audience
In order to be successful in this course you should have incoming hands-on experience with another programming language. This course is not for non-developers or new developers. Possible roles that may attend this course include:
- Technically minded attendees who want or who want to begin the process of becoming an OO application developer
- Technical team members from non-development roles, re-skilling to move into software and application development roles within an organization
- Recent college graduates looking to apply their college experience to programming skills in a professional environment, or perhaps needing to learn the best practices and standards for programming within their new organization
- Technical managers tasked with overseeing programming teams, or development projects, where basic coding knowledge and exposure will be useful in project oversight or communications needs
Getting Started with Programming, OO, and Java Basics For Non-Developers Outline
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
- 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
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
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
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
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
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
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
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
Object-Oriented Programming
- Real-World Objects
- Classes and Objects
- Object Behavior
- Methods and Messages
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
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
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
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 the type of an object reference
- Pattern matching for instanceof
- Safely casting references to a more refined type
Using Arrays
- Declaring an array reference
- Allocating an array
- Initializing the entries in an array
- Writing methods with a variable number of arguments
Records
- Data objects in Java
- Introduce records as a carrier of immutable data
- Defining records
- The Canonical constructor
- Compact constructors
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
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
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
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 the advantage of interfaces over abstract classes
- Explain the advantage of abstract classes over interfaces
- Static, default, and private methods in interfaces
Introduction to Exception Handling
- Introduce the Exception architecture
- Defining try/catch blocks
- Checked vs Unchecked exceptions
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
$2495.00
|
5 Days Course |