Home » Online Classes

Online Classes

Java Language course 52 hours.

  • One hour per week for one year
  • Two hours per week for six months
  • Three hours per week for four months
    • Three days in one week, one hour per day
    • Two days in one week for one and a half hours per day

I will try to get more than one person in one class. But it may be a one on one class.

I will introduce, lecture on and touch on the following software engineering concepts as I teach the language. I will not test you on this or give homework related to any of this. But by the end you will know where to go with your further studies.

  • Best tools, editors and integrated development environments
  • Coding conventions, principles, style
  • Object Design patterns, making software and methodologies
  • Debugging, Logging, Testing, Troubleshooting and Code Repositories
  • Desktop Graphical and Terminal Interfaces
  • Some Examples using Wen Apps or Phone Apps
  • I explain how to make distribution files
  • And how to publish a Java Game on Steam
  • UML Diagramming, Documenting
  • Big O and Algorithm Efficiency
  • Data Structures and Java Collections
  • File IO and Client Server Network IO
  • HTML, XML,  JSON, CSS
  • Windows Shell and Linux Shell commands and Scripting
  • Package Managers and build tools
  • And more…

Free hour or two to get you setup with Java SDK, tools and editors. I order the class content based on a natural progression so that not only are you learning prerequisites but also seeing some good application examples early on for interesting or useful purposes. Some things below I teach you and test on some of the things towards the end of the class I am only telling you about, and demonstrating. Though I will have some exams about those topics as well. InteliJ Idea is one IDE I suggest you go ahead and buy, it’s around $15/mo USD and it’s well worth the money. I even buy WebStorm for web sites. Android Studio is free for android and is best to use, though you can make android apps in any IDE, they tend to lag behind in features.

Hour 1.  Applets/Console/Simple Desktop apps, whats the difference. Intro to VSC Code editor.
Hour 2.  Language basics such expressions and operators and primitives
Hour 3.  Java objects and Object Oriented Programming concepts.
Hour 4.  Java exception or error handling in brief. Generics in brief. Lambda in brief. Just so you can recognize in code. Also Java comments.
Hour 5.  Basics of some of the core API such as Java Lang and Java Math.
Hour 6.  Graphics, Images, Sound, Simple Animation and more.
Hour 7.  Data Formatting with Numbers and Dates or Times. Using C style formatting.
Hour 8.  Working with coding tools
Hour 9.  More tool setup intro to paste bin, and git repository, editor plugins. What are git alternatives SVN (CVS RCS)
Hour 10. Working with Arrays One D Array of Planet names Listing in UI with images. Using Applets, what are applets and webstart sandbox apps.
Hour 11. Working with Arrays Types of Arrays and how they are used.
Hour 12. Working with Matrix Rotation using 2D array.
Hour 13  Input with Scanner class, Input with TextArea in GUI, All programs, functions, objects do one thing more or less Input/Process/Output
Hour 14  Flow Control, Decisions and Operators. If Else Switch Case, Random Numbers

Hour 15  Flow Control, Loops, Iterators and ForEach methods For For(Each) While, Do While, ForEach() next() hasNext()
Hour 16  Flow Control, Branching (no GOTO is evil). Break, Continue, Label, Return. Sequence and Activity diagrams
Hour 17  Flow Control Static initializer blocks. Before load object, before constructor run, within methods
Hour 18  Return to Arrays 3D arrays. ArrayList collection.
Hour 19  Several weeks on files. Reading and Writing text files line by line and using Scanner.
Hour 20  Working with Delimited files and CSV files
Hour 21  Working with Fixed Width Data files and how to import/export from spreadsheet.
Hour 22  Working with binary and Random Access Files. Reading and writing property files.
Hour 23  The “Exam” application while demonstrating more OOP design and breaking down and modeling the problem. Will use console with menu and scanner for input.
Is A, Like A, Has A relationship. Code by contract.
Hour 24  Continue to get application to simplest working state storing questions in a file and reading questions from a file.
Hour 25  Building on the Exam app will store multiple questions and give exam. Work Interfaces and Abstract classes into design.
Hour 25  Java Error handling. Exceptions, Runtime Exceptions, Custom Exceptions, Errors, Catching, Finally.
Hour 26  Java Anonymous inner classes. Inner Classes
Hour 27 Java Threads and Multi Threading. Concurrency
Hour 28 Java persistence reading and writing object files.
Hour 29 Java persistence reading and writing JSON files.
Hour 30 Writing to H2 Database JDBC and SQL
Hour 31 Writing to SQLite database
Hour 32 Java Generics, How to make your own generic collection. Overview
Hour 33 Java SDK tools intro.
Hour 34 Java compiler, and java virtual machine.
Hour 35 Java Jar tool, makes zip, jar and war files
Hour 36 Javadoc tool, makes Java Documenatation
Hour 37 About Javap, jshell and other tools.
Hour 38 ClassPath and JavaHome
Hour 39 Ant Build tool
Hour 40 Maven and Gradle Build tools
Hour 41 Tomcat web server, HTML (Dynamic HTML, XHTML), CSS, JavaScript, TypeScript
Hour 42 XML, JSP and a demo website
Hour 43 Demo Servlet that does CRUD on H2 database.
Hour 44 Intro to InteliJ Idea IDE
Hour 45 Demo Spring Boot website using Spring Hibernate and H2 with Thymeleaf templates
Hour 46 What is Angular, React and VUE? What is bootstrap css framework. Talk on cloud services, Amazon, UpCloud, Azure, Google Cloud Platform.
Hour 47 Java GUI Desktop using AWT, Swing, SWT, Java GUI using JavaFX with Gluon Scene Builder
Hour 48 How to make installer files for Windows, Linux and Mac.
Hour 49 How to publish your game on Steam.com (Synopsis)
Hour 50 Intro to Android Studio, Android with Java or Kotlin?
Hour 51 Example Android app demonstration and making the apk distro file
Hour 52 How to put Android app on play store. (Synopsis)