This self-paced hands-on Java programming course provides an introduction to programming using the Java language. Students are introduced to the application development cycle, structure of programs, and specific language syntax. The course introduces important algorithmic constructs, string and character manipulation, dynamic memory allocation, standard I/O, and fundamental object-oriented programming concepts. The course explains the use of inheritance and polymorphism early on so the students can practice extensively in the hands-on projects.



Learning Objectives

In this course, you will learn:

  • Fundamental elements of programming
  • Interactive Development Environment (IDE) concepts
  • Classes, objects and methods
  • Declaring and instantiating a Java object
  • Using conditional and looping constructs
  • Declaring and instantiating arrays
  • Using and creating interfaces
  • Defining classes using inheritance



Topics and Subtopics

Here is the course outline:


1- Fundamentals of the Program Development Cycle

  • Computer Architecture
  • The Notion of Algorithms
  • Source Code vs. Machine Code
  • Compile-Time vs. Run-Time
  • Software Program Architecture
  • Standalone
  • Client/Server
  • Distributed
  • Web-Enabled
  • IDE (Interactive Development Environment) Concepts

2- Application Development Fundamentals

  • Structure of a Java Program
  • Memory Concepts
  • Fundamental Data Type Declarations
  • Fundamental I/O Concepts
  • Fundamental Operators
  • Arithmetic Operators
  • Logical Operators
  • Precedence and Associativity
  • Building and Deploying a Java Program

3- Introduction to Classes and Objects

  • Classes, Objects and Methods
  • Object Instances
  • Declaring and Instantiating a Java Object
  • Declaring Methods
  • set and get Methods
  • Initiating Objects with Constructors
  • Primitive Types vs. Reference Types

4- Flow Control

  • Conditional Constructs
  • Looping Constructs
  • Counter-Controlled Repetition
  • Sentinel-Controlled Repetition
  • Nested Control Constructs
  • break and continue Statements
  • Structured Programming Best Practices

5- Writing Methods (Functions)

  • Static vs. Dynamic Allocation
  • Declaring Methods
  • Declaring Methods with Multiple Parameters
  • Method-Call Stack
  • Scope of Declarations
  • Argument Promotion and Casting
  • Designing Methods for Reusability
  • Method Overloading

6- Arrays

  • Purpose of Arrays
  • Declaring and Instantiating Arrays
  • Passing Arrays to Methods
  • Multidimensional Arrays
  • Variable-Length Argument Lists
  • Using Command-Line Arguments
  • Using Environment Variables

7- Deeper Into Classes and Objects

  • Controlling Access to Class Members
  • Referencing the Current Object Using this
  • Overloading Constructors
  • Default and No-Argument Constructors
  • Composition of Classes
  • Garbage Collection and Destructors
  • The finalize Method
  • Static Class Members

8- Defining Classes Using Inheritance

  • Superclasses and Subclasses
  • Advantages of Using Inheritance
  • protected Class Members
  • Constructors in Subclasses

9- Increasing Convenience by Using Polymorphism

  • Purpose of Polymorphic Behavior
  • The Concept of a Signature
  • Abstract Classes and Methods
  • final Methods and Classes
  • Purpose of Interfaces
  • Using and Creating Interfaces
  • Common Interfaces of the Java API

10- Files and Streams

  • Concept of a Stream
  • Class File
  • Sequential Access
  • Object Serialization to/from Sequential Access Files
  • Additional java.io Classes



Requirements

None.



Related Courses



Complete Training Bundle

If you are serious about becoming a pro software engineer, you should enroll in our Complete Training Bundle for Software Engineers class, This bundle covers all essential and practical topics related to software design and development. For $290 monthly subscription, you can have access to 300+ hours of hands-on project-based training covering all courses related to software development like Python, Java, Kotlin, C/C++ Go and more. Click here to learn more.



Private Tutoring Classes

To take skills you learn from this course to the next level, taking the following tutoring classes are highly recommended. It is also a great opportunity to discuss your questions and problems related to this course with an experienced instructor:



What Is Next?

After finishing this course, you can enroll in any of following classes:



Recommended Free Courses

If you are new to the IT or programming, we suggest the following free courses:

Select a pricing plan and sign up

Course Curriculum

  Course contents
Available in days
days after you enroll
  1- Fundamentals of the Program Development Cycle
Available in days
days after you enroll
  2- Application Development Fundamentals
Available in days
days after you enroll
  3- Introduction to Classes and Objects
Available in days
days after you enroll
  4- Flow Control
Available in days
days after you enroll
  5- Writing Methods (Functions)
Available in days
days after you enroll
  6- Arrays
Available in days
days after you enroll
  7- Deeper Into Classes and Objects
Available in days
days after you enroll
  8- Defining Classes Using Inheritance
Available in days
days after you enroll
  9- Increasing Convenience by Using Polymorphism
Available in days
days after you enroll
  10- Files and Streams
Available in days
days after you enroll
Jim Sullivan- senior blockchain instructor

Jim Sullivan- MS, MBA and IBM Master Instructor


Jim is a senior blockchain consultant and developer at DC Web Makers. He has a Bachelor’s Degree in Electrical Engineering and a Master’s Degree in Computer Science along with an MBA. He has been a practicing software engineer for 20 years. Currently, at DC Web Makers, he leads an expert team in Blockchain development, DevOps, Cloud, application development, and the SAFe Agile methodology. He is an IBM Master Instructor. He is a Blockchain professional, and a MultiChain partner. He is also an expert in HyperLedger, Ethereum, Corda, and is architecting and developing Blockchain-based web products. He has also taught blockchain courses for companies such as O’Reilly Media. His other skills are as follows:

  • Amazon Web Services (AWS) partner, and administrator.
  • Multichain, Corda, Hyperledger Blockchain partner.
  • HealthCare Blockchain Certified
  • Certified Scaled Agile Program Consultant (SAFe SPC): Certified by the Scaled Agile Institute.
  • Certified SAFe DevOps
  • Perl Developer, Java developer, Java web developer, and .NET developer
  • Front-end web development with HTML, HTML5, CSS3 and JavaScript
  • Node.JS, PHP, Oracle and MySQL development and administration.
  • WebSphere, Tomcat, Wicket, JBoss developer.
  • Certified Scrum Master: Certified by the Scrum Alliance and Certified Scrum Professional: Certified by the Scrum Alliance.
  • ALM Disciplines: Requirements, Change Management, Development, and Quality.
  • Certified Tool Expertise: UrbanCode, IBM Team Concert, DOORS Next Gen, IBM Quality Manager, ClearCase, ClearQuest, Jira, Rally, SVN, Maven, Hudson/Jenkins, Guacamole, UrbanCode, Chef, Puppet.
  • Certified VMWare Technical Professional.
  • Linux and Windows Administration


Choose a Pricing Option