Course Code: jab
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.
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.
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.
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.
This lesson covers how to declare data variables to Java and how to use variables in arithmetic expressions to calculate new results. 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.
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.
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.
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.
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!
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.
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.
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.
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.
There are no prerequisites to take this course.
The instructional materials required for this course are included in enrollment and will be available online.
Instructor-Led: A new session of each course begins each month. Please refer to the session start dates for scheduling.
Self-Paced: You can start this course at any time your schedule permits.
Instructor-Led: Once a session starts, two lessons will be released each week, for the 6 week duration of your course. You will have access to all previously released lessons until the course ends.
Self-Paced: You have three-month access to the course. After enrolling, you can learn and complete the course at your own pace, within the allotted access period.
Instructor-Led: 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.
Self-Paced: There is no time limit to complete each lesson, other than completing all lessons before your three-month access.
Instructor-Led: 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.
Self-Paced: Because this course is self-paced, no extensions will be granted after the start of your enrollment.
I loved this course! It got me ready for another JAVA Intro course at a local college. The instructor did a fine job!"
I thought that this course was extremely helpful. I was able to learn a little bit of Java to better understand what the developers in my company are doing."
The instructor was incredibly responsive. I actually liked the course. I think it was useful. The lessons were quite good."
The material was very well organized and the material was readable and easy to follow. I learned a lot."
This course was just the perfect fit for me. Challenging enough yet not so challenging that it took all of the limited time I had to apply to the course. The instructor did an excellent job in providing just enough of a foundation for anyone enrolled in the class."
This was a fabulous experience! I can't wait to take another course!"
This was a great class. I really like that you copied and ran many, many programs giving feedback and assisting students in resolving issues. The class was much more interactive than I had thought it would be. I learned not only from my own questions, but also from reading about problems other students had and from the replies by both students and teacher. Thanks for content and instructions that were well-written and easy to follow. Everything I needed to know for the class was explained in the chapters. The suggested resource books were helpful. Fortunately the local city library system has several of them. Thank you!"
This was truely a course for the 'absolute beginner'. Although I'm sure that programmers would find the course too easy, it was just what I was looking for to ease me into the world of Java. I'm a full time working mother so this course provided just the right amount of challenge and demanded no more than the time I can manage to squeeze out of my week. Plus - it was fun! As a tech writer, I know how difficult it is to write about complex ideas for the 'absolute beginner'. Well done!"
Unlike past Java courses, I was able to understand and relate to the material that was taught. The way the instructor explained each word, what it meant, and what it did, helped me more than anything I have read or been taught. It was a wonderful course and I would take more classes from this instructor!!"
I just want to say that I am so impressed by the quality of this course and I would highly recommend it to anyone who needs to upgrade their skills and wants a good start into the Java world. The course materials and suggested additional materials for each chapter are excellent. I am an experienced pl/sql Oracle Database person who really needs Java to remain technically current. I am also impressed by the amount of time you have dedicated to each of us in our assignments. Thank you."