A new session of each course opens each month, allowing you to enroll whenever your busy schedule permits!
How does it work? Once a session starts, two lessons will be released each week, for the six-week duration of your course. You will have access to all previously released lessons until the course ends.
Keep in mind that the interactive discussion area for each lesson automatically closes 2 weeks after each lesson is released, so you’re encouraged to complete each lesson within two weeks of its release.
The Final Exam will be released on the same day as the last lesson. Once the Final Exam has been released, you will have 2 weeks plus 10 days to complete the Final and finish any remaining lessons in your course. No further extensions can be provided beyond these 10 days.
Lesson 01 - Introducing Java
Java is one of the most widely used programming languages in the world, on machines from microprocessors in DVRs and microwaves to supercomputers. This lesson will introduce you to computer programming in general and to Java in particular. I'll get you set up with the downloads and installations you'll need for the rest of the course, and I'll walk you through the process of editing, compiling, and running computer programs written in Java.
Lesson 02 - Writing Your First Java Program
Now that you have the software downloaded and installed, you're ready to start programming! Today you'll write your first Java program. Along the way, you'll learn to create projects and classes in BlueJ. You'll use the editor to enter your program, and you'll find out more about how to compile it and run it. We'll also look at some of the basics of Java syntax (or form), some of its naming conventions, and its basic data types.
Lesson 03 - Working With Java's Primitive Data Types
This lesson is about Java's primitive data types—the building blocks you need to use before you can build more complex types. I'll show you how to use them in some simple programs, and we'll look at how they relate to each other. Beyond that, we'll look at how to use a few of the classes in the Java libraries.
Lesson 04 - Working With Objects
This lesson introduces classes and objects. We'll revisit the HelloWorld application and rewrite it in Java's OOP (object-oriented programming) structure. While we're doing that, we'll look at how to declare classes, objects, attributes, and methods to Java.
Lesson 05 - Creating a Program That Makes Calculations
Today we'll go over how to declare our data variables to Java and how to use variables in arithmetic expressions to calculate new results. We'll also talk about data input, which means getting information into our programs from an outside source. Then we'll write a program that incorporates all these features.
Lesson 06 - Computer Logic: Writing Programs That Make Decisions
Making decisions is one of the most important and powerful things a computer language can do. Without decision-making, computers would be big, bulky calculators. We're going to look at the decision-making process in detail and see how Java does it. When you're done with this lesson, you'll know how to write Java programs that make decisions based on the principles of computer logic.
Lesson 07 - Writing Programs With Loops
In this lesson, you'll learn to repeat actions using a control structure called a loop. Loops in Java involve decisions, just as branches do. But in a loop structure, if the condition is met, the branch is backward instead of forward, allowing us to repeat actions. We'll also finish our temperature program.
Lesson 08 - Fixing Errors in Java
Today we'll discuss how Java generates exceptions and how we can prevent them from crashing our programs. We'll also look class methods and how to call them without creating any objects. Last, you'll find out about a debugger, which lets us look at what's going on inside our program as it runs.
Lesson 09 - Three Tools: Debugger, Enumeration, and Switch
This lesson is a grab bag of tools and topics. BlueJ's debugger lets you watch your program's internal actions as it runs. Enumeration lets you set up new data types with built-in limits on their values. Finally, Java's switch structure lets you replace a series of nested if statements with a single value-based structure. You'll find all these items useful in future programming!
Lesson 10 - Formatting Output and the Java Application Program Interface
How can you make numbers and other output look the way you want them to in Java? In today's lesson, I'll show you. We'll also look at Java's application program interface(API). That's the documentation of all the classes that Java includes when you install the JDK, plus explanations of how to use them. The interface has several thousand classes, and it's important to know how to find things within it.
Lesson 11 - Creating Windows and Adding Graphics in Java
So far in this course, everything has been text-based. Today I'll introduce you to the world of Java windows, and we'll begin to look at GUI (graphical user interface) programming in Java. We'll look at the basic components of a Java window and then add some simple graphics to it.
Lesson 12 - Java 2-D Animation
In our final lesson together, we'll continue our short exploration of Java 2-D graphics with a look at some simple animation. We'll use the same technique cartoonists have used for a hundred years now: redrawing an image in a slightly different location and repeating that process many times a second so the image appears to move. You'll learn to create a self-contained object that "knows" its own size, color, shape, location, and how to draw itself into our window. This is a fun lesson.