
Set up Java on your computer, install tools, publish projects on GitHub, learn object oriented programming, and study data structures, collections framework, and algorithms for junior Java software developer interviews.
In order to write Java programs on our computer, we need to prepare the software development environment on our computer. There are two pieces of software and then some configuration:
Step 1: Install Java Developer Kit (JDK) http://www.oracle.com/technetwork/java/javase/downloads/index.html
Step 1.A – Download JDK
Step 1.B – Install Java
Step 1.C – Configure Environment Variables
Step 2: Install Eclipse IDE
http://www.eclipse.org/downloads/packages/
You can download the Eclipse installer, which will prompt you to download the various version of Eclipse you want. Or you can download the direct Eclipse version from the above link. For the purposes of this course, select the download for “Eclipse IDE for Java EE Developers.”
Eclipse releases its updated products periodically and is named alphabetically with each new release. Choose the latest release or latest minus one.
Then simply follow the prompts to install.
The default directory will be on your home user path with a new folder “eclipse”
Write your Java program in notepad by creating a public class with a main method and printing hello world. Save as helloworld.java and compile to run.
Install and configure Eclipse IDE as your Java IDE by downloading the Eclipse IDE for Java Enterprise Edition, extracting it, creating a workspace, and using the Java perspective.
Create a Java project in Eclipse, organize code in a Basics package, implement a Hello World class with a main method, print Hello World, and run it in the IDE.
Declare and define variables such as string, integer, and double; compute annual salary from rate, hours per week, and weeks per year; print the salary with career context.
Learn how to use the switch block to execute code based on a single variable, with cases and breaks to prevent fall-through, and compare it to if statements.
Learn arrays as ordered data containers, declare and define arrays (such as cities or states), access elements by zero-based indices, set sizes, and print values while avoiding out-of-bounds errors.
learn to compute the fibonacci number using a recursive function fib(n) with base cases fib(0)=0 and fib(1)=1, and see recursion in action, with a factorial lab as a follow-up.
Solve lab one implementing a sum from 1 to n with a for loop, a recursive factorial, and min, max, and average calculations for an array in Java.
Explore object oriented programming in Java by understanding classes and objects with properties, state, and behavior, and the four pillars: abstraction, encapsulation, inheritance, and polymorphism.
Explore the basics of object-oriented programming by modeling a person as a class with name, email, and phone, and using methods like walk and sleep to operate on instances.
Understand how static relates to the class, not the object, with a routing number. Learn how final acts as a constant and how static final combines for methods and properties.
Explore how a class extends a parent object class and inherits its variables and methods, override the to string method, and CD account extends it with interest rate and compound.
Apply encapsulation by privatizing variables and exposing them through public API methods with getters and setters to control access and protect internal state.
Explore interfaces as a contract that outlines methods like set rate and increase rate, implemented by bank accounts and loans to enable reusable architecture.
Explore polymorphism in object-oriented programming through overloading and overriding, showing how the same method name yields different behavior across bank account examples and interfaces.
Create a Java student class with encapsulation and a constructor. Form a user id and email from name and SSN, and enable enroll, pay, balance, and show courses.
Set up Git and GitHub on your computer, install Git Bash, create a free GitHub account, and configure global user name and email for future repositories.
Learn to connect an Eclipse Java project to a GitHub repository by initializing git, adding origin, staging changes, committing, and pushing to GitHub.
Explore how Java exceptions represent errors like division by zero, how they propagate up the call stack, and how to catch them to keep programs running.
Discover how to handle Java exceptions with try-catch blocks, catching divide-by-zero and array index out of bounds errors, and use finally to run code regardless of outcomes.
Create a user defined exception in Java by building a payments app, validating input with a scanner, throwing and catching a negative payment exception, and customizing error messages.
Learn to read data from a file in Java by defining the file path, creating a File and BufferedReader, reading lines, and handling file not found and input output exceptions.
Write data to a file by defining the path, creating the file if needed, writing with a file writer, and closing resources inside a try-catch block.
Read a phone number from a text file, validate a ten-digit format with a nonzero area code and no 911 sequence, and handle errors using custom exceptions.
In this lab, read a passwords.txt file, iterate over each password, and verify it meets criteria—contains a number, a letter, and a special character—using Java.
Explore data structures in java, comparing static arrays with dynamic collections, and learn common java collections: lists, sets, maps, and how to traverse them with generics.
Explore traversing a single array in java by comparing the traditional for loop with an index to the enhanced for loop approach, using length and print examples.
Traverse a double array as a 3 by 4 matrix of users, extracting first name, last name, email, and phone while using length to derive rows and fields.
Explore sets and their unique elements by comparing hash set, linked hash set, and tree set; demonstrate insertion order, natural alphabetical order, and operations like intersection, union, and difference.
Explore maps as key-value pairs in Java, compare HashMap, LinkedHashMap, and TreeMap, and learn to add, access, and iterate elements using the Map interface.
Learn to read and parse a CSV file in Java by buffering and splitting lines on commas, storing rows in a dynamic list of string arrays, and printing the results.
Explore how algorithms enable computers to think like humans, covering linear and binary search, bubble and insertion sort, data structures, and big O notation for efficient problem solving.
Develop and implement a linear search in Java by iterating through an array to locate a target and return its index, or a not found indicator if absent.
Practice bubble sort on an integer array by comparing adjacent elements, swapping with a temp variable, and looping with a do-while that repeats while swaps occur.
Finally, a complete Java software development essentials course that includes real internship opportunities for qualified students!
I not only teach the core topics of Java, but also covers necessary analytical skills like Algorithms and practical skills like reading and handling data from files, and job-specific skills like building a Student database and analyzing the criteria of passwords.
This course was developed by a combination of developers, recruiters, and business managers that together outlined and curated a curriculum based on the hiring needs and requirements in the industry. Designed for individuals looking to kick-start a new career in software development, this course starts at the beginning assuming no previous knowledge in programming.
I focus on keeping the training practical and applicable to a real-world project. While learning the concepts is important, you must demonstrate your knowledge by being able to write programs, analyze what’s happening behind the scenes, and have a working understanding of basic algorithms and computations.
While not created based on Oracle’s certification program, this course will help prepare you for the Programmer Level I Exam to earn the Oracle Certified Associate certificate.