How to teach Java online: 5 tools you will need


Since the whole world was in lockdown it is now important for all educational institutions to move their training online. This might be a good time to take your Java courses online so your students can self-pace their learning. In this article I will discuss with you just how you can do that.

Here are the five tools I would recommend to get you started:

  • Google Classroom
  • Java SE – Downloads | Oracle Technology Network
  • Netbeans IDE
  • GitHub
  • HackerRank

Now you know the five tools I would recommend using let’s look at the steps you would go through to get online in detail.

Steps To Get You Online

The tools do not make sense without a set of steps telling you what you need to support those tools.  Not only will we review the tools above, but we will mention some of their alternatives as well.

Here are the steps you should follow to move your Java course online:

  • Learning Java Yourself
  • Choose a Learning Management System
  • Create, Upload and Organize your Classes
  • Create an Online Code Repository
  • Conduct Live Online Classes
  • Creating Class Assignments
  • Creating Coding Comptetitions
  • Setting Up Java on Your Computer
  • Student Classroom Setup

Learning Java Yourself

If you do not already know Java yourself it can be quite daunting to learn and teach it the first time but know there are heaps of resources online to help you get started.  While you can teach programming and Java without any formal training it may be worthwhile looking at getting your Java certification just to prove to yourself that you have the width and depth of knowledge in general programming and the Java libraries.

From a training point of view there are heaps of free Java training resources online and you can find one you like.  Or alternately I like going to YouTube first and doing a search for “Java Tutorial” and then changing the filter to “Playlist” to get all the videos in the tutorial.

If time is an issue and you don’t want to spend hours searching YouTube for an instructor you like you can go to Udemy and for a small fee you can get a course that is guaranteed quality with a community of people learning Java as well you can talk with.

This is the Udemy course I would recommend:

https://www.udemy.com/course/java-the-complete-java-developer-course/

If you want the offical Oracle training you can go here:

https://education.oracle.com/java/java/pFamily_48

NOTE: The official training can be quite expensive and very few people choose that path to learn on their own.

Then finally there is the certification and note it is not up to date to the latest version of the Java Standard Edition or JavaSE.  The associate level exam is all you would be looking at doing if you chose too.  The exam price is quite high but the pass mark is quite low compared to other vender exams.

Java Certified Associate Exam Information

https://education.oracle.com/oracle-certification-path/product_267#cert-paths-Associate

Choosing a Learning Management System

For the purposes of the rest of this article we will assume you already know how to code in Java.  And all you are trying to do is move your class online.

The first thing you will need if you don’t already have one is a Learning Management System (LMS).  This is where you can post all your course content, put your assignments, and communicate with your students.

The simplest tool you can use as an individual or as a school is Google Classroom.  While it does not yet have the features of the other mainstream LMS it is catching up fast and is used by lots of schools and universities already. 

That is links to the rest of the Google tools and that most students already have a google account with their phone means it is an easy choice.

Alternatives of Google Classroom

You can use any powerful LMS tool to manage your course online, if you are familiar with them. Some popular and good alternatives are:

Each one comes with its pros and cons and there are many others you could use as well. If you already have another LMS or you prefer another LMS than that will be fine to use as well.  They all have very similar functions these days although there are more plugins with the ones above then with Google Classroom.

Still, we recommend you start with Google Classroom. Because a lot of Google products like Google Drive, Google Docs, Google Keep are already integrated with Google Classroom. And due to recent competition due to COVID-19 lockdown, Google Classroom and Google Meets have pushed certain updates and made some features free.

Create, Upload and Organize your Classes

After you have chosen your preferred LMS you will have to create a class. Then you can upload and organize your content.  Here is how you can do that in Google Classroom.

Google Classroom Setup

  1. Create a new class
    1. Go to Google Classroom
    2. Click the + icon
    3. Click Create new class 
      1. NOTE : Google Classroom requires your institution to be signed up for their G Suite for Education. However, you can create 20 classes from your individual Google Account
  1. Upload Your Course Material
    1. Use the Classworks page to create topics
    2. Upload your files for the course
  2. Create Assignments
    1. You can upload your Assignments for students here and both theory and practical coding.  You can let the students see them straight away or schedule them for later release.
    2. If you are using any other LMS you can install the Google Assignments plug-in to your LMS for similar features.
    3. (Optional) If you want students to get a better understanding of what it is like to code professionally. You can get them to submit and manage their code in a code repository like GitHub instead of java files uploaded to Google Classroom. We will discuss the later in the article.
  1. Tests (Discussed Later in Detail)
    1. The theory-based exams can be taken through Google Classroom.
    2. For tests to examine coding skills you can create a programming contest on another website for them. (Discussed Later)
  2. Grading
    1. Google Classroom offers grading standards like Rubrics, SIS and more.
    2. Create a Grade Sheet which you can download after all students’ complete assignments and exams for a class overview.  This can be filed digitally outside of Goggle Classroom for your permanent records.
  3. Communicate
    1. Easily communicate with students through the Google Class Stream.
    2. Send Announcements in Stream and Students will be notified via email.

