Intermediate Java Programming

Intermediate Java Programming

Deepen your knowledge of Java, and begin writing more sophisticated and professional programs. This course provides hands-on experience building different applications that combine the concepts of sequential data files, data processing, class hierarchy and inheritance, and/or GUI application creation.
6 weeks / 24 Course Hrs
SHARE
  • Details
  • Syllabus
  • Requirements
  • Instructor
  • Reviews

Details

Deepen your understanding of the Java programming language, and start writing programs that are more sophisticated and professional. Learn how to save data permanently on a disk by writing it to a sequential data file. See how to read the file to get the data back and process it. Organize information using multiple classes in Java's class hierarchy and inheritance. Explore some of the hundreds of classes that are built into the Java language. Find out how to create GUI applications in Java using tools like windows, menus, buttons, text boxes, check boxes, scroll bars, and other GUI tools.

Over the duration of this course, you'll build several complete applications that combine these concepts. You'll also use the knowledge you gain to solve programming problems included with the lessons--problems designed to help you master all the principles you learn.

Enrollment Options:
Instructor-Led
6 weeks Access Course Code: njv
Start Dates*Nov 13 | Dec 11 | Jan 15 | Feb 12
*Choose start date in cart
$109.00
Self-Paced
3 Months Access Course Code: T9627
No Instructor, Start Anytime
$115.00

Syllabus

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.

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.

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. Today's lesson shows you how to read and write computer data files using Java. This process takes place many times every day in all kinds of programs, so it's a very useful and important one to understand.

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.

You'll explore Java's GUI tools in today's lesson. Just about every program you use on computers today 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 Mac OS X, among others). You'll learn how to set up a standalone application using Java's GUI tools, including labels, buttons, dialogs, and more.

Today 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 you'll find out how to split windows into smaller areas called panels, which you can 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.

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.

By this time, you'll have spent three lessons learning about different Java GUI programming techniques and tools. Today, 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?)

In this lesson, you'll take what you started in Lesson 8, where you learned how to design and build a GUI interface to order a pizza, and you'll 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.

Most programmers don't write computer programs to deal with individual data items. Usually, they write programs to deal with groups of items. In this lesson, you'll learn all about Java's collection classes, a group of data structures designed to work with many items at once. You'll discover the difference between lists, queues, sets, maps, and other types of collections. You'll explore how to work with a list to load a group of items from a file into a list, and how to display items from the list in a GUI window. Along the way, you'll learn another useful technique in GUI programming: how to use Java's file chooser dialog to select a file to open and process.

To explore more of Java's collections, you'll continue working on the program you began in Lesson 10. You'll find out how to navigate through a list (forward and backward), displaying each list item as you go. You'll also see how to set up a window with multiple display formats, and switch between them by clicking tabs that describe the different views. You'll also learn how to create items that Java can compare, even if Java doesn't know the details of what is in the items. You'll use that capability to build a list and sort its items in a specified sequence. That's a very useful and important capability when you're dealing with large numbers of items.

In the last lesson, you'll delve even deeper into the topic of collections. (You can see that it's a large and important subject!) You'll find out how to use maps, which are Java collections that let you store and retrieve data items quickly based on a unique data element of each item (its key). Think of looking up a telephone number in a large telephone book like New York City's. Finding a single number would be impossible if the data weren't properly organized. You'll see how to use the same type of search to quickly find any data item you need in a collection. And while you're doing that, you'll also learn a bit more about Java's other features, including Java's wrapper class, which is one more important data feature of the Java language that you'll use quite often. By the end of this lesson, you'll be amazed at what you're able to do with Java!

Requirements

  • Adobe Flash Player. Click here to download the Flash Player.
  • Adobe Acrobat Reader. Click here to download the Acrobat Reader.
  • Email capabilities and access to a personal email account.

Requirements:

Hardware Requirements: 

  • This course can be taken on either a PC or Mac.

Software Requirements: 

  • PC: Windows XP or later.
  • Mac: OS X Snow Leopard 10.6 or later.
  • Linux can also be used.
  • Browser: The latest version of Google Chrome or Mozilla Firefox are preferred. Microsoft Edge and Safari are also compatible.
  • Java SE (Standard Edition) Development Kit (JDK) Version 5 or later, from Sun Microsystems.
  • Adobe Flash Player. Click here to download the Flash Player.
  • Adobe Acrobat Reader. Click here to download the Acrobat Reader.
  • Software must be installed and fully operational before the course begins.

Other:

  • Email capabilities and access to a personal email account.

Prerequisites:

Completion of Introduction to Java Programming (or equivalent experience).

Instructional Material Requirements:

The instructional materials required for this course are included in enrollment and will be available online.

Instructor

Michael Hall is a software engineer with more than 12 years of experience in consumer and marketplace startups. Over the course of his career, he has led teams of engineers building apps that support tens of millions of users. He holds a Master of Science degree in Computer Science from UCLA.

Reviews

The writing style in this course was excellent. It flowed well and was very easy to understand. There was just enough information given...well done.

I felt that the lessons were well written and well organized. The instructor had the ability to break a concept down to a level that could be understood by anyone. His explanations were clear and detailed…I'm so glad that this teacher exists, for it is very rare to find a computer science teacher like this one.

Great way to get introduced to Java! Merill does a great job of answering everyone's questions, which is important.

Excellent course and the knowledge that I have acquired from the course will really benefit me on future projects that I will be developing. The instructor is excellent!

I really enjoyed this class. Since I have an unusual schedule, this style of learning is very good for me. I would take another class in this same subject matter if it was offered. This is the second class I have taken with the same instructor and he always responds to my questions.