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.
Week One
Lesson 01 - Introducing Java
Wednesday
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. First, you will be set up with the downloads and installations you will need for the rest of the course. Then, you will explore the process of editing, compiling, and running computer programs written in Java.
Lesson 02 - Writing Your First Java Program
Friday
Now that you have the software downloaded and installed, you're ready to start programming! It's time to write your first Java program. Along the way, you will learn to create projects and classes in BlueJ. You will use the editor to enter your program, and you will find out more about how to compile it and run it.
Week Two
Lesson 03 - Working With Java's Primitive Data Types
Wednesday
This lesson is about Java's primitive data types—the building blocks you need to use before you can build more complex types. First, you will learn how to use them in some simple programs and how they relate to each other. Beyond that, you will explore how to use these classes in the Java libraries.
Lesson 04 - Working With Objects
Friday
This lesson introduces classes and objects. You will revisit the HelloWorld application and rewrite it in Java's OOP (object-oriented programming) structure. While doing that, you will look at how to declare classes, objects, attributes, and methods to Java.
Week Three
Lesson 05 - Creating a Program That Makes Calculations
Wednesday
This lesson covers how to declare data variables in Java and how to use variables in arithmetic expressions. You will learn about data input, which means getting information into programs from an outside source. Then you will write a program that incorporates all these features.
Lesson 06 - Computer Logic: Writing Programs That Make Decisions
Friday
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. This lesson explores the decision-making process in detail and see how Java does it. When you're done with this lesson, you will know how to write Java programs that make decisions based on the principles of computer logic.
Week Four
Lesson 07 - Writing Programs With Loops
Wednesday
In this lesson, you will 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.
Lesson 08 - Fixing Errors in Java
Friday
This lesson focuses on how Java generates exceptions and how to prevent them from crashing your programs. You will learn about class methods and how to call them without creating any objects. Last, you will find out about a debugger, which lets you look at what's going on inside the program as it runs.
Week Five
Lesson 09 - Three Tools: Debugger, Enumeration, and Switch
Wednesday
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 will find all these items useful in future programming!
Lesson 10 - Formatting Output and the Java Application Program Interface
Friday
How can you make numbers and other output look the way you want them to in Java? This lesson looks 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.
Week Six
Lesson 11 - Creating Windows and Adding Graphics in Java
Wednesday
So far in this course, everything has been text-based. This lesson will introduce you to the world of Java windows, and you will look at GUI (graphical user interface) programming in Java. You will also learn about the basic components of a Java window and then add some simple graphics to it.
Lesson 12 - Java 2-D Animation
Friday
In your final lesson, you will continue exploring Java 2-D graphics with a look at some simple animation. You will 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 will learn to create a self-contained object that "knows" its own size, color, shape, location, and how to draw itself into the window.