Introduction and Java Review
Now that you've done some Java programming, you may be wondering, "What's next?" In this first lesson, you'll get a taste of what you'll learn before the course is over. You'll first do a short review of the Java skills you should already have—this will get your wheels turning if you haven't worked with Java in a while! You'll also find out about a few different development environments you can use to create and run your own Java programs.
Arrays, Loops, and Using Multiple Classes
The array is one of the most commonly used data structures in any programming language. This lesson will go over how arrays work, including their internal structure. You'll find out how to create arrays, how to store and access data in them, and how to process them efficiently using loops. Along the way, you'll also learn the difference between a class that's a complete program and one that isn't. You'll see how to write classes that use other classes in their processing, which is helpful when you're working with a lot of information.
File Input and Output
Computers can do an incredible amount of work, but it's often all for nothing if you can't save the results after the program finishes. That's where data files come into play. This lesson shows you how to read and write computer data files using Java. That process takes place many times every day in all kinds of programs, so it's a very useful and important one to understand.
Inheritance and Class Hierarchies
Have you ever wondered exactly what the big deal is about object-oriented programming (OOP)? Why does is matter whether a language is object-oriented or not? In this lesson, you'll look at exactly what object orientation means to Java through the topic of inheritance. One of the primary features of an OOP language is how its classes inherit features from other classes in the class hierarchy. You'll find out how Java's class hierarchy is organized, and you'll learn how to use the different types of classes (interfaces, abstract classes, and concrete classes) to your advantage.
Standalone GUI Applications
You'll explore Java's GUI tools in this lesson. Nearly every modern program has a graphical user interface, or GUI. That just means the program appears in a window with menus, icons, buttons, and so on. Java has hundreds of GUI tools that you can use to build your own applications to run in any windowed operating system that supports Java (Windows, Linux, and macOS, among others). You'll learn how to set up a standalone application using Java's GUI tools, including labels, buttons, dialogs, and more.
Layouts and Multiple GUI Components
In this lesson, you'll continue learning about Java's GUI capabilities. You'll explore several ways that Java can organize multiple GUI components in a window and find out how to split windows into smaller areas called panels, which you can then organize in different ways. You'll see how to set up Java's scroll bars in a window or part of a window so that users can scroll up, down, left, and right through the display.
GUI Menus
What do almost all modern-day programs have in common? They have menus. Menus are probably the best-known and most widely used GUI programming feature. In this lesson, you'll learn how to create menus using Java's menu bar, menu, and menu item components. You'll be able to create as many menus in an application as you need, each with all the menu items and submenus necessary to perform the task you're programming.
A Working GUI Application: Part 1
By this time, you'll have spent three lessons learning about different Java GUI programming techniques and tools. In this lesson, you'll learn how to put the pieces together into a complete, reasonably complex Java application. You'll see how to combine menu options, graphics, check boxes, radio buttons, and text entry fields into a windowed program that can actually perform a useful task: It allows someone to order a pizza! (How much more useful can it get?)
A Working GUI Application: Part 2
In this lesson, you'll take what you started before, where you learned how to design and build a GUI interface to order a pizza, and make it functional. You already have all the GUI components displayed nicely in the window, so now you'll learn how to make your program gather all the data from the different components in the window, and then put that information together into a useful pizza order. (Unfortunately, it won't actually deliver the pizza, though.) You'll get an idea of what you can create with Java's GUI capabilities.
Java Collections: Part 1
Most programmers don't write computer programs to deal with individual da