Create an Online Code Repository (Optional)

Most of your assignments when teaching Java online will be written in code and the perfect place for managing that code is Code repository.  This is what students will use when they do work professionally and so it a great real-world skill for them to develop. 

Any theory-based assignments like Technical Requirements, User Requirements and System Requirements documents and project management can be handled through Google Classroom.

Code Repositories like GitHub allow you to keep each version of your code as you develop and give the student the ability to check in and check out their code as well as rolling back to previous versions. 

They also let you work on the code in teams and branch code development as well as version the code.  It is ok if some of this does not make sense to you yet as the intro video below will discuss some of these things.

It is not difficult for them to do and it is something they will do when they do any further study at University or do work for customers professionally if they develop their coding skills on their own. 

It does however add a layer of complexity if you are in K-12 that you may not wish to add.  I would use them if I were at the College or University level though.

GitHub has an Education portal that can provide you with Teacher and Student tools to get you started here:

https://education.github.com/

For an introduction on what a Code Repository is and specifically GitHub watch this video.

Setting up GitHub

The following steps will act as a checklist for you to set up your Code Repository.  Don’t worry through if it seems complicated as there is a video at the end of the steps that will walk you through everything you need to do.

  1. Open a GitHub account
    Both the teacher and the students have to open a GitHub Account.
  2. Install GitHub Desktop on your computer
    1. Install GitHub for Desktop from https://desktop.github.com/
  3. Create a Repository
  4. Invite students to your repository
  5. Make a Class folder.
    1. Add the code you have written during the class. Students can look at it anytime if they need help
  6. Make an Assignments Folder
    1. You’ll take the assignments through this folder.
    2. Students will upload their code here
  7. Make a Projects folder

Pro Tip: Use the email provided by your Institute/University for signing up to Github (e.g. john@mit.edu). This will give you extra features for free as a student.

Assigning Marks through Google Classroom

  1. Automatically assign code testers in GitHub to test code assignments for grades
  2. Create a similar assignment in Google Classroom for each code assignment
  3. Once you review their assignment in GitHub you can transfer the mark to their Google Classroom Assignment based on how well their code worked.

This YouTube tutorial will take you though the above steps to set up and use GitHub and GitHub Desktop.

For beginners, it might seem a little hard to use GitHub. But GitHub is important because almost all software is built using some sort of version control.

Whether you are using Microsoft Teams, GitHub or Sourceforge depending on the company you work for or whether you develop on your own it is essential to keep your code organized.  This is a great learning experience for all students.

Alternatives of GitHub

Some other online repository services that provide similar features you can try are:

  1. GitLab
  2. Bitbucket
  3. SourceForge

While using a code repository is the best choice you can always use Google Drive as an alternative by using folders in the same way.  It does not secure the code or handle multiple users updating the code or do branching or version control, but it is a simple way to get started.

Conduct Live Online Classes

You can use any video conferencing service that provides multiple people to join. If it allows all your students to join at once, you are good to go.  We recommend Google Meet. Google Meet is already integrated with Google Classroom and easy to use.

Alternatives of Google Meet

I personally use WebEx when teaching my classes online as it is the one I know has all the features I need to run online classes.

  • Skype
  • Zoom
  • Cisco Webex

If you want to know more about teaching live online check out this article:

ARTICLE : How to Teach Live Online

Setting up Google Meet

  1. Start a Google Meet meeting to take classes.
    1. If you use your school account, you can directly create a Google Meet link in Google Classroom.
      1. Go to Settings
      2. Under General Settings, there will be a Google Meet option
      3. Click generate link
      4. Make it visible to students when you want to take your classes.
  2. If you are using a personal account, you have to share the code manually.
    1. Go to Google Meet
    2. Click Start a Meeting
    3. Share the Meeting Code as an Announcement in Google Classroom
  3. Screen sharing
    1. Use this feature to share your screen with your students by clicking the presentation button.
  4. Text Chat
    1. Share messages and links with students through the text chat and also look for private messages from students that are to shy to ask it to the whole group.
  5. Recording Meetings
    1. You should record each of your sessions using the Record button for the students to watch again later.
  6. Online Whiteboard
    1. To write something, use Google Jamboard. You can also use AWW App.

