0118 - Intermediate Java Programming
Description
Course DetailsDeepen 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. The problems are designed to help you master all of these important principles.
How It WorksThis course is fully online, you require internet access and an email account. The course duration is 6 weeks, followed by a 2-week period to complete the final exam (online, open book). Lessons are released on Wednesdays and Fridays of each week, for a total of 12. You are not required to be online at any specific time. In addition to the specific lesson content, there is a discussion board with each lesson and often there is an optional assignment to apply the learning. Following each lesson, there is a short multiple choice quiz. Your score on these quizzes does not count towards the final mark but completing these helps solidify your learning as well as prepare you for the final exam. The final exam is an open-book, multiple choice exam and you need to achieve a minimum of 65% on the final exam to pass the course. There is only one opportunity to pass the exam. A certificate of completion from WatSPEED is available within four weeks of successful completion of each course and can be accessed in your student portal. Many of the Ed2Go courses are eligible towards the various online certificates offered by WatSPEED.
RequirementsHardware Requirements:
- This course can be taken on either a PC or Mac.
Software Requirements:
- PC: Windows 8 or later.
- Mac: macOS 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 Acrobat Reader.
- Software must be installed and fully operational before the course begins.
Other:
- Email capabilities and access to a personal email account.
Lesson 1 - 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.
Lesson 2 - 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.
Lesson 3 - 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.
Lesson 4 - 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.
Lesson 5 - 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.
Lesson 6 - 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.
Lesson 7 - 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.
Lesson 8 - 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?)
Lesson 9 - 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.
Lesson 10 - Java Collections: Part 1. 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.
Lesson 11 - Java Collections: Part 2. To explore more
of Java's collections, you'll continue working on the program you began earlier. 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.
Lesson 12 - Java Collections: Part 3. 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!