Create Class Assignments

We discussed setting up all of your assignments for marking purposes in Google Classroom even if the students are managing their code with a code repository and using Coding Competitions to grade their code itself. 

Then you can take the code marks and put them into the matching Google Assignment for an overall class mark.  The theory-based assignments will all be managed through google classroom.

Setup Assignments

  1. Go to your Class in Google Classroom
  2. Go to Classwork
  3. Click Create
  4. Select Assignment Type
    1. Quiz
    2. Assignments
  5. Add details and questions in the Google form
  6. Publish or Schedule for release later

Creating Code Competitions (Optional)

A programming contest is a set of programming problems which is hosted by online by a website. The website will automatically check programs, finds errors, and scores the participants. 

This saves the teacher from having to judge the technical portion of the code.  It also adds some competition in for the students and increases student engagement.  Secondly, after they finish school they already have a profile with proven hirable skills.

We recommend Hackerrank. It is free, easy to use and extremely popular. https://www.hackerrank.com/products/school

You will need to click the Contact Support button on the link above to create an account.

Creating a Contest in Hakerrank

  1. Create a problem set
  2. Login to your Hackerrank account
  3. Click your profile from the top right corner
  4. Select Administration
  5. Click Create Contest

Note: It will require to verify your phone for the first time

  1. Submit problems
  2. Share the contest to your students
  3. Grade your students according to the scores

Alternatives for Hackerrank

You can use these free online judges to take similar programming contests.

Setting Up Java on Your Computer

To code in Java, your computer needs to install Java Standard Edition Development Kit also known as the Java Development Kit (JDK).  The JDK is the code libraries and code compiler.  You will also need somewhere to code so you will need an Integrated Development Environment (IDE). So lets look at how your students can set these up.

JDK Installation

  1. Go to JDK Download Link
  2.  Download the latest version of Java JDK (Java JDK 14 as of writing this article)
    1. Click JDK Download
    2. Select your operating system and click agree.
  3. Install the JDK by double clicking on the downloaded file and following the prompts
  4. Set Path Environment Variable to the Compiler
    1. Setup the PATH. This process varies depending on your operating system. So follow these YouTube tutorials.

Here’s a quick tutorial to help you download. Whatever the JDK version is, the installation process is almost identical.

  • For Windows
  • For Mac
  • For Linux

Choosing a Coding Environment

An integrated development environment (IDE) is a software application that helps you write code. Both teachers and students need to install one. While you can code in Notepad or Notepad++ a formal IDE will speed up your coding and provide you with autocomplete and better error handling.

Installing NetBeans

  1. Go to NetBeans IDE Download
  2. Download All. (The last option)
  3. Install by double clicking on the downloaded file and following the prompts.

Do not download Apache NetBeans as it is for web development. You will be downloading NetBeans 8.2 at the writing of this article.

Alternatives of NetBeans

While there are heaps of free and paid IDE’s on the market you are better at first sticking with one of the more popular free versions for community support and regular updates.

  1. Eclipse
  2. IntelliJ

You can also use other text editors like:

  1. Sublime
  2. Atom
  3. Notepadd++

You will have to set up a Java Environment to run Java code.

Student Classroom Setup

The steps below will be everything your students need to do to prepare for joining in your Java classroom.

Steps to Prepare for Class

Follow these steps to enroll in the Java Online Class.

  1. Create the following accounts
    1. Google Account
    2. GitHub Account
    3. Hackerrank Account
      Note: Use your student email address for all accounts
  2. Complete the Setting up “Java on You Computer” section above
  3. Join the class through this link provided by the teacher
  4. Share your GitHub username, full name, and email with your teacher
  1. Join Live Classes with links provided by the teacher in your Google Stream
  2. Submit Assignments
    1. Submit code in the GitHub Repository.
      1. Make a folder by your name and registration number (e.g adam2314)
  1. Submit all other assignments in the Google Assignments
  2. Join Programming Contests with links from Google Classroom Steam from Teacher

Note : Your teacher can review your code from the repository as the repository owner.

Teacher Note: GitHub does not allow link sharing to invite collaborators. So the teacher has to invite them through GitHub.

FINAL NOTE: Some instructions might vary if you are using different systems. Both the teacher and the students will get used to the system after a few classes.

Glen Brown

I am a Technical Trainer and Manager with over 20 years experience in IT, Education and Business. I have multiple qualifications on each topic including post graduate qualifications. I have a passion for sharing knowledge and using technology to do this. If you would like to know more about me please see the about page of the website.

Recent Content